Привязка данных Windows Forms CheckedListBox - PullRequest
0 голосов
/ 16 июня 2011

У меня есть опыт работы с ASP, но совершенно новый для WinForms.Я пытаюсь сделать следующее: у меня есть CheckedListBox в Form1, который связан с источником привязки, который связан с базой данных SQL.У меня есть другая форма (Form2), которая появляется после нажатия кнопки «Добавить», и затем они могут добавить запись.Я хотел бы, чтобы они добавили запись в форму 2, а также обновил CheckedListBox в форме Form1.Я пробовал свойства DataSource и DisplayMember, но, похоже, это не сработало.Может кто-нибудь направить меня в правильном направлении?

Если кто-нибудь знает лучший способ сделать это, у меня тоже все уши.Спасибо.

Ответы [ 3 ]

0 голосов
/ 16 июня 2011

Взгляните на предыдущее ответное сообщение .

Я приказал человеку вызвать вторую форму с параметром из первой ... Тогда вторая форма может использовать ее напрямую.Вы можете сделать это, передав саму первую форму и заставить ее делать почти все ... но в ее простейшей форме вы можете сохранить форму.Затем нажмите / добавьте / сохраните / что-нибудь во второй форме, обратитесь к первой форме и установите ее напрямую (или косвенно через средство получения / установки открытого свойства).

0 голосов
/ 17 июня 2011

Я разобрался с ответом на мой вопрос. Я обработал все в форме. Я создал метод refreshData, и когда я щелкнул значок, чтобы открыть форму form2, я подождал, пока результат диалога формы2 будет в порядке, а затем вызвал метод refreshData. Надеюсь, это поможет кому-то еще:

private void pictureBox1_Click(object sender, EventArgs e)
    {
        form2 box = new form2();
        using (box)
        {
            box.ShowDialog();
            if (box.DialogResult == DialogResult.OK)
            {
                refreshData();
            }
            box.Dispose();
        }
    }
    private void refreshData()
{
ADODB.Recordset rs = new ADODB.Recordset();
           ADODB.Connection adoCon = new ADODB.Connection();
           adoCon.Open("put Connection String Here");
           rs.Open("Put Select query Here",adoCon,ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic);
           DataSet myDS = new DataSet();
           OleDbDataAdapter da = new OleDbDataAdapter();
           da.Fill(myDS, rs,"MyTable");
           chkList1.DataSource = null;
           chkList1.DataSource = myDS.Tables[0];
           chkList1.DisplayMember = "Put Field to Display in CheckList here";
}
0 голосов
/ 16 июня 2011

Можете ли вы получить доступ к Form1 из Form2? Если бы вы могли, то самым простым способом было бы просто добавить строку в нажатой кнопке, которая ставит флажок

что-то вроде form1.checkboxName.Checked = true;

было бы полезно, если бы вы показали какой-то код:)

...