删除stockdataGridView1的选定行后,它不刷新。请在删除所选行后告诉我如何刷新。我是否需要重新打开表单或添加另一个按钮进行刷新?如何刷新DataGridView后删除行格式DataGridView和数据库在C#中?
private void stockdataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
}
private void Report_Load(object sender, EventArgs e)
{
string connectionString = @"Server=.\SQLEXPRESS; Database = stock; integrated Security = true";
SqlConnection connection = new SqlConnection(connectionString);
string query = "SELECT * FROM stocktable1";
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
List<Stock> stocks = new List<Stock>();
while (reader.Read())
{
Stock stock = new Stock();
stock.id = (int)reader["id"];
stock.gsm = reader["gsm"].ToString();
stock.color = reader["color"].ToString();
stock.size = reader["size"].ToString();
stock.yard = reader["yard"].ToString();
stock.meter = reader["meter"].ToString();
stock.quantity = reader["quantity"].ToString();
stock.supplier = reader["supplier"].ToString();
stock.purpose = reader["purpose"].ToString();
stock.chalanno = reader["chalanno"].ToString();
stocks.Add(stock);
}
reader.Close();
connection.Close();
stockdataGridView1.DataSource = stocks;
}
private void deletebutton_Click(object sender, EventArgs e)
{
int id = (int)stockdataGridView1.CurrentRow.Cells["id"].Value;
string connectionString = @"Server=.\SQLEXPRESS; Database = stock; integrated Security = true";
SqlConnection connection = new SqlConnection(connectionString);
string query = "delete from stocktable1 where id=" + id;
SqlCommand command = new SqlCommand(query, connection);
connection.Open();
int rowaffected = command.ExecuteNonQuery();
connection.Close();
stockdataGridView1.Update();
stockdataGridView1.Refresh();
MessageBox.Show("deleted");
}
} }
你需要给你打电话删除该行'Report_Load'后,如果这是你如何绑定在初始加载数据这个方法..怎么回事,你希望将DataGrid知道什么被删除了..? – MethodMan
当我在删除 – anasbiswas
之后调用这个函数时,Report_Load(object sender,EventArgs e)方法的参数应该更频繁地使用,你的代码中包含重复的静态语句调用这样的建立连接,包含函数内的那些语句和调用该功能为您节省了重写这些状态的麻烦! – Aboudi