Древовидное представление Asp.net - событие не запускается при нажатии на тот же узел - PullRequest
1 голос
/ 14 апреля 2011

Есть ли способ вызвать событие SelectedNodeChanged при выборе узла дважды.Я не могу использовать код «treeview.SelectedNode.Selected = false», так как мне нужно показать выбранный узел дерева, но в то же время я хочу получить какое-то событие, чтобы я мог зафиксировать щелчок по узлу.Есть ли способ сделать это?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 14 апреля 2011

Что вы можете сделать, это поместить код в другое событие, например, prerender, и вы можете определить, изменился ли выбор, используя переменную логического класса, например blnIsChanged. Это значение имеет значение по умолчанию, равное false. В событии SelectedNodeChanged устанавливается значение true, поэтому вы можете иметь оператор if в предварительном представлении (или любое событие, которое сработает после события SelectedNodeChanged), которое может выполнить ваш код, если blnIsChanged = false и выполнить ничего, если это = истина.

Пример:

Partial Class YourPageWithaAtreeView  
    Inherits System.Web.UI.Page  
Dim _blnSelectionChanged as Boolean = false



Protected Sub MyTree_SelectedNodeChanged(byval sender as object, byval e as eventargs) handles MyTree.SelectedNodeChanged  
   _blnSelectionChanged = true //The selection changed
End Sub
Protected Sub MyTree_PreRender(byval sender as object, byval e as eventargs) handles MyTree.PreRender
    if _blnSelectionChanged = false Then
      //Because the boolean is not true that means that 
      //the selected node didn't change
      //insert the code you want to execute when the user
      //clicks the already selected node
    end if
End Sub
0 голосов
/ 14 апреля 2011

Да, действительно досадно, что для стандартного элемента управления TreeView нет события OnNodeClick ().

В итоге я использовал Telerik версию (RadTreeView), которая поддерживаетthis event.

Другой способ - написать свой собственный обработчик в обходном порядке, как описано здесь: http://www.programmersheaven.com/mb/csharp/341363/341363/event-handling-treeview/

...