在图片下方,我将Reason作为组合框,有三个选项。 在选择第一个值如内部返工,第二列责任方是 还应该使用列表集合填充组合框,以便选择 来自Reason组合框的另一个值应该填充负责方 另一个清单集。
由于我尝试结束gridview的编辑并且它正在显示值,但如果在下一行我更改了我的返工组合框值,则责任方的先前值不会保留其值。
那么我怎样才能防止这种情况发生。
所以感谢任何帮助。
答案 0 :(得分:0)
您是否尝试根据原因中选择的值绑定其他两个组合框?如果是这样,我将在数据网格事件中使用CellValueChanged
事件,您可以以编程方式构建列表并对其进行数据绑定。如果这是你想要做的,我将在这里发布一个例子,如果没有请澄清,以便我可以提供帮助。
Private Sub dgVendors_CellValueChanged(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgVendors.CellValueChanged
If dgVendors.Columns(e.ColumnIndex).HeaderText = "Reason" Then
CType(dgVendors.Rows(e.RowIndex).Cells(""), DataGridViewComboBoxCell).DataSource = Nothing
CType(dgVendors.Rows(e.RowIndex).Cells(""), DataGridViewComboBoxCell).DisplayMember = ""
CType(dgVendors.Rows(e.RowIndex).Cells(""), DataGridViewComboBoxCell).ValueMember = ""
ElseIf dgVendors.Columns(e.ColumnIndex).HeaderText = "Responsible Party" Then
CType(dgVendors.Rows(e.RowIndex).Cells(""), DataGridViewComboBoxCell).DataSource = Nothing
CType(dgVendors.Rows(e.RowIndex).Cells(""), DataGridViewComboBoxCell).DisplayMember = ""
CType(dgVendors.Rows(e.RowIndex).Cells(""), DataGridViewComboBoxCell).ValueMember = ""
End If
End Sub
答案 1 :(得分:0)
如果您想处理下拉列表的选择更改事件,可以handle the EditingControlShowing event of the DataGridView。
还有an MSDN page可能会帮助你。
此外,请务必更改DataSource
上DataGridViewComboBoxCell
的{{1}},而不是CurrentRow
。{/ p>