Member 10982598 Ответов: 1

Как автозаполнить текстовое поле с помощью средней буквы из значения базы данных в c#.net приложения для windows


Мне нужно автоматически заполнить значение текстового поля на основе среднего значения из базы данных. но это работает автозаполнение при вводе первой буквы, а не работает середина буквы .

Что я уже пробовал:

textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
                textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
                AutoCompleteStringCollection DataCollection2 = new AutoCompleteStringCollection();
                getData2(DataCollection2);
                textBox1.AutoCompleteCustomSource = DataCollection2;



private void getData2(AutoCompleteStringCollection dataCollection)
        {
            try
            {
                string customer= "Customer";
                string connetionString = null;
                SqlConnection connection;
                SqlCommand command;
                SqlDataAdapter adapter = new SqlDataAdapter();
                DataSet ds = new DataSet();
                connetionString = System.Configuration.ConfigurationSettings.AppSettings["connection"];
                string sql = "SELECT [party_name] FROM [Party_details] where party_name like '%" +textBox1.Text+ "%'";
               
                connection = new SqlConnection(connetionString);
                try
                {
                    connection.Open();
                    command = new SqlCommand(sql, connection);
                    adapter.SelectCommand = command;
                    adapter.Fill(ds);
                    adapter.Dispose();
                    command.Dispose();
                    connection.Close();
                    foreach (DataRow row in ds.Tables[0].Rows)
                    {
                        dataCollection.Add(row[0].ToString());
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Can not open connection ! ");
                }
            }
            catch (Exception trt)
            { }
        }

1 Ответов

Рейтинг:
2

Atlapure Ambrish

В приведенной ниже статье есть пример кода, я надеюсь, что это вам поможет. Недостатком является то, что вы будете извлекать все данные из базы данных в datatable, а затем применять фильтр.

Автозаполнение combobox соответствует любой части строки, а не только начальной строке.