簡體   English   中英

.NET Datagridview ComboBoxColumn-選擇的值

[英].NET Datagridview ComboBoxColumn -Selected Value

我在VB.NET中創建了一個應用程序,其中包含綁定到數據表的datagridview(dg)。

然后,我創建一個DataGridViewComboBoxColumn並用另一個數據表中的下拉選項填充它。

我將其與以下內容綁定:

        sHeader = "CType"
        With DDcol
            .DataSource = dtTemp
            .ValueMember = "VID"
            .DisplayMember = "Display"
            .HeaderText = sHeader
            .FlatStyle = FlatStyle.Flat
            .Name = sHeader
            .DisplayIndex = 1
        End With

dtTemp是一個數據表,其中包含由SQL生成的值,如果在MS SQL Server Management Studio中運行,它看起來像這樣:

VID Display
1   Value One
2   Value Two

然后,將列添加到datagridview中。

dg.Columns.Add(DDcol)

它按預期顯示。

但是,ValueMember無效。

如果將操作添加到下拉列,則其產生的值為DBNULL。 如果我嘗試使用下面的代碼預先填充表格,它將無法正常工作。 任何解決此問題的幫助將不勝感激。

dg.Rows(0).Cells(sHeader).Value = 1

我只是試過這個:

var dt = new DataTable();
dt.Columns.Add("vid", typeof(int));
dt.Columns.Add("display", typeof(string));
dt.Rows.Add(new object[] { 1, "one" });
dt.Rows.Add(new object[] { 2, "two" });
dt.Rows.Add(new object[] { 3, "three" });
dataGridView1.Columns.Add(new DataGridViewComboBoxColumn 
    { DataSource = dt, ValueMember = "vid", DisplayMember = "display" });
dataGridView1.Rows[0].Cells[0].Value = 1;

...而且效果很好...也許您可以自己在vb.net中重寫...

暫無
暫無

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

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