0

コンボボックスでselectionvalueが変更された行のハンドルを取得する方法はありますか?

例を使って説明してみましょう。GridViewには、名前とタイプの2つの列があります

タイプ列には、値1と2のコンボボックスがあります。

タイプ列で値1を選択し、名前を「One」に変更したいのですが

タイプ列で2を選択したら、名前を「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として取得しています。

私は何が間違っているのですか?

4

1 に答える 1

1

正しい方法は、リポジトリエディタを列にバインドすることです。

RepositoryItemComboBox riCmb = new RepositoryItemComboBox();

editvaluechangedイベントを処理します

riCmb.EditValueChanged += riCmb_EditValueChanged;

次に、イベントハンドラー内

if(myGridView.GetRowCellValue(myGridView.FocusedRowHandle, "FieldName").ToString() == "1")
{
      grvInstruments.SetRowCellValue(grvInstruments.FocusedRowHandle, "FieldName", "One");
}
于 2012-08-01T07:17:39.710 に答える