请大家帮帮忙,找下例子。winform程序datagridview中
要在DataGridViewTextBoxColumn某列编辑时实现检索,例如 某列的DataGridViewTextBoxColumn有“一三班”,编辑时按数字“1”或“一”会自动查询“一三班”要怎么实现啊。不要给DataGridViewComboBoxColumn的例子,因为差很远。或者给点详细的提示,在下感激。
要在DataGridViewTextBoxColumn某列编辑时实现检索,例如 某列的DataGridViewTextBoxColumn有“一三班”,编辑时按数字“1”或“一”会自动查询“一三班”要怎么实现啊。不要给DataGridViewComboBoxColumn的例子,因为差很远。或者给点详细的提示,在下感激。
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;
}
} }
然后第一列姓名的DataGridViewTextBoxEditingControl,其属性AutoCompleteCustomSource为这个数组:
te.AutoCompleteCustomSource.AddRange(new string[] { itemsg[i] });然后当在第一列也就是姓名列编辑时,会自动列出数据。