我是WinForms的新手,我無法理解如何將其他數據添加到ListViewItem
?我記得在MFC中,我可以使用SetItemDataPtr
,但是如何在WinForms中執行此操作?將附加數據添加到WinForms ListViewItem
1
A
回答
2
可以使用ListViewItem.Tag屬性來存儲一個參考的任何對象,SetItemDataPtr相當於()。名稱屬性可以方便地用作字典<>中的鍵。 Index屬性可以用於索引List <>。後兩種方法是更好的解決方案,您通常希望將數據與視圖分開。
2
你看過MSDN上的ListViewItem類嗎?那裏有豐富的信息和樣本。
// Create three items and three sets of subitems for each item.
ListViewItem item1 = new ListViewItem("item1",0);
// Place a check mark next to the item.
item1.Checked = true;
item1.SubItems.Add("1");
item1.SubItems.Add("2");
item1.SubItems.Add("3");
ListViewItem item2 = new ListViewItem("item2",1);
item2.SubItems.Add("4");
item2.SubItems.Add("5");
item2.SubItems.Add("6");
ListViewItem item3 = new ListViewItem("item3",0);
// Place a check mark next to the item.
item3.Checked = true;
item3.SubItems.Add("7");
item3.SubItems.Add("8");
item3.SubItems.Add("9");
0
其中一種方式:您需要創建自己的班級,例如MyItem
並將您的物品放入List<MyItem>
。然後使用數據綁定。類MyItem
應該實現ToString()
返回字符串的方法將顯示在ListView中。
5
最推薦的方法是創建自己的類,從ListViewItem
派生,並將此類的實例添加到ListView
。這樣您可以將任何數據存儲在項目中。
這比使用Tag
屬性更好,因爲幾個原因:
- 你的項目的數據類型可以是安全的,你就不必從Object強制每個訪問。
- 您可以存儲多個值。
- 在面向對象編程方面它更加正確。
- 您可以將
Tag
屬性免費留作未來可能的擴展使用。
相關問題
- 1. 如何將id附加到ListViewItem?
- 2. 將組合框添加到ListViewItem
- 3. 將事件添加到WinForms?
- 4. 將數據附加到dropzone
- 5. 將數據附加到NSDictionary
- 6. 將數據添加到數據綁定的DataGridView(的WinForms,C#)
- 7. Winforms將列添加到數據綁定數據網格
- 8. 如何將附加數據添加到Django消息中?
- 9. 如何將附加數據添加到mule有效載荷?
- 10. 將數據幀附加到CSV時添加運行編號
- 11. ExtJS將附加數據添加到表單的帖子中
- 12. 將附加數據添加到$ form.serialize()ajax post?
- 13. 將附件添加到Slackbot
- 14. 將附加數據附加到PHP中的數組中
- 15. 添加附件到ListInstance數據節點?
- 16. 將滾動條添加到附加框
- 17. 無法將附加值添加到cookie
- 18. 添加附加參數到函數
- 19. 將元數據附加到數組
- 20. 如何將數據網格添加到winforms中的組合框?
- 21. 將附加數據添加到由Django串化器返回的模型數據
- 22. 添加類以附加數據
- 23. 將數據添加到GraphViewSeries
- 24. 將數據添加到plist
- 25. 將數據添加到SQLite
- 26. 將數據添加到列
- 27. 將數據添加到表
- 28. 將數據添加到arraylist
- 29. 將數據添加到DataGridView
- 30. 將數據添加到ConnectableObservable
噢,非常感謝) – 2010-12-06 20:50:26
@Sanja Melnichuk:索引不完全適用於存儲項目中的任意數據,因爲索引也控制列表中項目的順序。名稱有一些限制,如不支持名稱中的空格,並且不支持具有相同名稱的多個項目。我強烈建議從ListViewItem派生一個類,並將數據定義爲此項的成員。看到我的回答如下... – Ran 2010-12-06 20:57:42