我在ObjectListView組件中將FullRowSelect和MultiSelect屬性設置爲true,但我仍然需要通過按下Ctrl鍵來選擇多行。那麼,是否有辦法在沒有按下Ctrl或Shift鍵的情況下進行多選?有沒有方法可以在沒有按下Ctrl鍵的情況下在ObjectListView中進行多重選擇?
1
A
回答
0
我想我有一個工作解決方案。本例中的模型對象是「Item」類型。有關解釋請參閱代碼註釋。
// We require a list to remember which items should stay selected
private List<Item> _MultiSelectList;
public Form1() {
// <other stuff>
_MultiSelectList = new List<Item>();
}
// use this event to check which item has been clicked
private void objectListView1_MouseClick(object sender, MouseEventArgs e) {
objectListView1.BeginUpdate();
// any item clicked?
if (objectListView1.MouseMoveHitTest.Item != null) {
var item = objectListView1.MouseMoveHitTest.Item.RowObject as Item;
// model object of expected type available?
if (item != null) {
// add or remove item from list to effectively toggle selection
if (_MultiSelectList.Contains(item)) {
_MultiSelectList.Remove(item);
} else {
_MultiSelectList.Add(item);
}
}
}
// select all desired items
objectListView1.SelectObjects(_MultiSelectList);
objectListView1.EndUpdate();
}
// optional: to prevent flickering from the native item selection change, we freeze the OLV contents during the mouse click
private void objectListView1_MouseDown(object sender, MouseEventArgs e) {
objectListView1.Freeze();
}
private void objectListView1_MouseUp(object sender, MouseEventArgs e) {
objectListView1.Unfreeze();
}
+0
這很好!非常感謝你! –
+0
完成。但我在這裏是一個新手,名聲不到15,所以我現在不能投票表決。順便說一下,是否有一種簡單的方法可以取消選擇所選行中的最後一行?很容易取消選擇「_MultiSelectList」中其他行的行,但當通過單擊該行取消選擇最後一行時,它會再次突出顯示。 –
+0
我不確定它是否是ObjectListView的屬性 –
相關問題
- 1. 有沒有什麼辦法可以在不使用Ctrl鍵的情況下進行多重選擇
- 2. 如何在沒有按下c#鍵的情況下按下鍵?
- 3. 有沒有方法可以在沒有GraphQL的情況下使用Relay?
- 4. 如何在沒有選擇的情況下進行左連接
- 5. 只有在沒有子女的情況下選擇父行
- 6. Jprofiler可以在沒有IDE的情況下進行集成
- 7. 我可以在沒有設備的情況下進行構建
- 8. 在這種情況下有沒有辦法避免多重嵌套選擇?
- 9. 有了SubSonic,有沒有一種方法可以在沒有外鍵的情況下表達關係?
- 10. 在Ruby中,沒有結束的情況下可以進行雙重救援嗎?
- 11. 有沒有任何方法可以在沒有用戶交互的情況下在iBook中運行javascript?
- 12. 在沒有複選框的情況下在gridview中選擇多行
- 13. 我可以在沒有鍵盤的情況下訪問stdin嗎?
- 14. FileReader在沒有選擇文件的情況下無法工作
- 15. 如何在沒有指定行的情況下選擇一列?
- 16. 在ASP.net 4.0的GridView中沒有選擇按鈕的情況下有OnSelect事件?
- 17. 有沒有任何方法可以在沒有交互式消息的情況下獲得按鈕回答?
- 18. 如何在沒有主鍵的情況下從表中選擇不同的行
- 19. 有沒有辦法在Silverlight中沒有Webclient的情況下下載文件?
- 20. 在沒有Xcode的情況下注冊iPhone以進行開發
- 21. 爲什麼該方法在沒有選擇項目的情況下運行?
- 22. 我可以在沒有WebView的情況下運行Javascript,還是可以在沒有Activity上下文的情況下運行WebView(例如在服務中)?
- 23. 在Visual Studio中,有沒有一種方法可以按使用情況對私有方法進行排序?
- 24. 在Vulkan中可以在沒有Surface的情況下進行離屏渲染嗎?
- 25. AspxGridView:無法在沒有SortCount的情況下進行排序
- 26. 有沒有一種簡單/有效的方法可以在沒有多個連接的情況下在一個ID中執行多重查詢?
- 27. 有沒有方法可以在沒有「Response.Write」的情況下在頁面中插入文本?
- 28. 有沒有一種方法可以在沒有iframe覆蓋的情況下在Silverlight中顯示HTML?
- 29. 在沒有轉譯的情況下在SCSS中進行註釋
- 30. 在沒有拆分的情況下在JavaScript中進行交換
有趣的問題。我很肯定這不是本地支持的。我認爲它不易實施。如果您不想混淆OLV代碼,一種方法可能是處理某些事件,即選擇已更改,跟蹤以前選擇的項目並在選擇結束後以編程方式重新選擇它們。 –