轻松完成Datagridview组合框列winforms

本文关键字:winforms 组合 Datagridview | 更新日期: 2023-09-27 18:20:41

我正试图用类似于Easycomplete组合框的基于松散字符搜索的建议在winforms中创建一个datagridComboBox列。但我想把它作为Datagridview组合框。

我已经创建了一个带有Datagridview组合框列的网格,并使用了自动完成,但它将只从第一个字符开始搜索。我想要宽松的搜查。我使用

 private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
        {
            if (e.Control is DataGridViewComboBoxEditingControl)
            {
                ((ComboBox)e.Control).DropDownStyle = ComboBoxStyle.DropDown;
                ((ComboBox)e.Control).AutoCompleteSource = AutoCompleteSource.ListItems;
                ((ComboBox)e.Control).AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
            } 
}

请为我提供一个创建这种类型的数据网格视图组合框的解决方案。

轻松完成Datagridview组合框列winforms

为此,您必须创建一个自定义DataGridiVew控件。这不是单行代码,也不是单个类代码。你必须为此上好几堂课。

public class MyDgv : DataGridView
{
    ....    
}

并创建一些类,如DataGridViewComboBoxColumnDataGridViewComboBoxCellDataGridViewEditingComboBoxControl

有一个教程如何在msdn 上的datagridview中创建自定义列