AutoSuggest附加在GridBox数据的textBox中?

时间:2013-10-01 09:18:35

标签: c# linq

我有一个数据网格,其中他们是一个名为StudentName的字段......我有一个文本框,我必须通过他的名字找到学生我为此做的功能但我想要文本框自动建议和追加学生用网格中的数据命名而不是数据库我做什么........

我在下面的ilist中取了所有的学生名字是我的代码.........

 try
                    {
                        IList<string> ObjAutoCompleteStringCollection = new List<string>();                  
                        for(int i=0;i<dgvStudentDetail.RowCount;i++)
                        {
                             ObjAutoCompleteStringCollection.Add(dgvStudentDetail.Rows[i].Cells["StudentName"].Value.ToString());
                        }
                       txtStudentName.AutoCompleteCustomSource=
                       txtStudentName.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
                       txtStudentName.AutoCompleteSource = AutoCompleteSource.CustomSource;
                   }
                   catch (Exception ex)
                   {
                    MessageBox.Show(ex.Message);
                   }

1 个答案:

答案 0 :(得分:0)

您必须使用AutoCompleteStringCollection作为Custom Source作为自动完成来源:

try
{
   txtStudentName.AutoCompleteCustomSource = new AutoCompleteStringCollection();                  
   for(int i=0;i<dgvStudentDetail.RowCount;i++){
    txtStudentName.AutoCompleteCustomSource.Add(dgvStudentDetail.Rows[i].Cells["StudentName"].Value.ToString());
   }
   txtStudentName.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
   txtStudentName.AutoCompleteSource = AutoCompleteSource.CustomSource;
}
catch (Exception ex)
{
   MessageBox.Show(ex.Message);
}

注意:您的txtStudentName应该Multiline = false(默认情况下),否则AutoCompleting将无效。