We are transferring items between two RadListBox controls but we're finding that SortItems() does a text sort instead of a numeric sort so that all the 900s are listing before the 1000s (Sort="Descending"). I've tried setting the DataSortField, which says it needs to be a numeric field, but that doesn't help.
The markup and codebehind are posted below. Thanks for your help.
Dan Norton
<div style="float: left; width: 350px; vertical-align: middle; margin-left:30px; margin-top: 15px;"> <asp:Label runat="server" id="Label1" AssociatedControlId="radWorkOrderList" Text="Work Orders:" /> <telerik:RadListBox runat="server" ID="radWorkOrderList" Width="350px" Height="200px" SelectionMode="Multiple" AllowTransfer="true" TransferToID="radAssignedWorkOrderList" AutoPostBackOnTransfer="true" AllowReorder="false" OnTransferring="radWorkOrderList_Transferring" EnableDragAndDrop="true" Sort="Descending" DataSortField="Number" DataTextField="Number" DataValueField="Id"> <ItemTemplate> <asp:HyperLink runat="server" Width="50" Text='<%# DataBinder.Eval(Container.DataItem, "Number")%>' ID="lnkWorkOrderEdit" style="vertical-align:text-top;" NavigateUrl='<%# GetWorkOrderNavigationURL(DataBinder.Eval(Container.DataItem, "Id")) %>' ToolTip='<%# DataBinder.Eval(Container.DataItem, "Description") %>' /> <asp:Label ID="lblWorkOrderDescription" Width="225" runat="server" Text='<%# GetShortDescription(DataBinder.Eval(Container.DataItem, "Description")) %>' /> </ItemTemplate> </telerik:RadListBox> </div> <div style="float: left; width: 375px; margin: 0px; margin-top: 15px;"> <asp:Label runat="server" id="Label2" AssociatedControlId="radAssignedWorkOrderList" Text="Work Orders assigned to this Project:" /> <telerik:RadListBox runat="server" ID="radAssignedWorkOrderList" Width="375px" Height="200px" SelectionMode="Multiple" AllowReorder="false" EnableDragAndDrop="true" Sort="Descending" DataSortField="WorkOrderNumber" DataTextField="WorkOrderNumber" DataValueField="WorkOrderId" > <ItemTemplate> <asp:HyperLink runat="server" Width="50" Text='<%# DataBinder.Eval(Container.DataItem, "WorkOrderNumber")%>' ID="lnkAssignedWorkOrderEdit" style="vertical-align:text-top;" NavigateUrl='<%# GetWorkOrderNavigationURL(DataBinder.Eval(Container.DataItem, "WorkOrderId")) %>' ToolTip='<%# DataBinder.Eval(Container.DataItem, "WorkOrderDescription") %>' /> <asp:Label ID="lblAssignedWorkOrderDescription" Width="225" runat="server" Text='<%# GetShortDescription(DataBinder.Eval(Container.DataItem, "WorkOrderDescription")) %>' /> <asp:Label ID="lblAssignedWorkOrderStatus" Width="75" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "WorkOrderStatus") %>' /> </ItemTemplate> </telerik:RadListBox> </div> protected void radWorkOrderList_Transferring(object sender, RadListBoxTransferringEventArgs e) { RadListBoxItem destinationItem = new RadListBoxItem(); foreach (RadListBoxItem sourceItem in e.Items) { destinationItem = new RadListBoxItem(); if (e.SourceListBox == radWorkOrderList) { radAssignedWorkOrderList.Items.Add(destinationItem); destinationItem.Value = sourceItem.Value; destinationItem.Text = sourceItem.Text; HyperLink lnkSourceWorkOrderNumber = sourceItem.FindControl("lnkWorkOrderEdit") as HyperLink; HyperLink lnkDestinationWorkOrderNumber = radAssignedWorkOrderList.Items.Last().FindControl("lnkAssignedWorkOrderEdit") as HyperLink; lnkDestinationWorkOrderNumber.NavigateUrl = lnkSourceWorkOrderNumber.NavigateUrl; lnkDestinationWorkOrderNumber.Text = lnkSourceWorkOrderNumber.Text; lnkDestinationWorkOrderNumber.ToolTip = lnkSourceWorkOrderNumber.ToolTip; Label lblSourceWorkOrderDescription = sourceItem.FindControl("lblWorkOrderDescription") as Label; Label lblDestinationWorkOrderDescription = radAssignedWorkOrderList.Items.Last().FindControl("lblAssignedWorkOrderDescription") as Label; lblDestinationWorkOrderDescription.Text = lblSourceWorkOrderDescription.Text; WorkOrder destinationWorkOrder = new WorkOrder(AppSession, int.Parse(destinationItem.Value)); Status destinationWorkOrderStatus = new Status(AppSession, destinationWorkOrder.StatusId); Label lblDestinationWorkOrderStatus = radAssignedWorkOrderList.Items.Last().FindControl("lblAssignedWorkOrderStatus") as Label; lblDestinationWorkOrderStatus.ID = "lblAssignedWorkOrderStatus"; lblDestinationWorkOrderStatus.Text = destinationWorkOrderStatus.Name; radWorkOrderList.Items.Remove(sourceItem); } else { radWorkOrderList.Items.Add(destinationItem); radWorkOrderList.Items.Last().Value = sourceItem.Value; radWorkOrderList.Items.Last().Text = sourceItem.Text; HyperLink lnkSourceWorkOrderNumber = sourceItem.FindControl("lnkAssignedWorkOrderEdit") as HyperLink; HyperLink lnkDestinationWorkOrderNumber = radWorkOrderList.Items.Last().FindControl("lnkWorkOrderEdit") as HyperLink; lnkDestinationWorkOrderNumber.NavigateUrl = lnkSourceWorkOrderNumber.NavigateUrl; lnkDestinationWorkOrderNumber.Text = lnkSourceWorkOrderNumber.Text; lnkDestinationWorkOrderNumber.ToolTip = lnkSourceWorkOrderNumber.ToolTip; Label lblSourceWorkOrderDescription = sourceItem.FindControl("lblAssignedWorkOrderDescription") as Label; Label lblDestinationWorkOrderDescription = radWorkOrderList.Items.Last().FindControl("lblWorkOrderDescription") as Label; lblDestinationWorkOrderDescription.Text = lblSourceWorkOrderDescription.Text; radAssignedWorkOrderList.Items.Remove(sourceItem); } } if (e.DestinationListBox == radWorkOrderList) { radWorkOrderList.SortItems(); } else { radAssignedWorkOrderList.SortItems(); } e.Cancel = true; }
<telerik:RadTagCloud ID="RadTagCloud1" runat="server" renderitemweight="true" MaxNumberOfItems="40" TakeTopWeightedItems="true" DataMember="DefaultView" DataSourceID="SqlDataSource3" datatextfield="display_term" dataweightfield="document_count" maxfontfize="700%" MinFontSize="300%" WordsToExclude="a,about,after,all,also,an,and,are,not,as,at,be,been,but,by,can,could,did,do,does,problem,each,for,from,get,had,has,have,he,her,him,his,how,i,if,in,into,is,it,its,just,me,more,most,my,not,of,on,or,our,said,see,shall,she,should,so,some,than,that,the,their,there,they,this,those,to,up,used,was,we,were,what,when,which,while,who,why,will,with,would,you,your" ForeColor="White"></telerik:RadTagCloud>
Question 1:
i have 3 or more radpane, when i expand one radpane, how to collapse other radpane ?
Question 2:
when i collapse or expand one radpane, how to use animation effect, like radwindow controls (Animation="FlyIn")?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><title>Collapse / Expand RadPane</title></head><body><form id="form1" runat="server"><telerik:RadScriptManager ID="RadScriptManager1" runat="server" EnableScriptCombine="false" > <Scripts> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.Core.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQuery.js" /> <asp:ScriptReference Assembly="Telerik.Web.UI" Name="Telerik.Web.UI.Common.jQueryInclude.js" /> </Scripts></telerik:RadScriptManager><telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" /><telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"><script type="text/javascript"> function myhidden(item) { //How to do it ? }</script></telerik:RadCodeBlock><input type="button" value="myhidden" onclick="myhidden(1)" /><input type="button" value="myhidden" onclick="myhidden(2)" /><input type="button" value="myhidden" onclick="myhidden(3)" /><input type="button" value="myhidden" onclick="myhidden(4)" /><input type="button" value="myhidden" onclick="myhidden(5)" /><telerik:RadSplitter ID="RadSplitter_InnerVert" runat="server" Orientation="Vertical" VisibleDuringInit="false" BorderSize="1" Width="100%" Height="100%"> <telerik:RadPane ID="RadPane_Collapse1" runat="server" >111</telerik:RadPane> <telerik:RadPane ID="RadPane_Collapse2" runat="server" Collapsed="true">222</telerik:RadPane> <telerik:RadPane ID="RadPane_Collapse3" runat="server" Collapsed="true">333</telerik:RadPane> <telerik:RadPane ID="RadPane_Collapse4" runat="server" Collapsed="true">444</telerik:RadPane> <telerik:RadPane ID="RadPane_Collapse5" runat="server" Collapsed="true">...</telerik:RadPane></telerik:RadSplitter></form></body></html>For more explanations i enclose the pictures of the two situations, before and after loading.
Thanks in advance

I have a radcontextmenu with a radgrid. I attach navigate urls with Querystring values from the Radgrid's datakey values client side. I want to add an additional menuitem that performs a simple database action of update based on the datakey value in the radgrid. I cant find a way of doing this after searching pretty hard, so I need help. Perhaps all I need to do is somehow trigger a server side function, or maybe there is another way. The radgrid uses SQL datasource declarative binding. I would like to do the database update for all the rows selected in the RadGrid based on the datakeynames of each row. So basically, I would like add a menu item that asks "Update Selected Rows?" in an alert, then perform the update for each selected row.
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" Width="256px" Height="64px" runat="server"> <asp:Label ID="Label2" runat="server" ForeColor="Red">Loading... </asp:Label> </telerik:RadAjaxLoadingPanel> <telerik:RadCodeBlock runat="server" ID="radCodeBlock"> <script type="text/javascript"> function showFilterItem() { $find('<%=RadGrid1.ClientID %>').get_masterTableView().showFilterItem(); } function hideFilterItem() { $find('<%=RadGrid1.ClientID %>').get_masterTableView().hideFilterItem(); } function RowContextMenu(sender, eventArgs) { var NavigateUrl; var grid = window["<%= RadGrid1.ClientID %>"]; var masterTableView = grid.MasterTableView; var menu = $find("<%=RadContextMenu1.ClientID %>"); //document.getElementById("<%= Label1.ClientID %>").innerHTML = eventArgs.getDataKeyValue("ReservationID"); NavigateUrl = document.getElementById("<%= Label1.ClientID %>").innerHTML = eventArgs.getDataKeyValue("ReservationID"); var evt = eventArgs.get_domEvent(); var menuEditItem = menu.findItemByText("Edit"); menuEditItem.set_navigateUrl("Reservation.aspx?ReservationID=" + NavigateUrl); menu.show(evt); } function PopulateParticipant(sender, eventArgs) { var ResID; ResID = eventArgs.getDataKeyValue("ReservationID"); } function OnDateSelected(sender, eventArgs) { sender.set_autoPostBack(true); } </script> </telerik:RadCodeBlock> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> <telerik:RadGrid ID="RadGrid1" runat="server" PageSize="500" Height="600px" AllowFilteringByColumn="True" AllowPaging="True" AllowMultiRowSelection="true" AllowSorting="True" DataSourceID="SqlDsGetRetReservations" GridLines="None" ShowGroupPanel="True" Skin="Windows7" AutoGenerateColumns="False" EnableLinqExpressions="false"> <PagerStyle Mode="Slider"></PagerStyle> <ClientSettings AllowColumnsReorder="True" AllowDragToGroup="True" ReorderColumnsOnClient="True"> <ClientEvents OnRowContextMenu="RowContextMenu" OnRowSelected="PopulateParticipant" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" /> <Selecting AllowRowSelect="true" /> </ClientSettings> <MasterTableView DataSourceID="SqlDsGetRetReservations" NoMasterRecordsText="No Reservations created during this period." PagerStyle-Mode="Advanced" DataKeyNames="ReservationID" ClientDataKeyNames="ReservationID" AllowFilteringByColumn="true"> <Columns> <telerik:GridButtonColumn ButtonType="LinkButton" CommandName="CancelRes" HeaderText="Cancel" UniqueName="Cancel" Text="Cancel" ItemStyle-Width="35px"></telerik:GridButtonColumn> <telerik:GridBoundColumn DataField="ReservationID" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="Res ID" SortExpression="ReservationID" UniqueName="ResID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DeptID" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="DeptID" SortExpression="DeptID" UniqueName="DeptID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Chairperson" HeaderText="Chairperson" ItemStyle-Width="150px" AutoPostBackOnFilter="false" SortExpression="Chairperson" UniqueName="Chairperson"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Passcode" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="Passcode" SortExpression="Passcode" UniqueName="Passcode"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="PasscodeM" FilterControlWidth="50px" ItemStyle-Width="100px" HeaderText="PasscodeM" SortExpression="PasscodeM" UniqueName="PasscodeM"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ContactName" HeaderText="ContactName" ItemStyle-Width="150px" SortExpression="ContactName" UniqueName="ContactName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="StatusID" HeaderText="Status" SortExpression="Status" UniqueName="Status"> </telerik:GridBoundColumn> </Columns> </MasterTableView> </telerik:RadGrid> <telerik:RadContextMenu ID="RadContextMenu1" runat="server" OnItemClick="RadContextMenu1_ItemClick" Skin="Windows7"> <Targets> <telerik:ContextMenuControlTarget ControlID="RadGrid1" /> </Targets> <Items> <telerik:RadMenuItem Text="Add" /> <telerik:RadMenuItem Text="Edit" /> </Items> </telerik:RadContextMenu>Any help would be appreciated.
<div id="chartdiv" style="height:300px; width:600px; border: none;"></div><telerik:RadPageView ID="Achievement" runat="server"> <div class="responseDiv"><asp:Label ID = "AchievementLabel" runat="server"></asp:Label></div> <script type="text/javascript"> (function ($) { $(window).load(function () { var exceedPoints = [['3rd', 218], ['4th', 223]]; var plot1 = $.jqplot('chartdiv', [exceedPoints], { seriesDefaults: { pointLabels: { show: true } }, series: [{ label: 'Exceed' }], grid: { drawGridlines: false }, seriesColors: ['#666699'], title: 'Reading Scores' }); }); })($telerik.$); </script></telerik:RadPageView><AdvancedEditTemplate> <scheduler:AdvancedForm runat="server" ID="AdvancedEditForm1" Mode="Edit" Subject='<%# Bind("Subject") %>' Description='<%# Bind("Description") %>' Start='<%# Bind("Start") %>' End='<%# Bind("End") %>' RecurrenceRuleText='<%# Bind("RecurrenceRule") %>' CategoriaID='<%# Bind("IDTimeLineResource") %>' /> </AdvancedEditTemplate> <AdvancedInsertTemplate> <scheduler:AdvancedForm runat="server" ID="AdvancedInsertForm1" Mode="Insert" Subject='<%# Bind("Subject") %>' Start='<%# Bind("Start") %>' End='<%# Bind("End") %>' Description='<%# Bind("Description") %>' RecurrenceRuleText='<%# Bind("RecurrenceRule") %>' CategoriaID='<%# Bind("IDTimeLineResource") %>' /> </AdvancedInsertTemplate>e.Appointment.Resources.Count is 0)Protected Sub RadScheduler1_AppointmentInsert(ByVal sender As Object, ByVal e As Telerik.Web.UI.AppointmentInsertEventArgs) Handles RadScheduler1.AppointmentInsert LogManager.WriteToDebugLog("c:\log\", "RadScheduler1_AppointmentInsert " & e.Appointment.Resources.Count) If e.Appointment.Resources.Count > 0 Then If e.Appointment.Resources.GetResourceByType("Categoria") IsNot Nothing Then Dim myCategory As Long = Convert.ToInt32(e.Appointment.Resources.GetResourceByType("Categoria").Key) Dim myScheduler As New Adept.CScheduler(myConn) Dim newID As Long = myScheduler.NewAppointment(e.Appointment.Start, e.Appointment.End, e.Appointment.Subject, e.Appointment.Start, e.Appointment.End, e.Appointment.Start, e.Appointment.End, e.Appointment.Description, , , , myCategory) myScheduler = Nothing End If End If End Sub<asp:Panel runat="server" ID="ResourceControls"> <%-- RESOURCE CONTROLS --%> <ul class="rsResourceControls"> <li> <!-- Resource controls should follow the convention Res[Resource Name] for ID --> <scheduler:ResourceControl runat="server" ID="ResCategoriaID" Type="Categoria" Label="Categoria:" Skin='<%# Owner.Skin %>' /> </li> </ul> </asp:Panel><Bindable(BindableSupport.Yes, BindingDirection.TwoWay)> _ Public Property CategoriaID() As Object Get'IT DOES gET THE RIGHT CATEGORY. IT WORKS! 'LogManager.WriteToDebugLog("c:\log\", "GET BindableSupport CategoriaID " & ResCategoriaID.Value) Return ResCategoriaID.Value End Get Set(ByVal value As Object) ResCategoriaID.Value = value'IT DOES SET THE RIGHT CATEGORY. IT WORKS! 'LogManager.WriteToDebugLog("c:\log\", "SET BindableSupport CategoriaID " & value) End Set End Property<Bindable(BindableSupport.Yes, BindingDirection.TwoWay)> _ Public Property Value() As Object Get If ResourceValue.SelectedValue <> "NULL" Then 'LogManager.WriteToDebugLog("c:\log\", "Value " & DeserializeResourceKey(ResourceValue.SelectedValue)) Return DeserializeResourceKey(ResourceValue.SelectedValue) 'IT WORKS! End If Return "" End Get Set(ByVal value As Object) End Set End Property