我正在爲工作編寫一個數據庫編輯器/物料清單製作器(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