Как очистить ячейки DataGridView в C #? - PullRequest
2 голосов
/ 30 ноября 2009

Я уже нашел похожие вопросы по SO, на самом деле по всей сети. Хотя я не нашел рабочего ответа.

Итак, я работаю в приложении Windows Form, используя Visual Studio 2008. Язык C #

У меня есть DataGridView, который не связан с источником данных.

так:

MyDataGridView.DataSource = null;

не будет работать ...

Я тоже пробовал

MyDataGridView.Rows.Clear();

Но это удаляет все мои пользовательские строки.

Так что я сейчас ищу способ просто очистить содержимое всех ячеек (не включая ячейки заголовка). Так что это не должно влиять ни на что другое, кроме содержимого самих ячеек.

Ответы [ 5 ]

3 голосов
/ 19 августа 2016
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;
      }
  }
0 голосов
/ 01 июня 2015

Я считаю, что с помощью LINQ вы можете сделать его чище, особенно с неявными типами:

    foreach (var cell in from DataGridViewRow row in dgv.Rows from DataGridViewCell cell 
    in row.Cells select cell){
        cell.Value = string.Empty;
     }
0 голосов
/ 24 августа 2011

код от pieter888 не работал для меня код, который я выяснил, был

int cnt=dataGridView1.Rows.Count;
        for (int i = 0; i < cnt; i++)
        {
            dataGridView1.Rows.Remove(dataGridView1.Rows[0]);
        } 
0 голосов
/ 13 января 2012

Вы можете очистить всю сетку, используя

gridviewname.columns.clear();
0 голосов
/ 30 ноября 2009

Я просто разобрался, как это сделать сам, я просто зациклился на столе, очистив каждую ячейку, с которой столкнулся.

примечание: "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 = "";
          }
      }

Бьюсь об заклад, есть лучший способ сделать это, и это может показаться немного неаккуратным, но это делает свою работу. И все же я хотел бы услышать лучшее решение, которое очищает данные.

...