powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / TreeView
6 сообщений из 6, страница 1 из 1
TreeView
    #33914126
bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bms
Гость
Надо вызвать метод на сервере по выбору какой-то ветки, только не OnSelectedNodeChanged="method", а просто по клику на ноде.
...
Рейтинг: 0 / 0
TreeView
    #33916654
bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bms
Гость
Ладно, расскажу проблему:
На странице есть дерево, поле для поиска и место для отображения данных.
Я кликаю по ветке дерева(AAA), срабатывает OnSelectedNodeChanged и отображаються нужные данные, потом беру осуществляю поиск и отображаються другие данные, и наконец я опять кликаю по ветке ААА, но данные, относящиеся к ветке, не отображаються, потому что ветка то не поменялась и не сработало OnSelectedNodeChanged.

Как быть???
...
Рейтинг: 0 / 0
TreeView
    #33916777
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть



class MyControl : CompositeControl
{
...
        protected override void CreateChildControls()
        {
            _legendTreeView = new TreeView();
            _legendTreeView.EnableViewState = true;
            Controls.Add(_legendTreeView);

            _legendTreeView.TreeNodePopulate += new TreeNodeEventHandler(_legendTreeView_TreeNodePopulate);
            _legendTreeView.SelectedNodeChanged += new EventHandler(_legendTreeView_SelectedNodeChanged);

            for (int i = 0; i < lsa.LaterStates.Length; i++)
            {
                TreeNode parentNode = new TreeNode(lsa.LaterStates[i].LayerName);
                parentNode.Checked = true;
                parentNode.ShowCheckBox = true;
                if (lsa.getLayerState(lsa.LaterStates[i].LayerName).ViewNum > 1) parentNode.PopulateOnDemand = true;
                else parentNode.ImageUrl = "Images/" + lsa.LaterStates[i].EnglishLayerName + ".gif";
                parentNode.Expanded = false;
                _legendTreeView.Nodes.Add(parentNode);
            }
        }

}

Но после каждого postback'а добавляется всё больше и больше узлов... как избежать этого?
Где инициализировать TreeView?
...
Рейтинг: 0 / 0
TreeView
    #33916797
Dima_XY3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а как насчет ?

        protected void Page_Load(object sender, EventArgs e)
        {
             if(!IsPostBack)
                    CreateChildControls()
        }
- - - - -
the truth is out there
...
Рейтинг: 0 / 0
TreeView
    #33916839
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно через NavigateURL TreeNode и GetPostBackClientHyperlink вызывать SelectedNodeChanged
----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
TreeView
    #33916999
bms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bms
Гость
не совсем понимаю чёто
NavigateURL у меня вообще не используеться.
protected void OnSelectedNodeChanged(object sender, EventArgs e)
{
if (TreeView1.SelectedNode.Parent.Value == "-1")
{
SqlDataSource1.SelectParameters["CategoryInxID"].DefaultValue = TreeView1.SelectedNode.Value;
GridView1.DataSourceID = "SqlDataSource1";
Label1.Text = "Item which belong to the category " + TreeView1.SelectedNode.Text;
}
else
{
SqlDataSource2.SelectParameters["CategoryInxID"].DefaultValue = TreeView1.SelectedNode.Parent.Value;
SqlDataSource2.SelectParameters["SubCategoryInxID"].DefaultValue = TreeView1.SelectedNode.Value;
GridView1.DataSourceID = "SqlDataSource2";
Label1.Text = "Item which belong to the category " + TreeView1.SelectedNode.Parent.Text + " and subcategory " + TreeView1.SelectedNode.Text;
}
DataBind();
}

protected void onTreePopulate(object sender, TreeNodeEventArgs e)
{
if (e.Node.ChildNodes.Count == 0)
{
switch (e.Node.Depth)
{
case 0:
FillCatInx(e.Node);//заполнение категорий
break;
case 1:
FillSubCatInx(e.Node);//заполнение подкатегорий
break;
}
}
}

<asp:TreeView ID="TreeView1" runat="server" OnTreeNodePopulate="onTreePopulate" OnSelectedNodeChanged="OnSelectedNodeChanged"
ImageSet="Arrows">
<Nodes>
<asp:TreeNode Text="Categorys" PopulateOnDemand="True" Value="-1" SelectAction="None">
</asp:TreeNode>
</Nodes>
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
<SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px"
VerticalPadding="0px" />
<NodeStyle Font-Names="Verdana" Font-Size="8pt" ForeColor="Black" HorizontalPadding="5px"
NodeSpacing="0px" VerticalPadding="0px" />
</asp:TreeView>
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / TreeView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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