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 nodesDataTable nodeTable = new DataTable();nodeTable.Columns.Add("ID");nodeTable.Columns.Add("ManagerID");//Table to hold the data for the itemsDataTable 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 Managervar tmpCM = ContactMgr.GetContactByID(ContactToDisplay.ManagerID);//Get Contacts Managers managervar tmpCMM = ContactMgr.GetContactByID(tmpCM.ManagerID);//Get Contacts Managers employeesvar tmpCME = ContactMgr.GetEmployeesByManagerID(tmpCM.ID);//Add the nodes to the nodesTablenodeTable.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 itemTableitemsTable.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 OrgChartradOrgChart.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 OrgChartradOrgChart.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>