0

データベースからコンボボックス列にバインドされたデータグリッドコンボボックス列がありますコンボボックス項目の選択のためにイベントを発生させる必要があります助けてください、私はprogram.csで次のコードを使用しました

this.datagrdADDTEMP.SelectionChanged+= new System.EventHandler(this.dgv_SelectionChanged);

form.cs 内

void dgv_SelectionChanged(object sender, EventArgs e){}

セルをクリックするとイベントが発生しますが、コンボボックスからアイテムを選択したときにイベントを発生させたいです。このコンセプトイベントバブリングに慣れていない私を助けてください

4

1 に答える 1

0

ComboBox イベントではなく、DataGridView の SelectionChanged イベントを使用しているため、機能しません。

EditingControlShowing イベントを処理してみてください (コードまたはデザイナーで実際に接続してください)。

    string str = null;

    private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        var cell = e.Control as ComboBox;
        if (cell != null)
        {
            cell.SelectedIndexChanged -= doWork;
            cell.SelectedIndexChanged += doWork;
        }
    }

    private void doWork(object sender, EventArgs e)
    {
        var tb = dataGridView1.EditingControl as ComboBox;
        if (tb != null)
            str = tb.SelectedValue != null ? tb.SelectedValue.ToString() : null;
    }
于 2012-09-04T12:43:36.720 に答える