vb.net/DataGridView/ComboBoxCell?

发布于 2024-10-20 22:33:57 字数 177 浏览 8 评论 0原文

我正在使用 vb.net 2010 和 winforms 和 DataGridView。

DataGridView 有一个DataGridViewComboBox 列。当我使用 DGV 显示表单时,它显示此网格和空网格,但包含组合框的列显示下拉列表中的第一项。

如何让组合框在单击并选择之前不显示任何内容?

I am using vb.net 2010 and winforms and DataGridView.

The DataGridView has a DataGridViewComboBox column. When I show the form with the DGV it shows this and empty grid but the column that contains the ComboBox shows the first item on the dropdown list.

How can I have the ComboBox display nothing until it is clicked on and selected?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

蓝戈者 2024-10-27 22:33:57

初始化时尝试将组合框 selectedindex 属性设置为 -1。这可能会解决您的问题,但是当我执行您所描述的相同操作时,我的组合框中不会显示任何值,直到我单击它。以下是我采取的步骤:

1. create a datagridview control.

2. right click on control and add column.

3. add DataGridViewComboBoxColumn

4. right click on control and edit columns.

5. Click on the button for "Items (Collection)".

6. Add some items

现在您的控件应该按照您的要求运行。当我运行它时它工作得很好。如果没有,可能是 VS2010 的错误,因为我运行的是 VS2008。

编辑:

当您在代码中添加项目时,只需将组合框值设置为 Nothing:

Dim cboBrand As New DataGridViewComboBoxColumn
With cboBrand
    .HeaderText = "Brand"
    .Name = "Brand"
    .Width = 300
    .Items.Add("item1")
    .Items.Add("item2")
    .Items.Add("item3")
End With

Me.DataGridView1.Columns.Insert(0, cboBrand)
DataGridView1.Rows.Insert(0, New Object() {Nothing})

或者如果您想设置初始值,请这样做:

DataGridView1.Rows.Insert(0, New Object() {"item2"})

Try setting the combobox selectedindex property to -1 when you initialize it. That might fix your problem, but when I do the same thing that you described, mine doesn't show any values in the combobox until I click on it. Here are the steps I took:

1. create a datagridview control.

2. right click on control and add column.

3. add DataGridViewComboBoxColumn

4. right click on control and edit columns.

5. Click on the button for "Items (Collection)".

6. Add some items

Now your control should behave how you are asking. It works fine when I run it. If it doesn't it may be a VS2010 bug since I'm running VS2008.

Edit:

When you add your items in code, just set the combobox value to Nothing:

Dim cboBrand As New DataGridViewComboBoxColumn
With cboBrand
    .HeaderText = "Brand"
    .Name = "Brand"
    .Width = 300
    .Items.Add("item1")
    .Items.Add("item2")
    .Items.Add("item3")
End With

Me.DataGridView1.Columns.Insert(0, cboBrand)
DataGridView1.Rows.Insert(0, New Object() {Nothing})

or if you want to set an initial value, do it like this:

DataGridView1.Rows.Insert(0, New Object() {"item2"})
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文