Hi Veronica,
I slightly modified your test project that you have sent to me.
There are two parts: treeview and panel.
-
Each time treeview is updated it changes its color randomly (new color is assigned on the server side this is the requirement).
-
Each time panel is updated new counter value will be displayed.
Now,
when you select new node in the tree - both tree and panel are updated that is fine.
when you edit or drop node - both parts are updated that is not fine. I need only tree to be updated in this case (tree's color).
I can't attach project here so I post code in the message.
<%@ Page Language="c#" CodeFile="DefaultCS.aspx.cs" AutoEventWireup="true"
Inherits="Telerik.Web.Examples.TreeView.ServerSideApi.DefaultCS" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<
head
runat
=
"server"
>
<
style
type
=
"text/css"
>
.tree
{float: left;}
.panel1
{ border: 1px solid #000; float: left; width: 200px; height: 400px; margin-left: 20px; }
</
style
>
</
head
>
<
body
class
=
"BODY"
>
<
form
runat
=
"server"
id
=
"mainForm"
method
=
"post"
>
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
/>
<
telerik:RadAjaxManager
runat
=
"server"
ID
=
"RadAjaxManager1"
DefaultLoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadTreeView1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"Panel1"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"Panel3"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadTreeView1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
runat
=
"server"
ID
=
"RadAjaxLoadingPanel1"
Skin
=
"Windows7"
/>
<
telerik:RadTreeView
ID
=
"RadTreeView1"
runat
=
"server"
EnableDragAndDrop
=
"true"
OnNodeClick
=
"RadTreeView1_NodeClick"
OnNodeCollapse
=
"RadTreeView1_NodeCollapse"
OnNodeExpand
=
"RadTreeView1_NodeExpand"
OnNodeDrop
=
"RadTreeView1_NodeDrop"
AllowNodeEditing
=
"true"
OnNodeEdit
=
"RadTreeView1_NodeEdit"
CssClass
=
"tree"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"Books"
ExpandMode
=
"ServerSide"
Expanded
=
"true"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"Arts"
/>
<
telerik:RadTreeNode
Text
=
"Biographies"
/>
<
telerik:RadTreeNode
Text
=
"Children's Books"
/>
<
telerik:RadTreeNode
Text
=
"Cooking"
/>
<
telerik:RadTreeNode
Text
=
"History"
/>
<
telerik:RadTreeNode
Text
=
"Fiction"
/>
<
telerik:RadTreeNode
Text
=
"Mystery"
/>
<
telerik:RadTreeNode
Text
=
"Nonfiction"
/>
<
telerik:RadTreeNode
Text
=
"Romance"
/>
<
telerik:RadTreeNode
Text
=
"Science Fiction "
/>
<
telerik:RadTreeNode
Text
=
"Travel"
/>
</
Nodes
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
Text
=
"Music"
ExpandMode
=
"ServerSide"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"Alternative"
/>
<
telerik:RadTreeNode
Text
=
"Blues"
/>
<
telerik:RadTreeNode
Text
=
"Children's Music"
/>
<
telerik:RadTreeNode
Text
=
"Classical"
/>
<
telerik:RadTreeNode
Text
=
"Country"
/>
<
telerik:RadTreeNode
Text
=
"Dance"
/>
<
telerik:RadTreeNode
Text
=
"Folk "
/>
<
telerik:RadTreeNode
Text
=
"Hard Rock"
/>
<
telerik:RadTreeNode
Text
=
"Jazz"
/>
<
telerik:RadTreeNode
Text
=
"Soundtracks"
/>
</
Nodes
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
Text
=
"Movies"
ExpandMode
=
"ServerSide"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"Action"
/>
<
telerik:RadTreeNode
Text
=
"Animation"
/>
<
telerik:RadTreeNode
Text
=
"Classics"
/>
<
telerik:RadTreeNode
Text
=
"Comedy"
/>
<
telerik:RadTreeNode
Text
=
"Documentary"
/>
<
telerik:RadTreeNode
Text
=
"Drama"
/>
<
telerik:RadTreeNode
Text
=
"Horror"
/>
<
telerik:RadTreeNode
Text
=
"Musicals"
/>
<
telerik:RadTreeNode
Text
=
"Mystery"
/>
<
telerik:RadTreeNode
Text
=
"Westerns"
/>
</
Nodes
>
</
telerik:RadTreeNode
>
<
telerik:RadTreeNode
Text
=
"Software"
ExpandMode
=
"ServerSide"
>
<
Nodes
>
<
telerik:RadTreeNode
Text
=
"Database"
/>
<
telerik:RadTreeNode
Text
=
"Networking"
/>
<
telerik:RadTreeNode
Text
=
"Presentation"
/>
<
telerik:RadTreeNode
Text
=
"Project Management"
/>
<
telerik:RadTreeNode
Text
=
"Reports"
/>
<
telerik:RadTreeNode
Text
=
"Spreadsheet"
/>
<
telerik:RadTreeNode
Text
=
"Word Processing"
/>
</
Nodes
>
</
telerik:RadTreeNode
>
</
Nodes
>
</
telerik:RadTreeView
>
<
asp:Panel
runat
=
"server"
ID
=
"Panel1"
CssClass
=
"panel1"
>
This panel should be updated only when new node is selected. If NodeEdit or DragDrop operations performed this node should not be updated (in this case counter value will stay the same).<
br
/><
br
/>
Updates counter: <
asp:Label
runat
=
"server"
ID
=
"Label2"
Text='<%# GetCounter %>'></
asp:Label
> <
br
/><
br
/>
<
asp:Label
runat
=
"server"
ID
=
"Label1"
></
asp:Label
>
</
asp:Panel
>
</
form
>
</
body
>
</
html
>
server side:
using
System;
using
Telerik.Web.UI;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Drawing;
namespace
Telerik.Web.Examples.TreeView.ServerSideApi
{
public
partial
class
DefaultCS : System.Web.UI.Page
{
static
int
counter = 0;
protected
void
Page_Load(
object
sender, EventArgs e)
{
random =
new
Random();
counter++;
RadTreeView1.ForeColor = GetRandomColor();
Panel1.DataBind();
RadTreeView1.DataBind();
}
private
Random random;
private
Color GetRandomColor()
{
return
Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255));
}
protected
string
GetCounter
{
get
{
return
counter.ToString();
}
}
protected
void
RadTreeView1_NodeClick(
object
sender, RadTreeNodeEventArgs e)
{
Label1.Text =
"NodeClick: "
+ e.Node.Text;
}
protected
void
RadTreeView1_NodeCollapse(
object
sender, RadTreeNodeEventArgs e)
{
Label1.Text =
"NodeCollapse: "
+ e.Node.Text;
}
protected
void
RadTreeView1_NodeExpand(
object
sender, RadTreeNodeEventArgs e)
{
Label1.Text =
"NodeExpand: "
+ e.Node.Text;
}
protected
void
RadTreeView1_NodeDrop(
object
sender, RadTreeNodeDragDropEventArgs e)
{
Label1.Text =
"NodeDrop: "
+ e.SourceDragNode.Text +
" to "
+ e.DestDragNode.Text;
}
protected
void
RadTreeView1_NodeEdit(
object
sender, RadTreeNodeEditEventArgs e)
{
}
}
}
should I open support ticket?