更改XtraGridView中组合框中selectedvaluechanged事件的其他列值

时间:2012-07-31 21:27:03

标签: c# .net devexpress xtragrid

有没有办法处理在组合框中更改选择值的行?

让我试着用例子解释一下。 在GridView中,我有两列, 名称,类型

类型列具有组合框,值为1和2。

我想要做的是在类型列中选择值1, 我想将名称更改为“一个”

在类型列中选择2时, 我想将名称更改为“两个”

这就是我的尝试,

 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。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

正确的方法是将存储库编辑器绑定到列。

RepositoryItemComboBox riCmb = new RepositoryItemComboBox();

处理 editvaluechanged 事件

riCmb.EditValueChanged += riCmb_EditValueChanged;

然后在事件处理程序

if(myGridView.GetRowCellValue(myGridView.FocusedRowHandle, "FieldName").ToString() == "1")
{
      grvInstruments.SetRowCellValue(grvInstruments.FocusedRowHandle, "FieldName", "One");
}