DataGridViewComboBoxColumn不能通过其它单元格的值来关联显示?

本人已知的一些基本设置要求如下:
DIM ComboBoxColumn1 AS NEW DataGridViewComboBoxColumn
WITH ComboBoxColumn1
.Name = "产品名称"
.DataSource = DataView1 '商品表的视图
.DisplayMember = "产品名称" '显示值
.ValueMember = "产品编码" '实际值
END WITH
DataGridView.Columns.Add(ComboBoxColumn1)

DIM ComboBoxColumn2 AS NEW DataGridViewComboBoxColumn
WITH ComboBoxColumn2
.Name = "产品版本"
.DataSource = DataView2 '版本表的视图
.DisplayMember = "版本名称" '显示值
.ValueMember = "产品版本号" '实际值
END WITH
DataGridView.Columns.Add(ComboBoxColumn2)


'DataGridView的作用是录入业务数据,不绑定数据源,因此组合框应该不需要设置参数DataPropertyName。

求解:
当在DataGridView另一列的单元格输入产品编码时,
1.根据该行的产品编码,如何令ComboBoxColumn1自动显示产品名称,产品名称只作为显示,不需贮存。
2.根据该行的产品编码,如何令ComboBoxColumn2自动显示版本名称,版本名称作为显示,实际贮存版本号,下拉显示该产品编码的所有版本号。
3.ComboBoxColumn2允许用户手工录入,而不仅仅通过下拉框选择。

请确实了解的朋友解答,给出代码顺序!

1个回答

VB和C#思路一样的。采纳后可以帮你用VB专门写

你先参考下:

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridView1.Columns[e.ColumnIndex].Name == "City")
            {
                DataGridViewComboBoxCell comboxCell =(DataGridViewComboBoxCell)dataGridView1.Rows[e.RowIndex].Cells["City"];
                DataGridViewTextBoxCell textbox =(DataGridViewTextBoxCell)dataGridView1.Rows[e.RowIndex].Cells["城市"];
                textbox.Value = comboxCell.Value.ToString();
                dataGridView1.Invalidate();
            }
        }
private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
        {
            if (dataGridView1.IsCurrentCellDirty)
            {
                dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit);
            }
        }
weixin_44049474
望諸公 已经采纳了,请帮忙把事件、过程等写具体一些,谢谢!
5 个月之前 回复
weixin_44049474
望諸公 首先,已经存在的业务数据,在打开窗口时,要能自动显示产品名称和版本名称,然后是录入产品编码时也自动显示。以前用ACCESS,直接设置组合框的数据源与指定字段关联,就能实现自动,并不需要事件。有类似的方法吗?
5 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