Hi,
I bind a hierachical datasource onto radtreeview.
A NodeTemplate which consists a Label is defined in the treeview.
It looks fine. All the data are displayed hierachically.
However, in the code-behind i only can get the label's text value of the first level in the hierachically. For the deeper level's node, its label text is empty.
Any one can help?
Thank you
Geoffrey
I bind a hierachical datasource onto radtreeview.
A NodeTemplate which consists a Label is defined in the treeview.
It looks fine. All the data are displayed hierachically.
However, in the code-behind i only can get the label's text value of the first level in the hierachically. For the deeper level's node, its label text is empty.
Any one can help?
Thank you
Geoffrey
3 Answers, 1 is accepted
0
Hi PeiQi,
Does the label text of child items render in your page? Also what code are you using in order to get the label text of child items?
Providing more details about your scenario would help us get back with the proper solution.
Regards,
Albert
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Does the label text of child items render in your page? Also what code are you using in order to get the label text of child items?
Providing more details about your scenario would help us get back with the proper solution.
Regards,
Albert
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
0

PeiQi
Top achievements
Rank 1
answered on 10 Jul 2008, 01:35 AM
Hi, Albert
The label is rendered properly on page.
I tried out that it is caused by adding HtmlGenericControl dynamically in NodeDataBound event.
Here is the page code:
Here is the NodeDataBound code:
Here is the Button click code:
Thank you
PeiQi Ge
The label is rendered properly on page.
I tried out that it is caused by adding HtmlGenericControl dynamically in NodeDataBound event.
Here is the page code:
<telerik:RadTreeView ID="treStudyArea" runat="server" Height="500px" Width="400px" EnableViewState="true" OnNodeDataBound="databound"> |
<NodeTemplate> |
<asp:Label ID="Label1" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "Status") %>'></asp:Label> |
</NodeTemplate> |
</telerik:RadTreeView> |
<asp:HiddenField ID="hdnStudyAreaID" runat="server" Value="" /> |
<asp:UpdatePanel ID="up" runat="server" UpdateMode="Conditional"> |
<ContentTemplate> |
<asp:Label ID="Label2" runat="server" Text="ll"></asp:Label> |
</ContentTemplate> |
</asp:UpdatePanel> |
<asp:Button ID="Button1" runat="server" Text="Test" OnClick="btn_serverclick" /> |
Here is the NodeDataBound code:
protected void databound(object sender, RadTreeNodeEventArgs e) |
{ |
RadTreeNode node = e.Node; |
DataRowView dataItem = node.DataItem as DataRowView; |
HtmlGenericControl rdButton = new HtmlGenericControl("input"); |
rdButton.Attributes.Add("type", "radio"); |
rdButton.Attributes.Add("name", "studyAreaGroup"); |
rdButton.Attributes.Add("value", dataItem["Id"].ToString()); |
rdButton.Attributes.Add("saType", dataItem["Type"].ToString()); |
rdButton.InnerHtml = dataItem["Name"].ToString(); |
rdButton.ID = "rdButton"; |
//rdButton.EnableViewState = true; |
node.Controls.Add(rdButton); |
node.Value = dataItem["Id"].ToString(); |
if (dataItem["Status"].ToString().Equals("I")) |
{ |
node.ToolTip = "Inactive"; |
node.Style.Add("color", "#D3D3D3"); |
} |
node.EnableViewState = true; |
} |
Here is the Button click code:
protected void btn_serverclick(object sender, EventArgs arg) |
{ |
RadTreeNode node1 = this.treStudyArea.SelectedNode; |
this.Label2.Text = (node1.Controls[1] as Label).Text; |
this.up.Update(); |
} |
Thank you
PeiQi Ge
0
Hi PeiQi,
Please try using FindControl to get the label:
protected void btn_serverclick(object sender, EventArgs arg)
{
RadTreeNode node1 = this.treStudyArea.SelectedNode;
this.Label2.Text = ((Label)node1.FindControl("Label1")).Text;
}
Greetings,
Albert
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center
Please try using FindControl to get the label:
protected void btn_serverclick(object sender, EventArgs arg)
{
RadTreeNode node1 = this.treStudyArea.SelectedNode;
this.Label2.Text = ((Label)node1.FindControl("Label1")).Text;
}
Greetings,
Albert
the Telerik team
Instantly find answers to your questions at the new Telerik Support Center