我正在尝试更新datagridview中组合框中的值。听起来很简单吧。
我在DGV中添加了几行已存在的行,其中2列是下拉列表。 如下代码片段,但列表从未用新类别直观地更新过。 此方法适用于其他独立组合框,但不适用于datagridview中的组合框。
// List<string> _mCategories
_mCategories.Add("new category");
_mCategories.Sort();
for(int i = 0; i < dgv.Rows.Count; i++)
{
DataGridViewComboBoxCell c1 = dgv.Rows[i].Cells[4] as
DataGridViewComboBoxCell;
c1.Items.Clear();
c1.Items.AddRange(_mCategory.ToArray());
}
答案 0 :(得分:0)
我应该为此提供更多信息,而不仅仅是草率的评论
在数据绑定方案中,我将:
DataSource
设置为包含组合的显示/值对的表,例如其他>>项目数据源>> DataSetName >> AddressType DisplayMember
设置为字符串列(Disp)ValueMember
设置为int列(Val)DataPropertyName
属性是否引用了主网格中包含地址类型(AddressType)的列的名称应该的。您的组合将查询数据集.AddressType表以获取其显示的列表,它将显示Disp的内容,并将使用在Val中找到的值戳入Address.AddressType或Address.BuildingType列(取决于哪个组合是)
向主表中添加一些数据(不要向网格中添加数据;直接将其添加到网格所绑定的数据表中),并向较小的表中添加地址类型/建筑类型的负载
现在,如果您的主表的addresstype列中有1,则该组合将显示“ work”。如果将其更改为“ home”,则主表行将更新为2
我按照视频中的步骤进行操作并进行了录制。在某一点上,您会看到我在表单上单击一个按钮。就是这样,我可以单击一些将要达到断点的东西,然后可以检查数据集的内容并向您展示它的运行方式