gpt4 book ai didi

c# - 从显示的 dataGridView 中删除一行?

转载 作者:行者123 更新时间:2023-11-30 22:53:07 24 4
gpt4 key购买 nike

我必须构建 APP,它可以在具有 3 个表的数据库中搜索、更新、删除和添加信息。我使用的是 SQL CE,我已经创建了搜索和添加按钮,它们可以正常工作。

我为每个表显示 1 个搜索按钮和 3 个文本框,显示我正在搜索的表的数据 GridView 。我已经努力搜索但似乎找不到解决方案,我想制作一个删除按钮,从弹出的 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);
}
}
}

最佳答案

以下代码删除ONE datagridview中的当前行:

代码

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 名称和当前表名称,但我希望这个示例能解决您的问题!如果它不保存您的概率。请发表评论,然后我会尝试为您编写一些代码!祝你有美好的一天。

关于c# - 从显示的 dataGridView 中删除一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27485697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com