<
div
class
=
"fix-100"
>
<
telerik:RadTextBox
ID
=
"NewRole"
runat
=
"server"
Width
=
"100%"
EmptyMessage
=
"enter new role to add..."
/>
</
div
>
private void LoadInfo(bool forceBind = true)
{
radJobPostings.DataSource = JobPosting.LoadVAllJobPostings(user_id, _defaultFromDate); //_defaultFromDate = Today - 3 years
if (forceBind)
{
radJobPostings.MasterTableView.GetColumn("PostedDate").CurrentFilterValue = DateTime.Today.AddDays(-180).ToShortDateString();
radJobPostings.DataBind();
}
}
<
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 C
Parent A Val | Parent B Val | Parent C Val
Child A Val | Child B Val | Child C Val
Child A Val | Child B Val | Child C Val
Parent A Val | Parent B Val | Parent C Val
Col B | Col A | Col C
Parent B Val | Parent A Val | Parent C Val
Child A Val | Child B Val | Child C Val
Child A Val | Child B Val | Child C Val
Parent 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 Header
Preamble Preamble
Clauses Clauses
Administrative Fees Clauses
Prompt Delivery Clauses
Signature Block Signature Block
Appendix Appendix
Exhibit 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******/
}