[英]How to empty the cells of a DataGridView in C#?
我已經在 SO 上發現了類似的問題,實際上是在整個網絡上。 雖然我還沒有找到有效的答案。
所以我正在使用 Visual Studio 2008 在 Windows 窗體應用程序中工作。語言是 C#
我有一個未綁定到數據源的 DataGridView。
所以:
MyDataGridView.DataSource = null;
行不通...
我也試過
MyDataGridView.Rows.Clear();
但這會刪除我所有的自定義行。
所以我現在正在尋找一種方法來清空所有單元格的內容(不包括標題單元格)。 所以它不應該影響其他任何東西,但單元格本身的內容。
for (int i = 0; i < MyDataGridView.Columns.Count ;i++ )
{
for (int j = 0; j < MyDataGridView.Rows.Count; j++)
{
MyDataGridView.Rows[j].Cells[i].Value = DBNull.Value;
}
}
我只是想出了如何自己做,我只是在表格中循環,清除我遇到的每個單元格。
注意:“dgUsers”是我的 DataGridView 的名稱
for (int i = 0; i < dgUsers.Columns.Count ;i++ )
{
for (int j = 0; j < dgUsers.Rows.Count; j++)
{
dgUsers.Rows[j].Cells[i].Value = "";
}
}
我敢打賭有更好的方法來做到這一點,這可能看起來有點草率,但它確實可以。 但我想聽到一個更好的解決方案來清除數據。
我相信使用 LINQ 可以使它更干凈,特別是使用隱式類型:
foreach (var cell in from DataGridViewRow row in dgv.Rows from DataGridViewCell cell
in row.Cells select cell){
cell.Value = string.Empty;
}
pieter888 的代碼對我不起作用 我發現的代碼是
int cnt=dataGridView1.Rows.Count;
for (int i = 0; i < cnt; i++)
{
dataGridView1.Rows.Remove(dataGridView1.Rows[0]);
}
您可以使用清除整個網格
gridviewname.columns.clear();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.