如何在DataGridview
能够使用其值的同时隐藏特定的列及其标题?(只是没有显示)。以下代码不起作用。
gridview.Rows[e.RowIndex].Cells[11].Visible = false;
这是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;