在数据绑定后添加自定义项

时间:2013-01-14 19:55:51

标签: c# vb.net winforms .net-4.0 combobox

我已经开发了一个DataSet来访问桌面应用程序的SQL信息(使用WinForms)。

将数据绑定到ComboBox并不是什么新鲜事,但正如我在ASP.Net中所做的大部分工作一样,我本来会使用的一些类显然不适用于WinForms。

所以基本上,我需要知道我需要做什么才能将组合框绑定到DataTable,然后将自定义项添加到Index=0,基本上说“选择MC”。这个项目将在SelectionChange上进行检查,但我需要在集合中有一个Nullification ListItem,这样我就可以使条件细化无效。

我有3个组合框和1个datagridview。 3个组合框可以细化gridview中可见的信息列表,但我也希望用户能够取消选择他们的选择。

这是我尝试过的,而不是任何地方:
Private Sub frmMain_Load(sender As Object, e As EventArgs) Handles Me.Load
      'cboMC.Datasource = Me._mc.GetMC().AddMCRow("Select MC") <-- Did not Work
    cboMC.DataSource = Me._mc.GetMC()
    cboMC.Items.Insert(0, New Object() {"Select MC"}) <-- Current Try

    ...    
End Sub

还有其他建议吗?同样,这是一个 WinForms 应用程序,而不是WebForms

最终修订版(每@Tebc)

cboMC.Items.Add("Select MC")
cboMC.Items.AddRange(Me._mc.GetMC().ToArray())

以上导数确保Invalidator位于索引0

cboMC.Items.AddRange(Me._mc.GetMC().ToArray())
cboMC.Items.Insert(0, "Select MC")

工作就像一个魅力......让我走上正确的道路。

1 个答案:

答案 0 :(得分:2)

我不记得确切的语法,但我所做的就是:

  1. 创建一个大小设置为数据表计数的临时数组
  2. cboMC.Items.Add(“选择MC”)
  3. 使用数据表的ToArray函数
  4. cobMC.Items.AddRange([temp array])