【发布时间】:2016-08-09 07:35:44
【问题描述】:
我的 Windows 窗体应用程序中有一个 DataGridView 控件,允许用户编辑产品列表。要编辑产品类别,我希望用户添加新条目或从之前已输入的条目中进行选择。为了实现这一点,我添加了一个绑定到 DataSource 的 comboBox 列,该列从 products 表中获取不同的类别名称。在其他一些 SO 问题的帮助下,我能够使用此代码使 comboBox 可编辑:
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (dataGridView1.CurrentCell.ColumnIndex == CategorySelector.Index)
{
ComboBox combo = e.Control as ComboBox;
if (combo == null)
return;
combo.DropDownStyle = ComboBoxStyle.DropDown;
}
}
但问题是,当我尝试编辑类别comboBox 列并添加未列出的新类别时,当我切换到其他单元格时,它会切换回现有产品的旧类别项目或新产品的空白产品。请告诉我如何通过comboBox 列添加新类别?
【问题讨论】:
-
发布您尝试添加类别的代码。
-
@RezaAghaei 我正在使用自动生成的
DataGridView方法进行添加。 -
DataGridViewComboBoxColumn仅显示其DataSource的项目。因此,如果您希望它在列表中显示一个新项目,您应该在其数据源中添加一个新项目。 -
是的,但是如何使用
DataGridView来完成呢?我希望用户编辑组合框列以添加新类别。 -
@RezaAghaei 请看看我的回答。
标签: c# .net winforms datagridview combobox