1.在vs2008的winform中,我设置datagridview的某一列为combox列,但是我希望这一列可以让用户输入,然后自动查找匹配的选项,我知道combox这个控件是有这个功能的。
2.现在的问题是我发现这一列根本都不能输入。只能下拉选择,更不要说自动匹配了。

解决方案 »

  1.   

    DATAGRIDVIEW属性,改READONLY属性值为TRUE
    进入编辑列属性,改READONLY属性值为TRUE
      

  2.   

    http://bingning.net/vb/source/datagridview/comboboxdropdownstyle.html
      

  3.   

    datagridview自带的DataGridViewComboBox列,只能通过下拉选择,并不支持编辑
      

  4.   

    自己回答哈/// <summary>
            /// 设置DataGridView下拉列表可写
            /// </summary>
            /// <param name="grid"></param>
            private void EnabledComboBoxWrite(DPBaseDataGridView grid)
            {
                grid.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(EnabledComboBoxWrite);
            }
            /// <summary>
            /// 设置DataGridView下拉列表可写,编辑控件时响应函数
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void EnabledComboBoxWrite(object sender, DataGridViewEditingControlShowingEventArgs e)
            {
                ComboBox cb = e.Control as ComboBox;
                if (cb != null)
                {
                    cb.DropDownStyle = ComboBoxStyle.DropDown;
                    cb.AutoCompleteMode = AutoCompleteMode.Suggest;
                    cb.AutoCompleteSource = AutoCompleteSource.ListItems;
                }        }