Господа, такая проблема:
есть у меня несколько табов с контролами, которые привязываюцца к одной и той-же таблице в одном и том-же датасете.
Задачка — дисэйблить контрол, если поле к которому он привязан не DBNull.
Пишу так:
txtName.DataBindings.Clear();
...
txtName.DataBindings.Add("Text",ds.T_SOMETABLE,"SOMETABLE_NAME");
Дальше в классе-наследнике от TextBox:
private void OnBindingsChanged(object sender,CollectionChangeEventArgs e)
{
Binding b = DataBindings["Text"];
if(b!=null)
{
BindingMemberInfo bi = b.BindingMemberInfo;
if(b.BindingManagerBase!=null)
{
...
}
}
}
Так вот, проблема в том, что я В НЕКОТОРЫХ СЛУЧАЯХ получаю b.BindingManagerBase==null
При всем при том MSDN приводит такой вот пример:
private void PrintPositions()
{
foreach(Control c in this.Controls)
{
foreach(Binding xBinding in c.DataBindings)
{
Console.WriteLine
(c.ToString() + "\t Position: " +
xBinding.BindingManagerBase.Position);
}
}
}
НЕКОТОРОСТЬ установить не удалось, учитывая то, что контролы на разных табах инициализируются друг за другом совершенно одинаково, и никак друг с другом не связаны, но опять-таки, в одном случае не null,в другом — null.
Бубен сегодня к сожалению оставил дома, а до завтра не терпит
21.07.04 17:56: Перенесено модератором из '.NET' — AndrewVK