簡體   English   中英

C#| DataGridView以編程方式設置列類型

[英]C# | DataGridView set column type programmatically

我正在構建一個將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++;
                    }

這將有助於添加到列集合(盡管您可以通過使用DataGridView上的“添加”隱式添加到集合中來簡化添加)。 就添加數據而言,您可能希望使用行綁定事件進行添加,以便可以填充這些列。

另一個選項是將所需的信息添加到數據集,然后綁定新添加的列(字段)。

第一個選項以編程方式與DataGridView綁定,而第二個選項使您可以為DataGridView添加聲明性設置並處理綁定的數據。

選擇哪個? 如果DataGridView始終具有這些字段,我將處理數據。 如果添加的列僅在某些時間出現,我將以編程方式更改DataGridView。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM