1

こんにちは私は3つの列を含むgridcontrolを持っています:column1、column2、column3。Column2とColumn3はリポジトリcomboBox1とリポジトリcomboBox2です。repcomboBox1には文字列型リストのデータソースがあり、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の場合、stringBではなくstringAを選択し、コードをデバッグして、「string format = gridView1.GetFocusedRowCellValue( "field2Name")。ToString();」を見つけます。期待する「stringA」以外の「stringB」にフォーマットを設定します。リポジトリコンボボックスで新しく選択された値を取得するにはどうすればよいですか?なぜ変わらないのですか?どうもありがとう!

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 に答える