У меня есть сетка для отображения данных.Всякий раз, когда я произвел обновление данных и нажал кнопку обновления, мои данные обновляются.Но когда я ищу запись из gridview с текстовым полем, а затем обновляю, она не работает.Вот мой код данных дисплея:
SqlDataAdapter sda;
DataTable dt;
SqlCommandBuilder scb;
DataSet ds;
SqlConnection con8 = new SqlConnection(@"Data Source=RAMISHA-PC;Initial Catalog=sales;Integrated Security=True");
public void display_data()
{
try
{
con8.Open();
sda = new SqlDataAdapter("SELECT * FROM category", con8);
ds = new System.Data.DataSet();
dt = new DataTable("product update");
sda.Fill(dt);
dataGridView1.DataSource = dt;
dataGridView1.Columns["com_id"].ReadOnly = true;
dataGridView1.Columns[0].HeaderText = "Comp Id";
dataGridView1.Columns[1].HeaderText = "Company Name";
dataGridView1.Columns[1].Width = 200;
dataGridView1.Columns[0].Width = 100;
dataGridView1.Columns[2].HeaderText = "Category Name";
dataGridView1.Columns[2].Width = 200;
con8.Close();
}
catch (Exception)
{
MessageBox.Show("There is some error. Please try again!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
Вот мой код обновления события нажатия кнопки:
private void Button3_Click(object sender, EventArgs e)
{
scb = new SqlCommandBuilder(sda);
sda.Update(dt);
display_data();
}
Вот мой код поиска в текстовом поле:
private void TxtSearch_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)13)
{
DataView dv = dt.DefaultView;
dv.RowFilter = string.Format("com_name like '%{0}%' ", txtSearch.Text);
dataGridView1.DataSource = dv.ToTable();
}
}
Теперь, когда я выполняю поиск, запись фильтруется, и я хочу обновить ее.Но когда я обновляю и нажимаю кнопку обновления, это не влияет.Пожалуйста, помогите мне, где я не прав?