|
分類:[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; }
}
}
}
|