gpt4 book ai didi

c# - WPF - RadGridView 循环遍历行。无法获取所有行

转载 作者:太空宇宙 更新时间:2023-11-03 12:55:50 29 4
gpt4 key购买 nike

我正在尝试遍历我的 RadGridView 行,但是当我有超过 20 或 30 个项目时,循环不会获取所有行。

例如:在具有 5 个项目的 radgridview 中使用此代码,我可以获取所有项目并做任何我想做的事情,但是当我的网格有超过 20 个项目时,它只有 10 行。这是一个错误还是类似的东西?我该如何解决?

这是我的代码:

private List<object> ReturnListFounds(string text)
{
List<object> a = new List<object>();
foreach (var item in myGrid.Items)
{
if (item == null)
continue;
GridViewRow row = myGrid.ItemContainerGenerator.ContainerFromItem(item) as GridViewRow;

if (row == null)
continue;

foreach (GridViewCell cell in row.Cells)
{
if (cell != null && cell.Value != null)
{
string str = cell.Value.ToString();

if (str.Equals(text, StringComparison.InvariantCultureIgnoreCase) || str.ToLower().Contains(text.ToLower()))
{
a.Add(row.Item);
break;
}
}
}
}

return a;
}

@编辑

我发现了问题。事情是:如果项目在 View 区域之外,方法“ItemContainerGenerator.ContainerFromItem(item) as GridViewRow”返回 null。但我在包含 123 个项目的网格中使用此方法,我只能获得前 20 个项目的行。我需要能够获取所有项目,而不仅仅是 View 区域中的项目。我已经尝试将虚拟化设置为 false(EnableRowVirtualization = false;EnableColumnVirtualization = false;),但效果不佳。

有没有办法使用这种方法获取所有行?

最佳答案

你试过吗?

var rows = StrategyGridView.ChildrenOfType<GridViewRow>();

它对我来说很好用。希望对您有所帮助!

关于c# - WPF - RadGridView 循环遍历行。无法获取所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33895403/

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