C#| DataGridView以编程方式设置列类型

时间:2011-09-27 15:52:37

标签: c# xml datagridview column-types

我正在构建一个将xml加载到datagridview的程序,

但是我需要再添加2个列,其中一个带有按钮,另一个带有图像。

我如何在这里添加它们??

     DataSet data = new DataSet(); string p = System.IO.Path.Combine(Application.StartupPath, "payday.xml");
                    data.ReadXml(p);
                    this.dataGrid.DataSource = data;
                    this.dataGrid.DataMember = "costumer";
                    int i = 0;
                    foreach (DataGridViewColumn column in this.dataGrid.Columns)
                    {
                        if (column.Name == "Name" || column.Name == "Status" || column.Name == "URL" || column.Name == "type" || column.Name == "Last-Checked-Pay")
                        {
                            column.Visible = true;
                            column.Width = (int)(dataGrid.Width * .2) + (column.Name.Length / 2);
                        }
                        else
                        {
                            //I tried to do it here:
                            //dataGrid.Columns[i+1].CellType = new DataGridViewButtonColumn();
                            //dataGrid.Columns[i+1].HeaderCell.
                        }
                        i++;
                    }

1 个答案:

答案 0 :(得分:0)

This will help添加到列集合中(尽管您可以通过使用DataGridView上的Add隐式添加到集合来简化添加)。就添加数据而言,您可能希望使用行绑定事件进行添加,以便可以填充这些列。

另一个选项是添加数据集所需的信息,然后绑定新添加的列(字段)。

第一个选项以编程方式使用DataGridView进行dink,而第二个选项允许您为DataGridView添加声明性设置并按摩绑定的数据。

选择哪个?如果DataGridView总是有这些字段,我会按摩数据。如果添加的列仅在某些时候出现,我将以编程方式更改DataGridView。