ishuishika Ответов: 1

Фильтрация данных в виде сетки


Привет,

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

я использую цикл foreach. я не знаю, что использовать вместо этого.
инт Н = dataGridView1.Строк.Добавить();
пожалуйста, помогите мне

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

private void textBox3_TextChanged(object sender, EventArgs e)
          {
              SearchData(textBox3.Text);
        }

        public void SearchData(string search)
        {
            SqlConnection con = Connection.GetConnection();
            con.Open();
            string query = "Select * FROM [Stock] WHERE [CompDiscription] Like '%" + search + "%'";
            SqlDataAdapter sda = new SqlDataAdapter(query, con);
            DataTable dt = new DataTable();
            sda.Fill(dt);            
            foreach (DataRow item in dt.Rows)
            {
                            
              int n = dataGridView1.Rows.Add();
              
              dataGridView1.Rows[n].Cells[0].Value = item["APartNo"].ToString();
              dataGridView1.Rows[n].Cells[1].Value = item["CompPartNo"].ToString();
              dataGridView1.Rows[n].Cells[2].Value = item["CompDiscription"].ToString();
              dataGridView1.Rows[n].Cells[3].Value = item["Quantity"].ToString();
              dataGridView1.Rows[n].Cells[4].Value = item["CompanyName"].ToString();
              dataGridView1.Rows[n].Cells[5].Value = item["BinNo"].ToString();
              this.dataGridView1.Visible = true;

            }
            con.Close();
        }

1 Ответов

Рейтинг:
1

Anand Navale

Привет,

пожалуйста, попробуйте следующее решение,

<pre>private void Form1_Load(object sender, EventArgs e)
{
    dataGridView1.DataSource = this.PopulateDataGridView();
}
 
private void txtName_KeyUp(object sender, KeyEventArgs e)
{
    dataGridView1.DataSource = this.PopulateDataGridView();
}
 
private DataTable PopulateDataGridView()
{
    string query = "SELECT CustomerID, ContactName, Country FROM Customers";
    query += " WHERE ContactName LIKE '%' + @ContactName + '%'";
    query += " OR @ContactName = ''";
    string constr = @"Data Source=.\SQL2005;Initial Catalog=Northwind;User ID=sa;Password=pass@123";
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand(query, con))
        {
            cmd.Parameters.AddWithValue("@ContactName", txtName.Text.Trim());
            using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
            {
                DataTable dt = new DataTable();
                sda.Fill(dt);
                return dt;
            }
        }
    }
}