[英]add columns to datagridview usercontrol
我為datagridview 創建了一個用戶控件。
我將其設置為gridview.autoGeneratecolumn = false;
在用戶控件中。
問題:如何在我的 UI 表單中向用戶控件添加列?
我無法將默認列添加到用戶控件,因為其他 UI 表單可能不使用相同的列。
如果我不放gridview.autoGeneratecolumn = false;
,然后自動生成的列將顯示我的數據庫列名稱,而不是我想向用戶顯示的名稱。
您始終可以將 datagridview 的 Columns 屬性公開為用戶控件的屬性。
public partial class MyUserControl : UserControl
{
// This property will be visible in your usercontrols property window in the designer
public DataGridViewColumnCollection Columns
{
get { return dataGridView1.Columns; }
}
public MyUserControl()
{
InitializeComponent();
this.dataGridView1.AutoGenerateColumns = false;
}
}
如果將用戶控件放到窗體或其他控件上,則可以在設計器屬性 window 中訪問 Columns 屬性。
擴展上面的屬性
private List<string> _list = new List<string>();
private List<string> ColList
{
get { return _list; }
set { _list = value; }
}
private DataGridViewTextBoxColumn AddColumns(string Name)
{
DataGridViewTextBoxColumn col = new DataGridViewTextBoxColumn()
col.Name = Name;
col.HeaderText = Name;
col.HeaderCell.Style.WrapMode = DataGridViewTriState.NotSet;
col.ToolTipText = Name;
col.AutoSizeMode = DataGridViewAutoSizeColumnMode.ColumnHeader;
col.MinimumWidth = 80;
col.DataPropertyName =Name;
return col;
}
然后,您可以遍歷 ColumnList 和 Add 並設置列的基本屬性
foreach(string s in ColList)
{ datagridview1.Columns.Add(AddColumns(s)); }
嘗試此鏈接,了解如何創建gridview.autoGeneratecolumn
設置為false
的列
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.