2012-07-31 70 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

相關問題