进程结束后清除Datagridview行

本文关键字:Datagridview 清除 结束 进程 | 更新日期: 2023-09-27 18:09:22

我正在使用c#中的发票计费应用程序,我想在保存和打印发票后重置我的datagridview,我需要使我的表单准备好制作另一个发票而无需重新启动表单。我已经尝试了所有已知的可能的方法,使我的datagridview的rowcount=1,不能使它与

dataGridView1.Rows.Clear();
dataGridView1.Refresh();

also I tried with

dataGridView1.Rows.Clear();
dataGridView1.Refresh();
dataGridView1.DataSource = null;

所有这些方法都清除我的行和单元格,但当我进入一个新的行清除datagridview后,它正在进入这是从旧的(dataGridView1.Rows[RowCount - 1])左行,所以它离开所有其他行空白,并进入新行如何解决这个问题?

我像这样添加行

dataGridView1.RowCount = RowCount + 1;
string SQLStatement = "Select * from Stock_ManagerDB where STKItemCode='" + dataGridView1.Rows[RowCount - 1].Cells[1].Value + "'";
SqlDataReader myreader = DBConnection.viewDetails(SQLStatement);
if (myreader.Read())
{
    dataGridView1.Rows[RowCount - 1].Cells[2].Value = myreader["STKItemName"].ToString().Trim();
    dataGridView1.Rows[RowCount - 1].Cells[3].Value = 1;
    dataGridView1.Rows[RowCount - 1].Cells[4].Value = (string)myreader["STKCategory"].ToString().Trim();
    dataGridView1.Rows[RowCount - 1].Cells[5].Value = (string)myreader["SellingPrice"].ToString().Trim();
    dataGridView1.Rows[RowCount - 1].Cells[6].Value = labelDiscOperator.Text;
    label_avlQty.Text = (string)myreader["STKQTY"].ToString().Trim();
    dataGridView1.Rows[RowCount - 1].Cells[15].Value = (string)myreader["STKQTY"].ToString().Trim();
    btnloadDGDGT();
    btnstockupdate();
}

进程结束后清除Datagridview行

尝试一下,

((DataTable)dataGridView1.DataSource).Rows.Clear();  //if datasource is datatable
其他

((DataSet)dataGridView1.DataSource).Tables[0].Rows.Clear(); //if datasource is dataset