我正在開發c#中的windows應用程序。在gridview中查詢數據
我有一個約40k記錄的gridview。
在那個gridview我有複選框。
我想只更新那些被檢查的記錄。
我寫它下面的代碼>>
for (int i = 0; i < gvTradeFile.Rows.Count; i++)
{
try
{
DataGridViewCell cell = gvTradeFile.Rows[i].Cells[0];
bool check = (bool)cell.Value;
if (check)
{
try
{
con.Open();
cmd = new SqlCommand("update tradeFile set Party_Code='" + txtTransferPartyCode.Text + "' where Party_Code='" + gvTradeFile.Rows[i].Cells[1].Value.ToString() + "' and TradeNo='" + gvTradeFile.Rows[i].Cells[6].Value.ToString() + "' and Sauda_Date='" + gvTradeFile.Rows[i].Cells[13].Value.ToString() + "' and OrderNo='" + gvTradeFile.Rows[i].Cells[14].Value.ToString() + "'", con);
cmd.ExecuteNonQuery();
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
con.Close();
}
}
}
catch (Exception ex)
{
}
}
在這一點,如果我們看一下for loop
我處理網格中的每一行。
是否有任何特定的技術,我可以通過它直接採取檢查行[通過網格中的複選框] for循環?
上面的代碼工作正常,但由於每一行都被檢查,exe被掛起。
請幫幫我。
可能是一個愚蠢的問題,但你在屏幕上顯示40k行嗎?是否有人手動檢查這些? – Dave 2013-03-22 12:22:58
是手動檢查是在行上完成的。還提供過濾器。@ DaveRook – Freelancer 2013-03-22 12:24:57