2

複数の列を持つデータグリッドビューがあり、2 つの列にオートコンプリートを実装したいと考えています。これらの列は、datagridviewtextboxcolumn と datagridviewcomboboxcolumns です。私は、オートコンプリートが datagridview の editcontrolshowing イベント (コードにある) で実行できると考えていましたが、それがどのように機能するのかわかりません。

 private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        if (dataGridView1.CurrentCell.ColumnIndex == 0 && e.Control is ComboBox)
        {
            ComboBox comboBox = e.Control as ComboBox;
            comboBox.AutoCompleteMode = AutoCompleteMode.Suggest;
            comboBox.AutoCompleteSource = AutoCompleteSource.ListItems;
            comboBox.TextChanged += LastColumnComboSelectionChanged;
        }
        if (dataGridView1.CurrentCell.ColumnIndex == 2 && e.Control is TextBox)
        {
            if (e.Control.Enabled)
            {
                TextBox POCText = e.Control as TextBox;

                POCText.MouseDoubleClick += new MouseEventHandler(POCText_MouseDoubleClick);
            }
        }
    }
4

1 に答える 1

0

あなたは正しい道を進んでいます.win-formアプリケーションで作業している場合は、データのソースに従ってAutoCompleteSourceを選択する必要があります.ほとんどの場合、テーブル、配列、またはその他のものがあります.その場合、AutoCompleteSource = AutoCompleteSourceを使用する必要があります.カスタムソース。

AutoCompleteCustomeSource を割り当てた後、オート コンプリート リストを表示するために他のイベントを実装する必要はありません。

http://social.msdn.microsoft.com/Forums/en-US/winformsapplications/thread/30b5e4dc-5ecd-488e-9381-a7085e99b3a7/

于 2013-03-31T04:30:26.113 に答える