c# - 搜索和更新gridview不起作用c#
问题描述
我有一个用于显示数据的网格视图。每当我更新数据并按下更新按钮时,我的数据就会更新。但是,当我使用文本框从 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();
}
}
现在,当我搜索记录时,我想更新它。但是当我更新并按下更新按钮时它不起作用。请帮助我哪里错了?
解决方案
推荐阅读
- html - 仅 CSS 手风琴布局
- javascript - Javascript 为什么标头脚本中的对象属性可以,但在 html 中未定义?
- react-native - 如何在 Connect 组件下的 graphql 查询中使用 $filter 变量?
- r - 根据唯一值有条件地将字符串更改为因子?
- javascript - Sequilize 在 where 子句中查找表的最高值
- c# - 如何在 Visual Studio 2019 中禁用关于 System.String 的浮动提示
- python - 模块已安装但导入 cartopy 时出错
- css - 我如何使用 flexbox 来实现它?
- selenium - 文件未在 Selenium 上使用 WebElement 上传
- latitude-longitude - MathNet 距离计算的单位是什么?