powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Нет ли примера красивой работы с каталогом
9 сообщений из 34, страница 2 из 2
Нет ли примера красивой работы с каталогом
    #33596295
pruha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня как раз VS2003 (на 2005 не заработал еще)
поэтому приходится ковыряться.
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33596769
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подвязывай ковыряться с VS2003
и начинай работать с VS2005
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33597139
pruha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати нет ссылочки где можно качнуть 2005
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33597326
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть - но об этом как бы на форуме кричать глупо - попробуй найти меня в частном порядке - поговорим...
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33598395
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автортут меня осенило - откорректировал код (глубину чтения каталогов сократил до минимума) - чисто теоретически должно сократиться время формирования дерева, и, соответственно, время его отрисовки на странице... но, пришла др. беда - для динамичной подгрузки ноды - обрабатывается событие TreeView1_TreeNodeExpanded - что в свою очередь приводит к перезагрузке страницы и выбранный нод пропадает за нижним пределом экрана - что бы к нему вернуться надо прокручивать страницу донизу... надо както якорь прикрутить - подумаю ещё ;))) (AJAX - не помешал бы - но пока х-з как его прицепить к стандартному дереву)

Помощь пришла внезапно ... Вспомнил о существовании MagicAjax и их супер-пупер панелей... Вроде помогло так что теперь почти идеально
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33603187
pruha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвлекся . Мое мыло pruha@mail.ru
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33614932
pruha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft WEB Controls тоже прилично работают.
Ты знаешь расковырял проблему донизу . Все уже кто-то до нас решал . Теперь работает и твой пример с 2 правками о которых я писал и в среде VS, treeview как обычный контрол фигурирует и настраивается .
Если кому интересно проблема решалась народом 2 способами описанными тут.
1. Тут процедура установки и примеры с базой, деревом и XML
http://www.15seconds.com/issue/030827.htm
2. 1 решение с перекомпиляцией контрола
http://forums.asp.net/1217956/ShowPost.aspx
3. самый правильный - сделать все как описано в readme.txt IEWEBControls
c соблюдением иерархии папочек имен ... всего

В любом случае спасибо за код - поучился у умных людей работать с каталогами и деревьями
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33615138
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторВ любом случае спасибо за код
пожалуйста...

P.S. хотя, на самом деле, код для 2005 студии полный отстой - на днях это понял - после прочтения вот этого http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.treeview.populatenodesfromclient(VS.80).aspx
...
Рейтинг: 0 / 0
Нет ли примера красивой работы с каталогом
    #33615402
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
<%@ Page Language="VB" %>

<%@ Import Namespace="System.IO" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  
    Protected rootPath As String = "физический путь к каталогу на диске"
        
    Protected Sub Page_PreLoad(ByVal sender As Object, ByVal e As System.EventArgs)
             
            Dim rootNode As New TreeNode
            With rootNode
                .Text = ".."
                .Value = ""
                .SelectAction = TreeNodeSelectAction.None
            End With
                    
            FillTreeNode(rootPath, rootNode)
                              
            TreeView1.Nodes.Add(rootNode)                                   
               
    End Sub
                        
    Protected Sub FillTreeNode(ByVal searchPath As String, ByRef parentNode As TreeNode)
                    
        Dim nnode As TreeNode
        Dim iteminfo() As FileSystemInfo = New DirectoryInfo(searchPath).GetFileSystemInfos
       
        For i As Integer =  0  To iteminfo.Length -  1 

            Dim item As FileSystemInfo = iteminfo.GetValue(i)

            If item.Attributes = FileAttributes.Directory Then
                            
                nnode = New TreeNode
                With nnode
                    .Text = item.Name
                    If New DirectoryInfo(item.FullName).GetFileSystemInfos.Length <>  0  Then
                        .PopulateOnDemand = True
                        .SelectAction = TreeNodeSelectAction.Expand
                    End If
                End With
                     
            Else
                              
                nnode = New TreeNode
                With nnode
                    .Text = item.Name & " (" & FormatNumber(New FileInfo(item.FullName).Length /  1024 ,  0 ).ToString & " Kb)"
                    .ImageUrl = "~/images/icons/" + iconFromExtension(item.Extension)
                    If New FileInfo(item.FullName).Extension = ".aspx" Then
                        .NavigateUrl = "ReadFrom.aspx?fn=" + item.FullName.Substring(rootPath.Length, item.FullName.Length - rootPath.Length)
                        .Target = "content"
                    Else
                        .NavigateUrl = "Video.aspx?fn=" + item.FullName.Substring(rootPath.Length, item.FullName.Length - rootPath.Length)
                    End If
                End With
                                         
            End If
                  
            parentNode.ChildNodes.Add(nnode)

        Next
                      
    End Sub 
    
    Protected Function iconFromExtension(ByVal ext As String) As String
        Select Case ext.ToLower
            Case ".wma"
                Return "wmploc.ico"
            Case ".wmv"
                Return "wmploc.ico"
            Case ".aspx"
                Return "mshtml.ico"
            Case Else
                Return "notdefined.ico"
        End Select
    End Function
       
    Protected Sub TreeView1_TreeNodePopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs)
        FillTreeNode(rootPath & e.Node.ValuePath, e.Node)
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TreeView ID="TreeView1" runat="server" CollapseImageToolTip=""
            EnableTheming="False" ExpandDepth="1" ExpandImageToolTip="" ImageSet="XPFileExplorer" NodeIndent="15" OnTreeNodePopulate="TreeView1_TreeNodePopulate" PathSeparator="\">
            <NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px" NodeSpacing="0px" VerticalPadding="2px" />
            <ParentNodeStyle Font-Bold="False" />
            <HoverNodeStyle Font-Underline="False" BackColor="#E0E0E0" />
            <SelectedNodeStyle BackColor="Gray" Font-Underline="False" HorizontalPadding="0px"
                VerticalPadding="0px" ForeColor="White" />
            <LeafNodeStyle Font-Underline="False" />
        </asp:TreeView>
    </div>
    </form>
</body>
</html>
Вот так (с заточками под свой случай конечно) - может через неделю ещё чего придумаю - но пока, на мой взгляд, это самый оптимальный вариант...
P.S. нехватает только селекта для выбранной ноды, но есть мысли - буду ДУМАТЬ
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Нет ли примера красивой работы с каталогом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]