トップ回答者
DataGridViewの初期化について

質問
-
C#のフォーラムに再投稿させていただきます。
ありがとうございました。
※投稿の質問内容はVisual C# Express Edition の以下のスレッドをご覧ください。
・DataGridViewについて(初心者です)- 編集済み kizakura_ui 2014年8月11日 8:14 フォーラムを間違えたので
- 編集済み 星 睦美 2014年8月21日 2:51 再投稿先のリンク
回答
-
> toolStripDRead_Click()2回目で、”住所”・”ID”・”ボタン”項目の後ろに、
> ”Name”・”Age”項目が追加され、”大阪”・”京都”・”奈良”が”Name”列に、
> ”11111”・”22222”・”33333”が”Age”列にセットされてしまいます。
> ”ボタン”列は正しく3個追加されています。それより前は期待通りに動いていて、そこのところで期待通りにならないと言うことですか? では、期待した結果としてはどのようになればいいのでしょうか?
(想像すれば分かるだろうとは言わないでくださいね。回答者が想像しないで済むように書いてください)
#ご自分の環境(OS, .NET のバージョンなど)を書くようにしましょう。#適切なフォーラムを選んで質問しましょう。Visual C++ Express Edition のフォーラムは適切ではないですよね。
- 回答としてマーク kizakura_ui 2014年8月11日 8:03
-
AutoGenerateColumns プロパティがtrueだと表示したいデータ(クラスD)に含まれているけれど表示するように設定されていない項目の列が自動的に追加されます。
1回目はNameとAgeを表示する列を定義しているので自動的に列は追加されません。しかし、2回目はNameとAgeを表示するための列が定義されていないために自動的に追加されてしまうということです。なおAutoGenerateColumnsはデザイナでは表示されないのでコードで設定してやる必要があります。
class D { public D(string name, int age) { Name = name; Age = age; } public string Name { get; set; } public int Age { get; set; } } public partial class Form1 : Form { public Form1() { InitializeComponent(); this.dataGridView1.AutoGenerateColumns = false;//このプロパティをコードから設定してやる } //省略 }
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答としてマーク kizakura_ui 2014年8月11日 8:06
すべての返信
-
> toolStripDRead_Click()2回目で、”住所”・”ID”・”ボタン”項目の後ろに、
> ”Name”・”Age”項目が追加され、”大阪”・”京都”・”奈良”が”Name”列に、
> ”11111”・”22222”・”33333”が”Age”列にセットされてしまいます。
> ”ボタン”列は正しく3個追加されています。それより前は期待通りに動いていて、そこのところで期待通りにならないと言うことですか? では、期待した結果としてはどのようになればいいのでしょうか?
(想像すれば分かるだろうとは言わないでくださいね。回答者が想像しないで済むように書いてください)
#ご自分の環境(OS, .NET のバージョンなど)を書くようにしましょう。#適切なフォーラムを選んで質問しましょう。Visual C++ Express Edition のフォーラムは適切ではないですよね。
- 回答としてマーク kizakura_ui 2014年8月11日 8:03
-
AutoGenerateColumns プロパティがtrueだと表示したいデータ(クラスD)に含まれているけれど表示するように設定されていない項目の列が自動的に追加されます。
1回目はNameとAgeを表示する列を定義しているので自動的に列は追加されません。しかし、2回目はNameとAgeを表示するための列が定義されていないために自動的に追加されてしまうということです。なおAutoGenerateColumnsはデザイナでは表示されないのでコードで設定してやる必要があります。
class D { public D(string name, int age) { Name = name; Age = age; } public string Name { get; set; } public int Age { get; set; } } public partial class Form1 : Form { public Form1() { InitializeComponent(); this.dataGridView1.AutoGenerateColumns = false;//このプロパティをコードから設定してやる } //省略 }
個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)
- 回答としてマーク kizakura_ui 2014年8月11日 8:06