C# 在XtraGridView的组合框中更改SelectedValueChanged事件上的其他列值
是否有方法获取combobox中selectionvalue已更改的行的句柄 让我试着用例子来解释它。 在GridView中,我有两列, 名称、类型 类型列具有组合框,值为1和2 我要做的是在类型列中选择值1, 我想把名字改成“一” 在“类型”列中选择2时, 我想把名字改成“两个” 这就是我想做的C# 在XtraGridView的组合框中更改SelectedValueChanged事件上的其他列值,c#,.net,devexpress,xtragrid,C#,.net,Devexpress,Xtragrid,是否有方法获取combobox中selectionvalue已更改的行的句柄 让我试着用例子来解释它。 在GridView中,我有两列, 名称、类型 类型列具有组合框,值为1和2 我要做的是在类型列中选择值1, 我想把名字改成“一” 在“类型”列中选择2时, 我想把名字改成“两个” 这就是我想做的 private void OnType_SelectedValueChanged(object sender, EventArgs e) { DevExpress.XtraE
private void OnType_SelectedValueChanged(object sender, EventArgs e)
{
DevExpress.XtraEditors.ComboBoxEdit comboType = sender as DevExpress.XtraEditors.ComboBoxEdit;
DataRow row = (DataRow) myGridView.GetFocusedRow();
if (comboType .SelectedItem.ToString() == "1")
{
row.Name = "one";
}else
{
row.Name = "two";
}
}
但在这里,我将myGridView.GetFocusedRow()设置为null
我做错了什么?正确的方法是将存储库编辑器绑定到列
RepositoryItemComboBox riCmb = new RepositoryItemComboBox();
处理editvaluechanged事件
riCmb.EditValueChanged += riCmb_EditValueChanged;
然后在事件处理程序中
if(myGridView.GetRowCellValue(myGridView.FocusedRowHandle, "FieldName").ToString() == "1")
{
grvInstruments.SetRowCellValue(grvInstruments.FocusedRowHandle, "FieldName", "One");
}
如果不想提供行句柄,可以使用SetFocusedRowCellValue(col,value)