| 分類:[C#]
こんにちは。 以下のように、DataGridViewにIListとDataSourceを使って 行の追加を行っています。
しかし、その後でColumns[n].Nameに新しく列名を指定しても、 元の列名(Modelクラスのプロパティ名)を変えることができません。 Columns[n].Widthなどは問題なく変更できます。
AutoGenerateColumnsをfalseに設定して、カラムを手動で追加し、 その際に名前を指定すれば問題ないこともわかったのですが…。
今回は列名を変更したいだけなので、 できればこの方法でシンプルに変更したいと思っています。
ご助言お願いいたします。 ---------- public partial class MyDataGridView : Form { public MyDataGridView() { InitializeComponent();
dataGridView1.DataSource = GetDataSource(); dataGridView1.Columns[0].Name = "名前"; dataGridView1.Columns[0].Width = 100; dataGridView1.Columns[1].Name = "コンテンツ"; dataGridView1.Columns[1].Width = 300; }
private IList<MyRowModel> GetDataSource() { List<MyRowModel> list = new List<MyRowModel>();
list.Add(new MyRowModel("aiueo", "あいうえお")); list.Add(new MyRowModel("kakikukeko", "かきくけこ"));
return list; }
private class MyRowModel { string m_Name; string m_Contents;
public MyRowModel(string name, string cont) { m_Name = name; m_Contents = cont; }
public string Name { get { return m_Name; } }
public string Contents { get { return m_Contents; } } } }
|