更改DataGridView ComboBox值时,更新DataGridView中的TextBox列

时间:2013-12-31 16:38:51

标签: c# winforms gridview combobox

在C#Windows窗体编程中尝试使用 Data Gridview 时遇到了一些问题。我希望可以从Stack社区获得帮助。以下是我的问题: 我的SQL Server数据库中有一个表

FID | FCode | FName |
_ __ _ __ _ __ _ __ _ __
1 | MAT001 | Material01 |
2 | MAT002 | Material02 |
3 | MAT003 | Material03 |
4 | MAT004 | Material04 |
5 | MAT005 | Material05 |
_ __ _ __ _ __ _ __ _ __

  • 现在在我的应用程序的数据网格视图中(C#)(我的DataGridView 有2列,1是项目代码,1是项目名称),项目代码 column是一个ComboBox控件,它将显示FCode值 我可以连接到数据源并将Gridview列更改为 ComboBox类型,然后将其显示到DataGridView ValueMember 是FID, DisplayMember 是 的 FCODE 即可。
  • 剩下的问题是:我正在尝试将项目名称(FName)填充到第二列,当我选择ComboBox中的项目时,旁边的项目名称将 自动更新名称。我该如何解决这个案子?请帮忙!
    非常感谢和热烈的问候我们 帮助会员的社区。

1 个答案:

答案 0 :(得分:0)

实现此目的的一种快速而肮脏的方法是处理DataGridView绑定到的表的DataTable.ColumnChanging事件。

在此事件处理程序中,您将获得一个DataColumnChangeEventArgs参数,您可以从中检查要更改的列。您只需检查是否更改了“项目代码”列,如果是,则查找要推送到相应“项目名称”列的值。

DataColumnChangeEventArgs为您提供了列以及正在更改的行。从中您可以确定推送项目名称的位置。

希望这有帮助