I am creating RadTreeNode as follows:
I am also loading the tree nodes on demand as follows:
Code Behind:
ASCX:
I have debugged method "
However when a node is selected I only get(after debugging) one node custom attributes, not two:
How do I get the other attribute?
Regards,
--Fahmi
protected RadTreeNode BuildOption(Options option, string questionType)
{
RadTreeNode nodeOption = new RadTreeNode(); nodeOption.Text = "(" + option.OrderID.ToString() + ") " + option.Name; nodeOption.Value = option.OptionsID.ToString(); nodeOption.Attributes.Add(SurveyTreeNodeAttributes.SurveyTreeNodeType, ((int)EnumsBL.SurveyTreeNodeType.Option).ToString()); nodeOption.Attributes.Add(SurveyTreeNodeAttributes.QuestionType, questionType); nodeOption.ImageUrl = "~/images/ConstIcons/icon-question-option.png"; return nodeOption;
}
Code Behind:
[WebMethod]public static RadTreeNodeData[] LoadNodes(RadTreeNodeData node, object context){ EnumsBL.SurveyTreeNodeType nodeType = (EnumsBL.SurveyTreeNodeType)Enum.Parse(typeof(EnumsBL.SurveyTreeNodeType), node.Attributes[SurveyTreeNodeAttributes.SurveyTreeNodeType].ToString()); TreeNodeBuilder treeNodeBuilder = QuestionnaireTreeBuilderFactory.GetQuestionnaireTreeBuilder(nodeType); return treeNodeBuilder.BuildChildNodesData(node.Value);}<telerik:RadTreeView ID="radTree" Skin="Default" BackColor="White" BorderStyle="Solid" BorderColor="#CCCCCC" BorderWidth="1px" AllowNodeEditing="true" Style="cursor: hand;" Height="250px" EnableDragAndDrop="false" OnNodeClick="NodeClick" SingleExpandPath="true" runat="server"> <WebServiceSettings Path="../../Constructor/AdaptiveAnswerBuilder.aspx" Method="LoadNodes" /> </telerik:RadTreeView>LoadNodes" and checked that RadTreeNodeData object array contains the two attributes added to the node at the top.However when a node is selected I only get(after debugging) one node custom attributes, not two:
protected void TreeNodeClicked(object sender, RadTreeNodeEventArgs e) { RadTreeNode selectedNode = e.Node; //only one of the attributes, assigned during node creation, are present switch ((EnumsBL.SurveyTreeNodeType)Enum.Parse(typeof(EnumsBL.SurveyTreeNodeType), selectedNode.Attributes[SurveyTreeNodeAttributes.SurveyTreeNodeType])) { case EnumsBL.SurveyTreeNodeType.Option: SetViewstateVariables(selectedNode); SetConditionValueHolder(int.Parse(selectedNode.Value)); EnableSaveButton(); break; default: pnlCondEqual.Visible = false; DisableSaveButton(); break; } }How do I get the other attribute?
Regards,
--Fahmi