14

如何在DataGridview能够使用其值的同时隐藏特定的列及其标题?(只是没有显示)。以下代码不起作用。

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

6 回答 6

44

试试这个:

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

隐藏 Windows 窗体 DataGridView 控件中的列

于 2013-02-26T13:20:56.307 回答
4

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

于 2015-08-21T08:19:55.383 回答
0

将列名添加到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到。

于 2013-02-26T13:36:55.503 回答
0

如果你想隐藏gridview列,你应该有一个条件..

if(userlevel != 'Administrator')
{
      GridView.Columns["ColumnName"].Visible = false;
}
于 2017-08-03T08:47:22.097 回答
0

以你认为合适的方式称呼它。无论是否可见,应用程序仍然可以使用数据。

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;
        }
    }
}
于 2021-02-24T13:59:28.473 回答
-2
GridView.Columns[index of Column].Visible = false;
于 2021-04-20T11:48:28.530 回答