2012-07-31 48 views
0

有没有办法获得在combobox中选择值被更改的行的句柄?在XtraGridView的组合框中更改其他列值onselectedvaluechanged事件

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

类型列有组合框,其值1和2

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

于type列中选择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

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

RepositoryItemComboBox riCmb = new RepositoryItemComboBox(); 

处理好editvaluechanged事件

riCmb.EditValueChanged += riCmb_EditValueChanged; 

然后在事件处理程序内

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

您可以使用SetFocusedRowCellValue(COL,值),如果你不想提供的行处理 – SidAhmed 2012-08-01 08:09:12

+0

谢谢@Aseem Gautam – 2012-09-05 17:51:50

相关问题