我如何隐藏一个特定的列从dataGridView

本文关键字:dataGridView 一个 何隐藏 隐藏 | 更新日期: 2023-09-27 18:01:24

如何隐藏DataGridview中的特定列及其标题同时又能利用它的价值?(只是没有显示出来)。下面的代码不起作用

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

我如何隐藏一个特定的列从dataGridView

试试这个:

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

隐藏窗体中的列

这是100%正确的解决方案....this.dataGridView1.Columns[0].Visible = false;

将列名/s添加到网格视图的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,如果你不想。

随你怎么称呼。无论是否可见,数据仍然对应用程序可用。

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列,你应该有一个条件.

if(userlevel != 'Administrator')
{
      GridView.Columns["ColumnName"].Visible = false;
}
GridView.Columns[index of Column].Visible = false;
相关文章: