
Protected Sub RadScheduler1_AppointmentUpdate(ByVal sender As Object, ByVal e As AppointmentUpdateEventArgs) Handles RadScheduler1.AppointmentUpdate
Dim ret As String = e.ModifiedAppointment.Description
ret = e.Appointment.Attributes.Item("Description")
End Sub
I have used the follwing code for my sorting in load data on demand in telerik grid.I have used SortBy as Name,Orderby as Descending by default.While pageload,it loads the descending order with name correctly.If i click on the Name header,it will sort ascending correctly.If again i click on the header text it doesnt set the Orderby value as ascending (as previous value).What I have to do for that?
protected void RadGrid1_SortCommand(object sender, GridSortCommandEventArgs e)
{
GridSortExpression sortExpr = new GridSortExpression();
e.Canceled = true;
string defaultSortorder = e.OldSortOrder.ToString();
sortBy = ViewState["SortBy"].ToString();
orderBy = ViewState["OrderBy"].ToString();
switch (e.OldSortOrder)
{
case GridSortOrder.Ascending:
sortExpr.FieldName = e.SortExpression;
sortExpr.SortOrder = GridSortOrder.Descending;
e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr);
ViewState["sortBy"] = sortExpr.FieldName;
ViewState["orderBy"] = sortExpr.SortOrder;
break;
case GridSortOrder.Descending:
sortExpr.FieldName = e.SortExpression;
sortExpr.SortOrder = GridSortOrder.Ascending;
e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr);
ViewState["sortBy"] = sortExpr.FieldName;
ViewState["orderBy"] = sortExpr.SortOrder;
break;
}
if (!e.Item.OwnerTableView.SortExpressions.ContainsExpression(e.SortExpression))
{
GridSortExpression sortExpr1 = new GridSortExpression();
sortExpr1.FieldName = e.SortExpression;
sortExpr1.SortOrder = GridSortOrder.Ascending;
e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr1);
ViewState["sortBy"] = sortExpr1.FieldName;
ViewState["orderBy"] = sortExpr1.SortOrder;
}
}
<divid="f_body_box"><inputtype="hidden"name="dirtyRows"value="~"/><telerik:RadDockLayoutID="FormBodyDockZone"runat="server"StoreLayoutInViewState="True"><telerik:RadDockZoneID="FormDockZoneRight"runat="server"Width="45%"Style="float: right"Height="100%"BorderStyle="None"></telerik:RadDockZone><telerik:RadDockZoneID="FormDockZoneLeft"runat="server"Width="45%"Height="100%"></telerik:RadDockZone></telerik:RadDockLayout></div>
// Create the dock control and add it to the layoutRadDock dock = new RadDock(){ DockMode = DockMode.Docked, ID = groupID.ToString(), Title = (from row in data.Tables[0].AsEnumerable() where row.Field<int>("group_id") == groupID select row.Field<string>("group_nm")).FirstOrDefault(), EnableAnimation = true, DefaultCommands = Telerik.Web.UI.Dock.DefaultCommands.ExpandCollapse, Skin = "Windows7",};dock.ContentContainer.Controls.Add(group);// Add the dock to the alternating controlsif (i % 2 == 0){ FormDockZoneLeft.Controls.Add(dock);}else{ FormDockZoneRight.Controls.Add(dock);}<telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="ObjectDataSource1" OnColumnCreated="RadGrid1_ColumnCreated" OnItemCreated="RadGrid1_ItemCreated" OnItemDataBound="RadGrid1_ItemDataBound" OnExportCellFormatting="RadGrid1_ExportCellFormatting" Width="100%"> <MasterTableView HierarchyDefaultExpanded="false" HierarchyLoadMode="Client" AllowSorting="false" DataKeyNames="EventGroupTypeId, ParentEventGroupTypeId" TableLayout="Fixed"> <SelfHierarchySettings ParentKeyName="ParentEventGroupTypeId" KeyName="EventGroupTypeId" /> </MasterTableView> <ClientSettings AllowExpandCollapse="true"> <Scrolling AllowScroll="true" /> <ClientEvents OnGridCreated="GridCreated" /> </ClientSettings></telerik:RadGrid>
.rgDataDiv { height: auto !important }function GridCreated(sender, args) { ResizeGrid();}function ResizeGrid() { var grid = $find("<%= RadGrid1.ClientID %>"); grid.get_element().style.width = ($(window).width() - 140) + "px"; // <-- with this line included, the problem shows. Without it, the problem doesn't show but the grid also goes off the screen (large number of columns)}