簡體   English   中英

如何隱藏 dataGridView 中的特定列?

[英]How can I hide a specific column form a dataGridView?

如何在能夠使用其值的同時隱藏DataGridview的特定列及其標題? (只是沒有顯示)。 以下代碼不起作用。

 gridview.Rows[e.RowIndex].Cells[11].Visible = false;

試試這個:

gridview.Columns["ColumnName"].Visible = false;

在 Windows 窗體 DataGridView 控件中隱藏列

這是 100% 正確的解決方案.... this.dataGridView1.Columns[0].Visible = false;

將列名稱添加到網格視圖的DataKeyNames ...

<asp:gridview id="GridView1" runat="server" datakeynames="ColumnName" onselectedindexchange="GridView1_SelectedIndexChanged"></asp:gridview>

然后您可以訪問背后代碼中的數據鍵...

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    textbox.Text = GridView1.DataKeys[GridView1.SelectedIndex].Values["ColumnName"].ToString();
}

您可以通過用逗號分隔來添加更多DataKeyNames 然后,如果您不想,則根本不需要將該列添加到GridView

如果你想隱藏 gridview 列,你應該有一個條件..

if(userlevel != 'Administrator')
{
      GridView.Columns["ColumnName"].Visible = false;
}

稱其為您認為合適的方式。 無論是否可見,應用程序仍然可以使用這些數據。

private void showHideGridColumns(bool show)
{
    List<String> lstColNames = new List<string>();
    lstColNames.Add("Column1");
    lstColNames.Add("Column2");
    lstColNames.Add("Column3");
    lstColNames.Add("Column4");
    foreach (DataGridViewColumn Col in DataGridView1.Columns)
    {
        if (!lstColNames.Contains(Col.Name.ToString()))
        {
            Col.Visible = show;
        }
    }
}
GridView.Columns[index of Column].Visible = false;

暫無
暫無

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

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