Когда форма контроля выигрыша привязана к данным? - PullRequest
1 голос
/ 31 мая 2011

У меня есть куча элементов управления на вкладке в форме окна.Некоторые элементы управления привязаны к данным.Я пытаюсь получить доступ к значениям элементов управления, но некоторые из элементов управления, кажется, не имеют значений, пока я физически не перейду к форме, которая имеет элемент управления.Когда данные управления связаны?Должны ли они отображаться первыми, прежде чем значения будут установлены?

Ответы [ 2 ]

1 голос
/ 31 мая 2011

У меня была точно такая же проблема, всякий раз, когда я хотел прочитать значение по умолчанию в выпадающем списке из неэкранированных вкладок, возвращалось значение NULL, и я обнаруживал, что данные и события происходят после контрольного шоу, и то, что я делал, писал эту функцию

protected virtual void SetComboData(System.Windows.Forms.Control parentCtrl, DataRow r)
{
    foreach (System.Windows.Forms.Control ctrl in parentCtrl.Controls)
    {
        if (ctrl is ComboBox)
            if ((ctrl as ComboBox).DataBindings.Count != 0)
                (ctrl as ComboBox).SelectedValue = r[(ctrl as ComboBox).DataBindings[0].BindingMemberInfo.BindingMember];
        if (ctrl is TextBox)
            if ((ctrl as TextBox).DataBindings.Count != 0)
                (ctrl as TextBox).Text = r[(ctrl as TextBox).DataBindings[0].BindingMemberInfo.BindingMember].ToString();
        SetLecData(ctrl, r);
    }
}

ия вызывал функцию перед сохранением набора данных

 SetComboData(tabControl1, MyDataSet.Table["MyTable"]);//for tabcontrol
0 голосов
/ 03 июня 2011

Это потому, что элемент управления вкладкой не «инициализируется», пока не будет выбран. Обходной путь для этого заключается в создании подкласса tabcontrol и "инициализации" вкладок при каждом добавлении. См. Работает ли привязка данных к невидимому элементу управления? для получения более подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...