刪除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