首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在虚拟模式下从数据网格检索行时出现C#异常

在虚拟模式下从数据网格检索行时出现C#异常
EN

Stack Overflow用户
提问于 2009-07-27 13:47:32
回答 4查看 1.3K关注 0票数 0

当我从一个虚拟模式数据网格中检索一个行列表时,我总是得到一个异常(见下文),只有当我的行数超过了我可以在屏幕上显示的行数时才会发生这种情况,而且这种情况并不是每次都会发生。关于虚拟模式,我还遗漏了什么吗?

Update>下图显示了问题,索引现在超出了列表范围。这样做的原因是,假设我有10个项目,我隐藏了5个项目,因为它们不需要,我想在这5个项目上运行一些代码,现在有5个项目,但其中一些项目的索引可能在5-9之间,我如何重新索引?当我在visible 5上运行一些代码时,我会显示隐藏的5,所以我不想丢弃它们,当它们都可见时,我需要再次重新索引。非常感谢。

EN

回答 4

Stack Overflow用户

发布于 2009-07-27 13:56:50

我只在DataGridView中使用了虚拟模式,但在虚拟模式下,您应该自己存储数据,并在数据网格需要渲染时提供它。我认为datagrid只创建填充视图所需的最少数量的项,然后出于性能原因重用它们。

票数 0
EN

Stack Overflow用户

发布于 2009-07-27 14:03:48

对我来说,这看起来有点像是线程问题。您是否在使用BackgroundWorker或类似的方法来填充_items变量?看起来当你在_items上循环的时候,它的数量正在发生变化。

也许你可以尝试用下面的代码包围任何和所有处理_items的代码:

代码语言:javascript
运行
复制
lock (_items) 
{
    // your code
}

或者,如果您的填充/修改代码仍在运行,则中断这些函数并返回null (也许可以使用某种布尔型标记变量)。

票数 0
EN

Stack Overflow用户

发布于 2009-07-27 14:23:20

您是如何设置数据绑定的。

你有没有可能在底层数据集上工作,而不是通过数据网格。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1188244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档