我躲在我的专栏使用以下链接解决方案
如何隐藏在GridView为TemplateField列
然而,这会导致更新操作的问题,因为GridView控件作为隐藏的行具有空值。 因此,如何隐藏数据绑定后列?
protected void begv_OrderDetail_RowCreated(object sender, GridViewRowEventArgs e)
{
((DataControlField)begv_OrderDetail.Columns.Cast<DataControlField>().Where(fld => fld.HeaderText == "FileNo").SingleOrDefault()).Visible = "False";
}
试试这个,
grid1.Columns[columnIndex].Visible= false;
根据提问者的评论编辑,用于获取隐藏列的值
您可以使用隐藏字段来存储逐列值。 本文章有例子,这将有助于如何使用隐藏域。
而是隐藏列的你可以把列的数据DataKeyNames中,以便日后访问这些值。 这将是抓住了如何使用有用的DataKeyNames 。 通过这种方法,你可能需要通过从数据键名称中的ID并获得备案。
尝试这个例子,(我不会说英语)
成的RowDataBound ...
protected void gvTeste_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
teste listaTeste = e.Row.DataItem as ListaTeste;
if (listaTeste.ID == 0)
{
e.Row.Cells[2].Text = "Não Atribuido";
}
if (e.Row.Cells[7].Text == "01/01/0001" || e.Row.Cells[8].Text == "01/01/0001")
{
**e.Row.Visible = false;** // disable row
}
}
}