1

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

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

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

我有 3 个组合框和 1 个数据网格视图。3 个组合框可以优化网格视图中的可见信息列表,但我也希望用户能够取消选择他们的选择。

这是我尝试过但没有得到任何地方的方法:
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")

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

4

1 回答 1

2

我不记得确切的语法,但我所做的是大致如下:

  1. 创建一个临时数组,其大小设置为数据表的计数
  2. cboMC.Items.Add("选择 MC")
  3. 使用数据表的ToArray函数
  4. cobMC.Items.AddRange([临时数组])
于 2013-01-14T20:05:37.607 回答