or
Grid sorts by a column that is defined as string in the datasource. As a result, the order of the groups is like this:
Group 1
Group 10
Group 11
Group 2
Group 3
I cannot change the column type in the datasource because it might break too many other things. Adding
<telerik:GridTemplateColumn DataType="System.Int32"
<
telerik:RadOrgChart
ID
=
"radOrgChart"
runat
=
"server"
GroupColumnCount
=
"4"
DisableDefaultImage
=
"true"
Skin
=
"Sitefinity"
>
<
RenderedFields
>
<
ItemFields
>
<
telerik:OrgChartRenderedField
DataField
=
"FullName"
/>
<
telerik:OrgChartRenderedField
DataField
=
"Title"
/>
<
telerik:OrgChartRenderedField
DataField
=
"ProfileLink"
/>
</
ItemFields
>
</
RenderedFields
>
</
telerik:RadOrgChart
>
//Table to define the nodes
DataTable nodeTable =
new
DataTable();
nodeTable.Columns.Add(
"ID"
);
nodeTable.Columns.Add(
"ManagerID"
);
//Table to hold the data for the items
DataTable itemsTable =
new
DataTable();
itemsTable.Columns.Add(
"NodeID"
);
itemsTable.Columns.Add(
"ID"
);
itemsTable.Columns.Add(
"FullName"
);
itemsTable.Columns.Add(
"Title"
);
itemsTable.Columns.Add(
"ProfileLink"
);
//Get Contacts Manager
var tmpCM = ContactMgr.GetContactByID(ContactToDisplay.ManagerID);
//Get Contacts Managers manager
var tmpCMM = ContactMgr.GetContactByID(tmpCM.ManagerID);
//Get Contacts Managers employees
var tmpCME = ContactMgr.GetEmployeesByManagerID(tmpCM.ID);
//Add the nodes to the nodesTable
nodeTable.Rows.Add(
new
string
[] {
"1"
,
null
});
nodeTable.Rows.Add(
new
string
[] {
"2"
,
"1"
});
nodeTable.Rows.Add(
new
string
[] {
"3"
,
"2"
});
//Add the details of the employees to the itemTable
itemsTable.Rows.Add(
new
string
[] {
"1"
, tmpCMM.ID.ToString(),
"<b>"
+ tmpCMM.FullName +
"</b>"
, tmpCMM.Title,
"<a href='/contacts/detail.aspx?id="
+ tmpCMM.ID +
"'>View Details</a>"
});
itemsTable.Rows.Add(
new
string
[] {
"2"
, tmpCM.ID.ToString(),
"<b>"
+ tmpCM.FullName +
"</b>"
, tmpCM.Title,
"<a href='/contacts/detail.aspx?id="
+ tmpCM.ID +
"'>View Details</a>"
});
foreach
(Directory_BO.Contact tmpC
in
tmpCME)
itemsTable.Rows.Add(
new
string
[] {
"3"
, tmpC.ID.ToString(),
"<b>"
+ tmpC.FullName +
"</b>"
, tmpC.Title,
"<a href='/contacts/detail.aspx?id="
+ tmpC.ID +
"'>View Details</a>"
});
//Setup the relationships within the OrgChart
radOrgChart.GroupEnabledBinding.NodeBindingSettings.DataFieldID =
"ID"
;
radOrgChart.GroupEnabledBinding.NodeBindingSettings.DataFieldParentID =
"ManagerID"
;
radOrgChart.GroupEnabledBinding.NodeBindingSettings.DataSource = nodeTable;
radOrgChart.GroupEnabledBinding.GroupItemBindingSettings.DataFieldNodeID =
"NodeID"
;
radOrgChart.GroupEnabledBinding.GroupItemBindingSettings.DataFieldID =
"ID"
;
radOrgChart.GroupEnabledBinding.GroupItemBindingSettings.DataSource = itemsTable;
//Bind the OrgChart
radOrgChart.DataBind();
<
telerik:RadCodeBlock
ID
=
"RadCodeBlockBoleta"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
function OpenDetail(cod1, cod2, action) {
var wnd = window.radopen('<%= ConfigurationManager.AppSettings["AppWeb"] %>Posicion/NewDetails.aspx?cti=' + cod1+ "&nb=" + cod2+ "&action=" + action, "DetailsPage");
wnd.set_modal(true);
wnd.set_autoSize(false);
wnd.setSize(1100, 380);
wnd.set_visibleStatusbar(false);
wnd.set_behaviors(Telerik.Web.UI.WindowBehaviors.Close + Telerik.Web.UI.WindowBehaviors.Move);
wnd.center();
return false;
}
</
script
>
</
telerik:RadCodeBlock
>
<
html
>
<
body
class
=
"BodyModal"
style
=
"background-color: #ebf4f7; position:relative; "
>
<
form
id
=
"form1"
runat
=
"server"
>
<
asp:HiddenField
runat
=
"server"
ID
=
"opSalir"
Value
=
""
/>
<
asp:ToolkitScriptManager
ID
=
"ToolkitScriptManager1"
runat
=
"server"
>
</
asp:ToolkitScriptManager
>
<
telerik:RadAjaxPanel
ID
=
"RadAjaxPanelMessage"
runat
=
"server"
EnableEmbeddedScripts
=
"true"
>
</
telerik:RadAjaxPanel
>
<
div
style
=
"text-align: center; width: 100%"
>
<
div
style
=
"text-align: left; "
>
<
asp:ContentPlaceHolder
ID
=
"ContentPlaceHolder1"
runat
=
"server"
>
</
asp:ContentPlaceHolder
>
</
div
>
</
div
>
<
telerik:RadWindowManager
ID
=
"RadWindowManager1"
runat
=
"server"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"rwConfirm"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Confirmación"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"true"
Modal
=
"true"
AutoSize
=
"true"
VisibleStatusbar
=
"false"
Behaviors
=
"Close"
VisibleTitlebar
=
"true"
KeepInScreenBounds
=
"True"
PreventClientCache
=
"true"
DestroyOnClose
=
"true"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"UserListDialog"
runat
=
"server"
Title
=
"Editing record"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
/>
<
telerik:RadWindow
ID
=
"RadFavoritoCampo"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Campos"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"RadEmpresa"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Empresa"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"RadTest"
runat
=
"server"
OnClientClose
=
"OnClientClose"
Title
=
"Test"
ReloadOnShow
=
"true"
ShowContentDuringLoad
=
"false"
Modal
=
"true"
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
</
form
>
</
body
>
</
html
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"ContentPlaceHolder1"
runat
=
"server"
>
<
telerik:RadAjaxManager
runat
=
"server"
ID
=
"RadAjaxManager1"
></
telerik:RadAjaxManager
>
<
asp:Panel
runat
=
"server"
ID
=
"Panel1"
>
<
div
>
//SOME HTML with textboxes, labels, etc
<
asp:Button
ID
=
"BtnSave"
runat
=
"server"
Text
=
"Save"
Width
=
"100px"
style
=
"left:760px; top: 310px; position: absolute;"
CssClass
=
"cssBoton"
onclick
=
"BtnSave_Click"
/>
<
input
id
=
"BtnExit"
class
=
"cssBoton"
title
=
"Exit"
type
=
"button"
style
=
"left:870px; top: 310px; position: absolute;width: 100px"
value
=
"Exit"
onclick
=
"return BtnExit_onclick()"
/>
</
div
>
</
asp:Panel
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
Skin
=
"WebBlue"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadAjaxManagerProxy
ID
=
"RadAjaxManagerProxy1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"BtnSave"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"Panel1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
</
asp:Content
>