ГЛАВНАЯ     АРХИВ     НАПИСАТЬ АДМИНУ     ПОДПИСАТЬСЯ НА RSS     ВОЙТИ      

Поиск

Категории

Облако тегов

  << Предыдущий пост       Следующий пост >>  
3. сентября 2011 02:24

На ASP.NET форумах часто встретишь вопрос: как раскрыть только один родительский узел за раз в контроле TreeView ? Когда пользователь кликает на родительский узел, и он уже раскрыт, то это приведет (по любому) к его сворачиванию. Ответ на вопрос лежит в обработчике события TreeNodeExpanded, как это показано ниже:






<asp:TreeView ID="TreeView1" runat="server" 

    ExpandDepth = "0" 

    ontreenodeexpanded="TreeView1_TreeNodeExpanded">

 <Nodes>

  <asp:TreeNode Text="Managers">

    <asp:TreeNode Text="Scott" Value="EID-XY34E" />

    <asp:TreeNode Text="Brinda" Value="EID-34D78" />

    <asp:TreeNode Text="Kathy" Value="EID-563D1" />

  </asp:TreeNode>

  <asp:TreeNode Text="Accounts">

    <asp:TreeNode Text="Laura" Value="EID-QQ21E" />

    <asp:TreeNode Text="Jemmica" Value="EID-YUR78" />

    <asp:TreeNode Text="Nicole" Value="EID-TG331" />

  </asp:TreeNode>

  <asp:TreeNode Text="Admin">

    <asp:TreeNode Text="Jack" Value="EID-PO41E" />

    <asp:TreeNode Text="Victor" Value="EID-HYR78" />

    <asp:TreeNode Text="Broady" Value="EID-KL931" />

  </asp:TreeNode>

</Nodes>

</asp:TreeView>






protected void TreeView1_TreeNodeExpanded(object sender, 

    TreeNodeEventArgs e)

{

    string currValue = e.Node.Value.Trim();

    foreach (TreeNode tnode in TreeView1.Nodes)

    {

        if (tnode.Value != currValue)

        {

            tnode.Collapse();

        }

    }

}






    Protected Sub TreeView1_TreeNodeExpanded( _

    ByVal sender As Object, ByVal e As TreeNodeEventArgs)

        Dim currValue As String = e.Node.Value.Trim()

        For Each tnode As TreeNode In TreeView1.Nodes

            If tnode.Value <> currValue Then

                tnode.Collapse()

            End If

        Next tnode

    End Sub



Это перевод. Оригинал здесь.

Похожие записи


Вопросы на собеседовании C#, Net, ASP.NET, SQL
Продолжая тему вопросов на собеседовании. Нашел еще одну подборку. Оригинал лежит здесь . Перенес, чтобы не затерялось. Есть вполне вменяемые ответы (хотя, на некоторые вопросы ответил бы по-другому). Ответы находятся после списка вопросов, я их не менял. 23. Что такое шаблон проектирования Model/View/Controller? Как и зачем его применяют? 2...

Как исполнить обработчик onLoad только один раз под ASP.NET ?
Если вы работаете с ASP.NET Master/Content страницами, то JavaScript обработчик события onload будет вызываться каждый postback. Однако, если вы захотите вызвать этот обработчик только раз - во время первой загрузки, то сделаете следующее: Скопируйте этот код в секцию вашей MasterPage. <script type="text/javascript"> function invokeMeMast...

Как отменить обновление или удаление строки в контроле GridView под ASP.NET ?
Для отмены операции обновления и удаления, мы можем использовать события RowUpdating и RowDeleting. События описаны ниже: RowUpdating случается, когда кнопка Update внутри строки кликается, но перед тем как контрол GridView обновляет строку. RowDeleting случается, когда кнопка Delete внутри строки кликается, но перед тем как контрол GridView удаляет строку...

Добавить комментарий




biuquote
  • Комментарий
  • Предпросмотр
Loading


  Сохранить комментарий