C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 76 を表示中)
■45169 / )  DataGridViewの列名の変更について
□投稿者/ simano (23回)-(2010/01/04(Mon) 20:29:26)

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

返信 編集キー/


管理者用

- Child Tree -