1

您好我有一个gridcontrol,它包括三列:column1、column2 和column 3。column2 和column3 是repository comboBox1 和repository comboBox2:repcomboBox 1 有一个字符串类型列表的数据源,repcomboBox2 有一个int 类型列表的数据源。

我的网格控件也有一个数据源。

我希望实现如下功能:当在 repcomboBox1 中选择 stringA 时,repcomboBox2 中的值将默认为 intA。

我尝试以下代码:

    private void repoCombo1_EditValueChanged(object sender, EventArgs e)
    {
        GridView view = gridControl1.FocusedView as GridView;
        string format = gridView1.GetFocusedRowCellValue("field2Name").ToString();
        if (format.Equals(stringA))
        {
            gridView1.SetRowCellValue(gridView1.FocusedRowHandle, view.Columns.ColumnByFieldName("field3Name"), intA);
        }
    }

例如,如果在 rowX 中,repcomboBox1 中的当前值为 stringB,我选择了 stringA 而不是 stringB,我调试代码并找到“string format = gridView1.GetFocusedRowCellValue("field2Name").ToString();” 将格式设置为“stringB”,而不是我期望的“stringA”。如何在存储库组合框中获取新选择的值?为什么不改变?非常感谢!

4

1 回答 1

1

为此,您应该使用以下代码:

object value = (sender as BaseEdit).EditValue;
if(value != null)
  string format = value.ToString();        
  if (format.Equals(stringA))        {            
    gridView1.SetRowCellValue(gridView1.FocusedRowHandle, view.Columns.ColumnByFieldName("field3Name"), intA);        
于 2011-07-11T19:38:04.567 回答