请大家帮帮忙,找下例子。winform程序datagridview中
    要在DataGridViewTextBoxColumn某列编辑时实现检索,例如 某列的DataGridViewTextBoxColumn有“一三班”,编辑时按数字“1”或“一”会自动查询“一三班”要怎么实现啊。不要给DataGridViewComboBoxColumn的例子,因为差很远。或者给点详细的提示,在下感激。

解决方案 »

  1.   


            private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
            {            if (e.Control is DataGridViewTextBoxEditingControl)
                {
                    DataGridViewTextBoxEditingControl te =
                    (DataGridViewTextBoxEditingControl)e.Control;
                    te.Name = "items";
                    te.AutoCompleteMode = AutoCompleteMode.Suggest;
                    te.AutoCompleteSource = AutoCompleteSource.CustomSource;
                    SqlConnection conn1 = new SqlConnection("Data Source=.;Initial Catalog=jwinfo;Integrated Security=True;");
                    conn1.Open();
                    string comand2 = @"select 姓名 from 学生信息";
                    SqlDataAdapter adatter2 = new SqlDataAdapter(comand2, conn1);
                    DataSet dataset2 = new DataSet();
                    adatter2.Fill(dataset2, "学生信息");
                    string[] itemsg = new string[dataset2.Tables["学生信息"].Rows.Count];
                    int col = dataGridView1.CurrentCell.ColumnIndex;
                    switch (col)
                    {
                        case 0:
                            for (int i = 0; i < dataset2.Tables["学生信息"].Rows.Count; i++)
                            {
                                itemsg[i] = dataset2.Tables["学生信息"].Rows[i][0].ToString();
                                te.AutoCompleteCustomSource.AddRange(new string[] { itemsg[i] });
                            }
                            break;
                        case 1:
                            break;
                        case 3:
                            break;
                        case 4:
                            break;
                        case 5:
                            break;
                        default:
                            break;
                    }
                }        }
      

  2.   

    上述代码的原理是,将姓名列的数据全部取出放到一个数组中,
    然后第一列姓名的DataGridViewTextBoxEditingControl,其属性AutoCompleteCustomSource为这个数组:
    te.AutoCompleteCustomSource.AddRange(new string[] { itemsg[i] });然后当在第一列也就是姓名列编辑时,会自动列出数据。
      

  3.   

    你要的是1也能转换成一,那你要在事件中dataGridView1_EditingControlShowing取到输入的1,将其修改为一,去查询了。