网格视图单击即可删除更新

时间:2017-02-27 04:21:34

标签: c# sql-server

我的问题是我在网格视图中有一个删除按钮。如果我点击删除按钮,需要删除特定行,并且需要更新该行的某些列,并且单击同一按钮。

示例如果我单击删除该行需要删除的行...该行具有在删除前处于活动状态的状态列,在单击删除后该列状态应更改为删除,并且应删除行以及另一列id应该更改为null。

非常困惑如何在单击上执行这两项操作

1 个答案:

答案 0 :(得分:0)

您应该对分配给DataGrid的 DataSource 执行更新/删除等所有操作。为了您的方便

private void PopulateThirdCombo()
{
    try
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("Product ID");
        dt.Columns.Add("Product Name");
        dt.Columns.Add("Product Price");
        dt.Columns.Add();
        dataGridView1.ColumnCount = 3;
        dataGridView1.Columns[0].Name = "Product ID";
        dataGridView1.Columns[1].Name = "Product Name";
        dataGridView1.Columns[2].Name = "Product Price";
        string[] row = new string[] { "1", "Product 1", "1000" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "2", "Product 2", "2000" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "3", "Product 3", "3000" };
        dataGridView1.Rows.Add(row);
        row = new string[] { "4", "Product 4", "4000" };
        dataGridView1.Rows.Add(row);

        DataGridViewButtonColumn btn = new DataGridViewButtonColumn();
        dataGridView1.Columns.Add(btn);
        btn.HeaderText = "Action";
        btn.Text = "Delete";
        btn.Name = "btn";
        btn.UseColumnTextForButtonValue = true;     
    }
    catch (Exception)
    {

    }
}


private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    try
    {
        //this will be index of your delete button
        if (e.ColumnIndex == 3)
        {
            this.dataGridView1.Rows.RemoveAt(e.RowIndex);
        }
    }
    catch (Exception)
    {

    }
}

注意:首先调用PopulateThirdCombo()