簡體   English   中英

將列添加到 datagridview 用戶控件

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

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