Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在XtraGridView的组合框中更改SelectedValueChanged事件上的其他列值_C#_.net_Devexpress_Xtragrid - Fatal编程技术网

C# 在XtraGridView的组合框中更改SelectedValueChanged事件上的其他列值

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

是否有方法获取combobox中selectionvalue已更改的行的句柄

让我试着用例子来解释它。 在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


我做错了什么?

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

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)