powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с TreeView при динамической подргузке нод
2 сообщений из 2, страница 1 из 1
Проблема с TreeView при динамической подргузке нод
    #33997679
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток!
Помогите начинающему ASP-шнику.
У меня есть дерево TreeView. Некоторые ноды в нем подгружаются динамически. Примерно так же, как это сделано в дереве на сайте www.RSDN.ru.
Код ниже.
При нажатии на крестик ноды загружаются. При наведении на подгруженую ноду в строке состояния получаю javascript:_doPostBack('Tree','NodeID=...').
После клика на соответствующей ноде у меня соответственно происходит post back, и я еще раз попадаю в функцию Tree_NodePopulate. После чего все работает нормально, уже без всяких post back-ов, а в строке состояния правильный URL. Но почему-то происходит смена стилей для нод(, да и зачем нужны два вызова Tree_NodePopulate.

Вопросы:
Подскажите на примере как работать со стилями, в TreeView. Я что-то совсем запутался.
Как можно сделать навигацию кнопками по дереву. Соответственно на javaScript.


private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
this.Tree.TreeNodePopulate += new TreeNodeEventHandler(this.Tree_NodePopulate);
}

private void Tree_NodePopulate(object sender, TreeNodeEventArgs e)
{
string tag = e.Node.Value.ToString();
string[] parameters = tag.Split(";".ToCharArray());
if (parameters != null)
{
string assemblyName = Tree.GetParameterValue(parameters, "assembly");
string className = Tree.GetParameterValue(parameters, "class");
if (assemblyName != null && className != null)
ExecuteCustomDemandLoad(assemblyName, className, e);
}
}

private void ExecuteCustomDemandLoad(string assemblyName, string className, TreeNodeEventArgs e)
{
string path = Server.MapPath(this.Request.Path);
string folderPath = Path.GetDirectoryName(path);
string assemblyFile = string.Format("{0}/bin/{1}.dll", folderPath, assemblyName);

Assembly assembly = ReflectionUtils.GetAssemblyForFile( assemblyFile );
if ( assembly != null )
{
Type handler = assembly.GetType(className);
if ( handler != null )
{
Type iloadOnDemand = handler.GetInterface("ILoadOnDemand", false);
if ( iloadOnDemand != null)
{
e.Node.ChildNodes.Clear();
e.Node.PopulateOnDemand = true;
ILoadOnDemand customHandler = (ILoadOnDemand) Activator.CreateInstance(handler);
customHandler.LoadOnDemand(e);
}
}
}
}
...
Рейтинг: 0 / 0
Проблема с TreeView при динамической подргузке нод
    #34000489
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Аноним, Вы писали:

А>Доброе время суток!
А>Помогите начинающему ASP-шнику.
А>У меня есть дерево TreeView. Некоторые ноды в нем подгружаются динамически. Примерно так же, как это сделано в дереве на сайте www.RSDN.ru.
А>Код ниже.
А>При нажатии на крестик ноды загружаются. При наведении на подгруженую ноду в строке состояния получаю javascript:_doPostBack('Tree','NodeID=...').
А>После клика на соответствующей ноде у меня соответственно происходит post back, и я еще раз попадаю в функцию Tree_NodePopulate. После чего все работает нормально, уже без всяких post back-ов, а в строке состояния правильный URL. Но почему-то происходит смена стилей для нод(, да и зачем нужны два вызова Tree_NodePopulate.

Если у вас на странице не указаны стили LevelStyles, то после каждого постбека стили будут сбрасываться к дефолтному. Вот пример:
<LevelStyles>
<asp:TreeNodeStyle Font-Name="Tahoma" ForeColor="#000000"/>
<asp:TreeNodeStyle Font-Name="Tahoma" ForeColor="#000000"/>
<asp:TreeNodeStyle Font-Name="Tahoma" ForeColor="#000000"/>
<asp:TreeNodeStyle Font-Name="Tahoma" ForeColor="#000000"/>
</LevelStyles>
Количество стилей будет зависить от глубины вашего дерева.


А>Вопросы:
А>Подскажите на примере как работать со стилями, в TreeView. Я что-то совсем запутался.
А>Как можно сделать навигацию кнопками по дереву. Соответственно на javaScript.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Проблема с TreeView при динамической подргузке нод
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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