gpt4 book ai didi

c# - 如果所有行数据为空隐藏列

转载 作者:行者123 更新时间:2023-11-30 20:56:36 24 4
gpt4 key购买 nike

使用 MS Visual Studio 2012、Telerik、C#.ASP.NET。

我需要的逻辑如下:

If a columns data on all rows is null then hide the column

基本上,如果一列有 3 行数据,如果全部为 null,则不必费心显示该列,但是如果其中 1 行有值,则显示该列。

一直在玩:

foreach (GridColumn columns in dgvUserResults.Columns)
{
if (columns != null)
{
columns.Visible = false;
}
else
{
columns.Visible = true;
}
}

代码不起作用当然不会遍历 foreach 循环只是跳过它。尽管即使它确实遍历了我也不会为此烦恼,但我需要一种方法来检查所有 column[name] 行是否为空。有漂亮的 Telerik one 类轮吗?

最佳答案

请尝试使用以下代码片段。

使用唯一名称

protected void RadGrid1_PreRender(object sender, EventArgs e)
{
foreach (GridColumn column in RadGrid1.MasterTableView.Columns)
{
// If you used ClientSelectColumn then below code is not worked For that you have to put condition
//if(column.ColumnType == "GridBoundColumn")

int TotalNullRecords = (from item in RadGrid1.MasterTableView.Items.Cast<GridDataItem>()
where string.IsNullOrWhiteSpace(item[column.UniqueName].Text) ||
item[column.UniqueName].Text == "&nbsp;"
select item).ToList().Count;

if (TotalNullRecords == RadGrid1.MasterTableView.Items.Count)
{
RadGrid1.MasterTableView.Columns.FindByUniqueName(column.UniqueName).Visible = false;
}
}
}

通过使用索引

protected void RadGrid1_PreRender(object sender, EventArgs e)
{


foreach (GridColumn column in RadGrid1.MasterTableView.Columns)
{
// If you used ClientSelectColumn then below code is not worked For that you have to put condition
//if(column.ColumnType == "GridBoundColumn")

int TotalNullRecords = (from item in RadGrid1.MasterTableView.Items.Cast<GridDataItem>()
where string.IsNullOrWhiteSpace(item[column.UniqueName].Text) ||
item[column.UniqueName].Text == "&nbsp;"
select item).ToList().Count;

if (TotalNullRecords == RadGrid1.MasterTableView.Items.Count)
{
column.Visible = false;
}


}
}

关于c# - 如果所有行数据为空隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17447191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com