从显示的数据网格视图中删除一行
本文关键字:删除 一行 视图 显示 数据 数据网 网格 | 更新日期: 2023-09-27 18:34:13
>我必须构建APP,在数据库中搜索,更新,删除和添加信息,有3个表。我使用的是SQL CE,我已经制作了搜索和添加按钮,它们可以工作。
我为每个表显示 1 个搜索按钮和 3 个文本框,这些文本框显示 im 搜索的表的数据网格视图。我已经努力搜索,但似乎找不到解决方案,我想制作一个删除按钮,该按钮从弹出的 datagridview 中删除/真的很抱歉我的英语/我希望你能得到它。
我找到了一种仅从 1 个 dgv 中删除的方法,实际上它甚至没有保存 dgv。这是我用于搜索按钮的代码,我不是要求某人为我编写它,而只是为了提示如何做到这一点。
private void btnSearch_Click(object sender, EventArgs e)
{
if (textBox1.Text == "" && textBox2.Text == "" && textBox3.Text == "")
{
dataGridView1.Hide();
dataGridView2.Hide();
dataGridView3.Hide();
MessageBox.Show("Insert something to search!");
return;
}
else if (textBox1.Text == "" && textBox3.Text == "")
{
try
{
this.institutionTableAdapter.SearchNameInst(this.database1DataSet1.Institution, textBox2.Text);
dataGridView3.Show();
dataGridView2.Hide();
dataGridView1.Hide();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
else if (textBox2.Text == "" && textBox3.Text == "")
{
try
{
this.studentsTableAdapter.SearchStudName(this.database1DataSet1.Students, textBox1.Text);
dataGridView3.Hide();
dataGridView2.Show();
dataGridView1.Hide();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
else if (textBox1.Text == "" && textBox2.Text == "")
{
try
{
this.typeinstTableAdapter.SearchNameTown(this.database1DataSet1.Typeinst, textBox3.Text);
dataGridView3.Hide();
dataGridView2.Hide();
dataGridView1.Show();
}
catch (System.Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message);
}
}
}
以下代码删除一个数据网格视图中的当前行:
法典
DataGridViewRow deleteRow = grid.CurrentRow;
grid.CurrentRow.Selected = false;
grid.Rows[deleteRow+1].Selected = true;
grid.Rows.RemoveAt(deleteRow);
如果你想更新你的MySql数据库,你必须检查行ID并在MySQL中调用删除方法,如下所示:
法典
try
{
dt = new DataTable();
using (MySqlConnection conn = new MySqlConnection("datasource=localhost;port=3306;username=test;password=1234"))
{
conn.Open();
using (MySqlCommand cmd = new MySqlCommand())
{
cmd.Connection = conn;
string tabvalue = grid.Rows[grid.CurrentRow.Index].Cells[0].Value.ToString();
cmd.CommandText = ("DELETE FROM `Table`.`currenttable` WHERE `ID` ='" + tabvalue + "';");
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(dt);
}
conn.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
您必须更改 DataGridView 名称和当前表名称,但我希望此示例能解决您的问题!如果它没有保存您的概率,请发表评论,然后我会尝试为您编写一些代码! 有好的一天。