我有一个自定义GridView,默认显示6行数据(无论行数多少),底部有一个寻呼机。此Gridview用于许多唯一页面。在一个页面上,我有一个我设置为隐藏的列(宽度0和Css-Display =无)我需要 - 程序的另一部分取决于它是这样设置的。
该列在有数据的行中不可见(因为它不应该是)。但是,该列在空行中显示为空列(不应该是可见的)。如何让EMPTY行隐藏COLUMN呢?
答案 0 :(得分:1)
听起来你有一些自定义实现来显示空行(因此总是显示6个),这些行可能使用与常规行不同的模板,或者根本不使用模板。问题很可能是您的空行定义没有将宽度和css属性应用于隐藏列。
您是否可以发布实现该功能的方式以显示空行?
答案 1 :(得分:1)
如果有人仍在搜索此问题的简单答案,我已发布此内容
您可以使用GridView的OnRowCreated事件,并将空行的columnspan值指定为可见列的数量。请参阅以下示例代码
protected void grd_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.EmptyDataRow)
e.Row.Cells[0].ColumnSpan = 7; // number of visible columns;
}
答案 2 :(得分:0)
在我的GridView_DataBound函数中,为每个存在的列生成单元格 - 它是如何填充空单元格的。我添加了if语句来检查字段是否应该被隐藏,并确保自动生成的单元格也被隐藏。
foreach (DataControlField field in _gridView.Columns)
{
TableCell cell = new TableCell();
cell.Text = " ";
if (field.ItemStyle.CssClass == "hideGridColumn")
cell.Visible = false;
row.Cells.Add(cell);
}