[英]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.