
<telerik:RadGrid ID="grdNotes" runat="server" OnColumnCreated="grdNotes_ColumnCreated" OnItemCreated="grdNotes_ItemCreated" OnItemDataBound="grdNotes_ItemDataBound" OnNeedDataSource="grdNotes_NeedDataSource" OnPreRender="grdNotes_PreRender" AutoGenerateColumns="False" SkinID="HierarchicalGrid" GridLines="None" AllowCustomPaging="True" ShowStatusBar="True" PageSize="20" EnableLinqExpressions="False" Width="99%" CellSpacing="0"> <MasterTableView HierarchyDefaultExpanded="true" HierarchyLoadMode="Client" AllowSorting="true" DataKeyNames="Id,ParentId,Token,IsRoot,Replies,NoteCreator" ClientDataKeyNames="Id,ParentId,Token,IsRoot,Replies,NoteCreator" NoDetailRecordsText="" EnableNoRecordsTemplate="False" TableLayout="Auto" Width="100%" HorizontalAlign="Right" EnableHeaderContextMenu="True"> <SelfHierarchySettings ParentKeyName="ParentId" KeyName="Id" MaximumDepth="20" /> <RowIndicatorColumn Visible="False" FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn> <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn> <Columns> <telerik:GridClientSelectColumn DataTextField="Id" HeaderAbbr="Select" HeaderButtonType="TextButton" HeaderText="Select" HeaderTooltip="Select/Deselect" Text="Select" Visible="false" UniqueName="asgSelect"> </telerik:GridClientSelectColumn> <telerik:GridBoundColumn DataField="Id" SortExpression="Id" UniqueName="Id"> <HeaderStyle Width="50px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Title" SortExpression="Title" UniqueName="Title" HtmlEncode="true"> <HeaderStyle Width="150px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Body" SortExpression="Body" UniqueName="Body" HtmlEncode="False"> <HeaderStyle Width="350px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CreatedBy" SortExpression="CreatedBy" UniqueName="CreatedBy"> <HeaderStyle Width="150px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="CreatedDate" SortExpression="CreatedDate" UniqueName="CreatedOn"> <HeaderStyle Width="150px" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ParentId" HeaderText="Parent Id" SortExpression="ParentId" UniqueName="ParentId" Visible="false" /> <telerik:GridBoundColumn DataField="Token" HeaderText="Token" SortExpression="Token" UniqueName="Token" Visible="false" /> <telerik:GridBoundColumn DataField="IsRoot" HeaderText="Is Root" SortExpression="IsRoot" UniqueName="IsRoot" Visible="false" /> <telerik:GridBoundColumn DataField="Replies" HeaderText="Replies" SortExpression="Replies" UniqueName="Replies" Visible="false" /> <telerik:GridBoundColumn DataField="NoteCreator" HeaderText="NoteCreator" SortExpression="NoteCreator" UniqueName="NoteCreator" Visible="false" /> <telerik:GridTemplateColumn UniqueName="Actions" Visible="false"> <ItemTemplate> <telerik:RadToolBar ID="rtbNoteActions" runat="server" SkinID="ActionToolbar" OnButtonClick="NotesGridToolbarButtonClicked" OnClientButtonClicking="NoteActionToolbarClicking"> <Items> <telerik:RadToolBarButton Text="Properties" CommandName="Properties" ImageUrl="~/Images/page_view.gif" /> <telerik:RadToolBarButton Text="Reply" CommandName="Reply" ImageUrl="~/Images/page_edit.gif" /> <telerik:RadToolBarButton Text="Security" CommandName="Security" ImageUrl="~/Images/shield16.gif" /> <telerik:RadToolBarButton Text="Delete" CommandName="Delete" ImageUrl="~/Images/delete16.gif" /> </Items> </telerik:RadToolBar> </ItemTemplate> <HeaderStyle Width="15%"></HeaderStyle> </telerik:GridTemplateColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> <PagerStyle AlwaysVisible="True"></PagerStyle> </MasterTableView> <HeaderContextMenu EnableTheming="True"> <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> </HeaderContextMenu> <ExportSettings ExportOnlyData="True" IgnorePaging="True"> </ExportSettings> <ClientSettings Selecting-AllowRowSelect="true" Resizing-AllowColumnResize="true" AllowColumnsReorder="true"> <Selecting AllowRowSelect="True"></Selecting> <ClientEvents OnRowSelected="NoteRowSelected" OnRowContextMenu="NoteContextMenu" OnRowDblClick="grdNotes_OnRowDblClick" OnGridCreated="NotePageLoad" OnTableCreated="ResizeAllNoteColumns" OnColumnResized="ResizeAllNoteColumns" OnColumnHiding="HideDetailColumn" OnColumnShowing="ShowDetailColumn" /> </ClientSettings> <PagerStyle Position="Bottom" AlwaysVisible="True" Mode="NextPrevAndNumeric" Wrap="False" BackColor="White" Font-Size="Large" /></telerik:RadGrid>Col A | Col B | Col CParent A Val | Parent B Val | Parent C ValChild A Val | Child B Val | Child C ValChild A Val | Child B Val | Child C ValParent A Val | Parent B Val | Parent C ValCol B | Col A | Col CParent B Val | Parent A Val | Parent C ValChild A Val | Child B Val | Child C ValChild A Val | Child B Val | Child C ValParent B Val | Parent A Val | Parent C Val
Followup: Found this:
http://www.telerik.com/help/aspnet-ajax/treeview-data-binding-hierarchical.html
which answered my question, and was able to resolve my issue.
Sometimes, admittedly, I am not the brightest bulb on the planet, but for the life of me I just can't seem to get what I think is a rather simple TreeView to work.
I have data from an SQL data source which is broken down into categories, i.e.
ID Text ParentId-----------------------------------------------------------Header HeaderPreamble PreambleClauses Clauses Administrative Fees Clauses Prompt Delivery ClausesSignature Block Signature BlockAppendix AppendixExhibit Exhibit<telerik:RadTreeView runat="server" ID="RadTreeView1" DataSourceID="SqlDataSource1"DataFieldID="id" DataFieldParentID="parentID" Skin="Vista" CheckBoxes="true"> <DataBindings> <telerik:RadTreeNodeBinding TextField="Text" /> <telerik:RadTreeNodeBinding Depth="0" Checkable="false" TextField="Text" Expanded="true" CssClass="rootNode" /> </DataBindings></telerik:RadTreeView><CommandItemTemplate> <asp:Button ID="btnExport" runat="server" CommandName="ExportToExcel" Text="Export Excel" /></CommandItemTemplate> Protected Sub myRadGrid_ItemCommand(sender As Object, e As GridCommandEventArgs) Handles myRadGrid.ItemCommand If e.CommandName = "ExportToExcel" Then For Each item As GridItem In myRadGrid.MasterTableView.Items item.Expanded = True Next isExport = True End If End Sub Protected Sub myRadGrid_ItemCreated(sender As Object, e As GridItemEventArgs) Handles myRadGrid.ItemCreated If Not isExport Then If TypeOf e.Item Is GridCommandItem Then ScriptManager.GetCurrent(Page).RegisterPostBackControl(e.Item.FindControl("btnExport")) End If End If End Sub

