1.在DataGridView中添加一个隐藏列,用来与数据源字段绑定:隐藏列.DataPropertyName = 数据源.列名;
2. 用一个DataTable建立实际值和显示值的映射:
DataTable dtRelation = new DataTable();
dtRelation.Columns.Add("Code",typeof(byte));
dtRelation.Columns.Add("DisplayString",typeof(string));
dtRelation.Rows.Add(new object[] { 0, "苹果" });
dtRelation.Rows.Add(new object[] { 1, "香蕉" });
dtRelation.Rows.Add(new object[] { 2, "西瓜" });
3.设置下拉列表列(DataGridViewComboxColumn)属性:
下拉列表列.DataSource = dtRelation;
下拉列表列.ValueMember = "Code";
下拉列表列.DisplayMember = "DisplayString";
4.好了,接下来就是用事件函数实现两列之间的连接:
private void dgvGroupRule_RowPostPaint(object sender, DataGridViewRowPostPaintEventArgs e)
{
DataGridViewComboBoxCell selCell = (DataGr