Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Проблема с TreeView при динамической подргузке нод
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! Помогите начинающему 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); } } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2006, 17:43 |
|
||
|
Проблема с TreeView при динамической подргузке нод
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Аноним, Вы писали: А>Доброе время суток! А>Помогите начинающему 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.09.2006, 16:26 |
|
||
|
|

start [/forum/topic.php?fid=18&tid=1389411]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
132ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 443ms |

| 0 / 0 |
