![](/img/trans.png)
[英]“SelectedIndexChanged” event in ComboBoxColumn on Datagridview
[英].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.