C# dataGridViewのヘッダー及び内容クリア

タグの編集
投稿者 ケンケン  (社会人) 投稿日時 2023/9/26 09:55:00
C#
 データグリッドビューにて、下記の文てヘッダー及び内容がクリアされる
聞き、実行して見ましたが、ヘッダー及び内容がクリアされません。
 dataGridView1.DataSource = null;

 何方か分かる方ご教授お願いします。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/9/26 10:23:12
AutoGenerateColumns プロパティによって自動生成された列は消えますが、
デザイン時またはコードによって意図的に .Columns.Add された列は
DataSource をクリアしてもそのまま残ります。
https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.forms.datagridview.autogeneratecolumns

不要であれば、 .Columns.Clear(); または .Columuns.Remove(列指定); で消しましょう。
投稿者 魔界の仮面弁士  (社会人) 投稿日時 2023/9/26 10:28:17
> .Columns.Clear(); または .Columuns.Remove(列指定); で消しましょう。
失礼。書き損じました。
.Columuns.Remove ではなく
.Columns.Remove ですね。

そもそも .DataSource を使っていなかったケースでは、
.Rows.Clear(); や .Columns.Clear(); を呼ぶ方法のほか、
 dataGridView1.ColumnCount = 0;
 dataGridView1.RowCount = dataGridView1.AllowUserToAddRows ? 1 : 0;
とする方法もありそうです。
投稿者 C# dataGridViewのヘッダー及び内容クリア  (社会人) 投稿日時 2023/9/26 13:46:26
回答ありがとうございます。

dataGridViewをコードによる追加した場合
 ・ヘッダー及び内容のクリア
       dataGridView1.Rows.Clear();
         dataGridView1.ColumnCount = 0;
で上手い行きました。