Hiiii,
We have a Tree view and clicking "+" uses the web service . How to call the web service explicitly to expand that node and get it selected .
<telerik:RadTreeView ID="RadTreeViewBottom" runat="server" PersistLoadOnDemandNodes="false" RegisterWithScriptManager="true"
LoadingStatusPosition="None" OnClientNodeClicked="RadTreeViewBottom_ClientNodeClicked"
OnClientKeyPressing="RadTreeViewBottom_ClientKeyPressing" EnableViewState="false"
OnClientNodePopulating="RadTreeViewBottom_ClientNodePopulating"
OnClientLoad="RadTreeViewBottom_OnClientLoad"
OnClientNodeDataBound="NodeDataBound" OnClientNodeExpanded="Expanded"
Style="white-space: normal;">
<WebServiceSettings Method="ViewerBottom_GetNodesChildren" Path="~/ScriptServices/ScriptService.asmx" />
<Nodes>
<telerik:RadTreeNode Text="ExistingNode" Visible="True"/>
</Nodes>
</telerik:RadTreeView>
Below one is the Webmethod which i use to call in the web service
[WebMethod(EnableSession=true)]
public RadTreeNodeData[] ViewerBottom_GetNodesChildren(RadTreeNodeData node, object context)
{
IDictionary<string, object> contextDictionary = (IDictionary<string, object>)context;
int topID = int.Parse(contextDictionary["TopID"].ToString());
string type = contextDictionary["Type"].ToString();
int parentID = 0;
if (node != null)
parentID = int.Parse(node.Value);
object[] parms = new object[3];
parms[0] = (int)topID;
parms[1] = type;
parms[2] = parentID;
global::Viewer.ViewerService.Outline outline = (ViewerService.Outline)Data.WebServiceDataProvider.GetData(Data.ViewerClientServiceWrapper.MethodName.getOutline, parms);
ViewerService.OutlineItem[] outlineItems = outline.ChildItems;
List<RadTreeNodeData> result = new List<RadTreeNodeData>();
foreach (ViewerService.OutlineItem item in outlineItems)
{
RadTreeNodeData nodeData = new RadTreeNodeData();
nodeData.Text = item.Title;
nodeData.Value = item.Id.ToString();
nodeData.Attributes.Add("DocID", item.DocumentId);
if (item.HasChildren)
nodeData.ExpandMode = TreeNodeExpandMode.WebService;
result.Add(nodeData);
}
return result.ToArray();
}
Below is my JS 1183 is parent node and 1185 is the child node.
var node1 = parentNode.findNodeByValue("1183");
if (node1 == null)
return;
else {
node1.expand();
var node2 = parentNode.findNodeByValue("1185");
if (node2 != null) {
node2.select();
}
in JS here node2 returns me null i think because I'm not able to Call the Webservice ecplicitly can anyone suggest me ? how to call it programatically .