从显示的数据网格视图中删除一行

本文关键字:删除 一行 视图 显示 数据 数据网 网格 | 更新日期: 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 名称和当前表名称,但我希望此示例能解决您的问题!如果它没有保存您的概率,请发表评论,然后我会尝试为您编写一些代码! 有好的一天。