如何隐藏DataGridview
中的特定列及其标题
虽然能够使用它的价值? (只是没有显示)。
以下代码不起作用。
gridview.Rows[e.RowIndex].Cells[11].Visible = false;
答案 0 :(得分:28)
试试这个:
gridview.Columns["ColumnName"].Visible = false;
答案 1 :(得分:1)
将列名称添加到网格视图的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
。
答案 2 :(得分:1)
这是100%正确的解决方案....
this.dataGridView1.Columns[0].Visible = false;
答案 3 :(得分:0)
如果要隐藏gridview列,则应该有条件 ..
if(userlevel != 'Administrator')
{
GridView.Columns["ColumnName"].Visible = false;
}
答案 4 :(得分: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;
}
}
}
答案 5 :(得分:-2)
GridView.Columns[index of Column].Visible = false;