我正在为工作编写一个数据库编辑器/物料清单制作器(2个单独的.exe),并且我有这个疯狂的问题。以下是流程在应用程序中的工作方式:打开数据库,搜索数据库,检查需要的项目,发送到物料清单制造商,另存为.xls。在C#中检查ListView以检查项目的最佳方法是什么?
到目前为止,我可以将检查的项目发送到BOM Maker,但只有当我打开搜索窗口时,检查项目,而不实际搜索列表。目前在数据库编辑器的搜索表单,我有这样的循环:
for (int i = 0; i < rowCount; i++)
{
if (ResultBox1.Items[i].Checked == true)
{
//Code that creates .txt file to be loaded by the BOM Maker...
}
}
环路完美的作品,但只有当我尽量避免使用搜索功能。搜索功能会清除ListView,并用结果填充它,但为什么这很重要?
我得到的错误是: '22' 的
InvalidArgument = Value是不是 有效的 '索引'。参数名称: 索引
'22'是我检查的相对于我用来从头开始填充ListView的数组的行。
除非我需要看看我的搜索方法,是否有另一种方式来执行此操作? 我在“foreach”循环中没用,任何人都可以给我一个意见?
谢谢!
我试图用你的代码,但是对于if语句中,“.Checked”选项是不存在的‘项目’。任何想法我怎么能得到它? – 2009-08-21 15:48:35
AHA !!我想通了,而不是“var”,我用“ListViewItems”,而现在它就像一个魅力。谢谢! – 2009-08-21 17:19:25
啊,对不起 - 它可能假定'item'是Object类型的。我的坏 - 我会更新我的答案。 – 2009-08-21 23:21:54