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