簡體   English   中英

找不到DataGridView的列名

[英]DataGridView's Column name not found

為什么我沒有找到MyEntity和FullName列的列名稱的異常? 雖然我看到列名在UI中顯示。

InitializeComponent();

dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

foreach (DataGridViewRow row in dataGridView1.SelectedRows)
{
    int rowIndex = dataGridView1.Rows.IndexOf(row);
    myObject = dataGridView1.Rows[rowIndex].Cells["MyEntity"].Value as IEntityObject;
    fileName = dataGridView1.Rows[rowIndex].Cells["FullName"].Value.ToString();       
}

因為,令人憤慨的是,datagridview列實際上並沒有與DataTable列名相同。 如果查看設計器“屬性”窗口中的列集合,您將看到它可能被命名為“DataGridViewColumn4”或類似名稱。

如果您知道索引,則應使用該索引,或將列重命名為DT列名稱。

包含它並不是很明顯,以編程方式向您的datagridview添加一個名稱為set的復選框應如下所示:

        DataGridViewCheckBoxColumn col = new DataGridViewCheckBoxColumn();
        col.Width = 90;
        col.HeaderText = "Sync To Vend?"; //Header cell text
        col.Name = "SyncVendBox"; //This is the important part
        ProductGrid.Columns.Insert(2, col);

如果你想勾選復選框:

        for (int i = 0; i < ProductGrid.Rows.Count; i++)
        {
            ProductGrid.Rows[i].Cells["SyncVendBox"].Value = true;
        }

暫無
暫無

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

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