簡體   English   中英

Windows窗體數據綁定CheckedListBox

[英]Windows Forms DataBinding CheckedListBox

我有使用ASP的經驗,但對WinForms完全陌生。 我想做的是:在Form1上有一個CheckedListBox,它鏈接到綁定源,該綁定源鏈接到SQL數據庫。 我有另一個窗體(Form2),該窗體在單擊“添加”按鈕時彈出,然后他們可以添加一條記錄。 我希望發生的事情是,一旦他們在Form 2中添加記錄,Form1中的CheckedListBox也將更新。 我已經嘗試過DataSource和DisplayMember屬性,但這似乎並不能解決問題。 有人可以指出我正確的方向嗎?

如果有人知道更好的方法,我也會非常高興。 謝謝。

您可以從Form2訪問Form1嗎? 如果可以的話,最簡單的方法就是在按下按鈕的廣告行中選中該復選框

類似於form1.checkboxName.Checked = true;

如果您顯示了一些代碼,它將有所幫助:)

看一下以前的回答帖子

我指示人員使用第一個表格中的參數來調用第二個表格...然后第二個表格可以直接使用它。 您可以通過傳入第一種形式本身並使其幾乎可以執行任何操作來實現此目的...但是以最簡單的形式,您可以保留該形式。 然后,在第二種形式的單擊/添加/保存/中,引用第一種形式並直接設置(或通過公共屬性getter / setter間接設置)。

我想出了我問題的答案。 我處理了Form1上的所有內容。 我創建了一個名為refreshData的方法,當我單擊我的圖標以彈出form2時,我等待form2的對話框結果確定,然后調用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";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM