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

本文关键字:设置 类型 方式 编程 DataGridView | 更新日期: 2023-09-27 18:09:43

我正在构建一个将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++;
                    }

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

这将有助于添加到列集合(尽管您可以通过在DataGridView上使用add隐式添加到集合来简化添加)。就添加数据而言,您可能希望使用行绑定事件进行添加,以便可以填充这些列。

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

第一个选项以编程方式与DataGridView连接,而第二个选项允许您为DataGridView添加声明性设置并传递绑定的数据。

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