从datagridview和数据库中删除所有行

时间:2017-07-04 16:43:01

标签: c# database datagridview

大家好,因为标题说我想删除datagridview中的所有行,并在此过程中从数据库中删除它们。继承我的代码,但它只删除一行而不是全部。谢谢

     private void clear_Click(object sender, EventArgs e)
    {

        if (this.dgvProducts.SelectedRows.Count > 0)
        {
            foreach (DataGridViewRow row in dgvProducts.SelectedRows)
            {
                int selectedIndex = dgvProducts.SelectedRows[0].Index;
                int rowID = int.Parse(dgvProducts[0, selectedIndex].Value.ToString());
                 crud.AddRecord("Delete from Supplier_productlist where ProductID = '" + rowID + "' and SupplierID = '"+supplierid.Text+"' ");

            }
        }

        //dgvProducts.Refresh();

    }

2 个答案:

答案 0 :(得分:1)

似乎在foreach循环中,只处理了第0个项目。

如果你想指定索引,我建议使用loop而不是foreach。

如果你想使用foreach,那么你可能应该使用“row”本身而不是继续处理第0项:

dgvProducts.SelectedRows[0]
dgvProducts[0, selectedIndex]

答案 1 :(得分:0)

在您的代码中,您只会循环 SelectedRows ,而不是所有

{{ctrl.test}}

要遍历整个数据网格的行,您应该使用

foreach (DataGridViewRow row in dgvProducts.SelectedRows)

希望,此链接有助于: https://msdn.microsoft.com/ru-ru/library/system.windows.forms.datagridview.rows(v=vs.110).aspx