protected
void Page_Init(object sender, EventArgs e)
{
RadDockLayout1.LoadDockLayout+=
new DockLayoutEventHandler(RadDockLayout1_LoadDockLayout);
AddDocksByPosition(0);
{
/*** Get list of docks from DB and load it to the Docklayout****/
{
System.Web.Script.Serialization.
JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
string serializedList = DockPostionstr;
if (!string.IsNullOrEmpty(serializedList))
{
string[] states = serializedList.Split('|');
foreach (string stringState in states)
{
if (stringState != string.Empty)
{
DockState state = serializer.Deserialize<DockState>(stringState);
e.Positions[state.UniqueName] = state.DockZoneID;
e.Indices[state.UniqueName] = state.Index;
}
}
}
}
protected void SaveDockLayout1_LoadDockLayout(object sender, DockLayoutEventArgs e)
{
string dockState;
System.Web.Script.Serialization.
JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<DockState> stateList = RadDockLayout1.GetRegisteredDocksState();
StringBuilder serializedList = new StringBuilder();
int i = 0;
while (i < stateList.Count)
{
serializedList.Append(serializer.Serialize(stateList[i]));
serializedList.Append(
"|");
i++;
}
dockState = serializedList.ToString();
/***** DB call to save Dashboard state per Tab******/
}
<asp:Panel ID="pnlGrid" runat="server" CssClass="panelGrid">
<telerik:RadGrid ID="myRadGrid" runat="server" Width="90%" Skin="Web20" CssClass="dvGridWrapper" AllowSorting="true">
<PagerStyle AlwaysVisible="true" />
<MasterTableView AutoGenerateColumns="false" Font-Size="10" DataKeyNames="intRecruitId" CommandItemDisplay="Bottom">
<CommandItemSettings ShowAddNewRecordButton="false" ShowRefreshButton="false" />
<HeaderStyle ForeColor="White" Font-Bold="true" HorizontalAlign="Center" />
<AlternatingItemStyle BackColor="#B0C4DE" HorizontalAlign="Center" />
<CommandItemTemplate>
<asp:LinkButton ID="lnkUpdateAll" runat="server" CommandName="UpdateAll" CommandArgument='<%#Bind("intRecruitId")%>'>Update All</asp:LinkButton>
</CommandItemTemplate>
<Columns>
<telerik:GridBoundColumn DataField="dtRSPStatusChanged" HeaderText="Last Changed" />
<telerik:GridTemplateColumn HeaderText="NAME">
<ItemTemplate>
<asp:LinkButton ID="lnkName" runat="server" Text='<%#Bind("Name")%>' CommandArgument='<%#Bind("intRecruitId")%>' CommandName="pnlOpen" ToolTip="Click to See Data"></asp:LinkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="PHASE" UniqueName="Phase">
<ItemTemplate>
<asp:DropDownList ID="ddlPhase3" runat="server" SelectedValue='<%#Bind("intPhaseId")%>'>
<asp:ListItem Value="1" Text="Red" />
<asp:ListItem Value="2" Text="White1" />
<asp:ListItem Value="3" Text="White2" />
<asp:ListItem Value="4" Text="White3" />
<asp:ListItem Value="5" Text="Blue" />
<asp:ListItem Value="6" Text="Green" />
<asp:ListItem Value="7" Text="Gold" />
</asp:DropDownList>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="dtShip" HeaderText="SHIP DATE">
<ItemTemplate>
<telerik:RadDatePicker ID="rdp_dtShip" runat="server" DbSelectedDate='<%#Bind("dtShip")%>' Width="100px"></telerik:RadDatePicker>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="ddDate" HeaderText="DROP DEAD DATE" />
<telerik:GridTemplateColumn DataField="dtProjReturn" HeaderText="EST RETURN DATE">
<ItemTemplate>
<telerik:RadDatePicker ID="rdp_Return" runat="server" DbSelectedDate='<%#Bind("dtProjReturn")%>' Width="100px"></telerik:RadDatePicker>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="STATUS" UniqueName="Status">
<ItemTemplate>
<asp:DropDownList ID="ddlStatus3" runat="server" SelectedValue='<%#Bind("intRSPStatusID")%>'>
<asp:ListItem Value="1" Text="Amber" />
<asp:ListItem Value="3" Text="DAT" />
<asp:ListItem Value="4" Text="Discharged" />
<asp:ListItem Value="5" Text="Green" />
<asp:ListItem Value="6" Text="Hardship" />
<asp:ListItem Value="7" Text="Test" />
<asp:ListItem Value="8" Text="OCS" />
<asp:ListItem Value="9" Text="Pend Dis" />
<asp:ListItem Value="10" Text="Prior SVC" />
<asp:ListItem Value="11" Text="Qualified" />
<asp:ListItem Value="12" Text="Red" />
<asp:ListItem Value="13" Text="Shipped" />
<asp:ListItem Value="18" Text="None" />
<asp:ListItem Value="19" Text="NAC" />
<asp:ListItem Value="20" Text="IST" />
<asp:ListItem Value="21" Text="Gold" />
<asp:ListItem Value="22" Text="Not Entered" />
<asp:ListItem Value="23" Text="Recruit Force Pool" />
</asp:DropDownList>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="ISSUE" UniqueName="Issue">
<ItemTemplate>
<asp:DropDownList ID="ddlIssue3" runat="server" SelectedValue='<%#Bind("intRSPIssueID")%>' >
<asp:ListItem Value="1" Text="Admin" />
<asp:ListItem Value="2" Text="APFT" />
<asp:ListItem Value="3" Text="Attendance" />
<asp:ListItem Value="5" Text="BCT" />
<asp:ListItem Value="6" Text="Testing" />
<asp:ListItem Value="7" Text="Test2" />
<asp:ListItem Value="8" Text="Education Fail" />
<asp:ListItem Value="9" Text="Family hardship" />
<asp:ListItem Value="10" Text="Legal" />
<asp:ListItem Value="11" Text="Medical" />
<asp:ListItem Value="12" Text="New Trainee" />
<asp:ListItem Value="13" Text="Packet failure" />
<asp:ListItem Value="14" Text="None" />
<asp:ListItem Value="15" Text="Not Entered" />
<asp:ListItem Value="16" Text="Education HSJR" />
<asp:ListItem Value="17" Text="Education HSSR" />
<asp:ListItem Value="18" Text="Education GED" />
<asp:ListItem Value="19" Text="Pend PH2 Date" />
<asp:ListItem Value="20" Text="Pend IST" />
<asp:ListItem Value="21" Text="College" />
<asp:ListItem Value="22" Text="OCS" />
<asp:ListItem Value="23" Text="ROTC" />
<asp:ListItem Value="24" Text="ROTC SMP" />
<asp:ListItem Value="25" Text="Pend OCS Date" />
<asp:ListItem Value="26" Text="Pend RENO Out" />
<asp:ListItem Value="27" Text="Pending Commission" />
</asp:DropDownList>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="EDUCATION" UniqueName="Ed">
<ItemTemplate>
<asp:DropDownList ID="ddlEd3" runat="server" SelectedValue='<%#Bind("intRSPEdID")%>' >
<asp:ListItem Value="1" Text="N/A" />
<asp:ListItem Value="2" Text="HSSR" />
<asp:ListItem Value="3" Text="HSJR" />
<asp:ListItem Value="4" Text="GED +" />
<asp:ListItem Value="5" Text="GED" />
<asp:ListItem Value="6" Text="GRAD" />
<asp:ListItem Value="7" Text="COLLEGE" />
</asp:DropDownList>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="NOTES">
<ItemTemplate>
<asp:Image ID="imgLooker" runat="server" ImageUrl="~/Images/ViewResources.gif" ImageAlign="Middle" BorderStyle="None" />
<asp:PopupControlExtender ID="popInfo" runat="server" PopupControlID="pnlPop" TargetControlID="imgLooker" DynamicContextKey='<% #Eval("intRSPNotesID")%>'
DynamicControlID="pnlpop" DynamicServiceMethod="GetNotes" Position="bottom"></asp:PopupControlExtender>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn DataField="strRSPSiteLocation" HeaderText="RSP SITE" />
<telerik:GridBoundColumn DataField="strUIC" HeaderText="UIC" />
<telerik:GridTemplateColumn HeaderText="UPDATE">
<ItemTemplate>
<asp:LinkButton ID="lnkUpdate" runat="server" Text="Update" ToolTip="Click to Save Data" CommandArgument='<%#Bind("intRecruitId")%>' CommandName="Update"></asp:LinkButton>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
<BatchEditingSettings EditType="Cell" />
</MasterTableView>
</telerik:RadGrid>
If (e.CommandName = "UpdateAll") Then
Dim recruitid As Integer = Convert.ToInt32(e.CommandArgument = "intRecruitId")
'Dim editedItem As GridEditableItem = CType(e.Item, GridEditableItem)
Dim Phase As DropDownList = DirectCast(e.Item.FindControl("ddlPhase3"), DropDownList)
Dim Status As DropDownList = DirectCast(e.Item.FindControl("ddlStatus3"), DropDownList)
Dim Issue As DropDownList = DirectCast(e.Item.FindControl("ddlIssue3"), DropDownList)
Dim Ed As DropDownList = DirectCast(e.Item.FindControl("ddlEd3"), DropDownList)
Dim dtShip As TextBox = DirectCast(e.Item.FindControl("txtdtShip"), TextBox)
Dim dtReturn As TextBox = DirectCast(e.Item.FindControl("txtProjRtn"), TextBox)
Dim myDataGridItem As DataGridItem
For Each DataGridItem In myRadGrid.Items
 
sql =
"Update tblRSP SET dtProjReturn = '" & sanitizeString(dtReturn.Text) & "', intRSPStatusID = " & Status.SelectedValue & ", intRSPIssueID = " & Issue.SelectedValue & ", INTRSPEdID = " & Ed.SelectedValue & ", intPhaseID = " & Phase.SelectedValue & "" _
&
" Where intRecruitId =" & recruitid & " Update Recruit SET dtShip = '" & sanitizeString(dtShip.Text) & "' Where intRecruitId =" & recruitid
Response.Write(sql)
Response.End()
insertUpdateDelete(sql)
myRadGrid.Rebind()
Next
End If