or

</telerik:RadTabStrip> <telerik:RadGrid ID="gridWORKORDERS" runat="server" OnRowDrop="gridWORKORDERS_RowDrop" Height="400px" AllowMultiRowSelection="false" EnableHeaderContextMenu="false" Width="444px" HorizontalAlign="Center" OnItemCommand="radgridWORKORDERS_ItemCommand" OnNeedDataSource="gridWORKORDERS_NeedDataSource"> <MasterTableView DataKeyNames="pm_strWorkOrderID" Width="444px" HorizontalAlign="Center" TableLayout="Fixed" ClientDataKeyNames="pm_strWorkOrderID" AllowPaging="True" AllowCustomPaging="true" AutoGenerateColumns="false">... etc.protected void gridWORKORDERS_NeedDataSource(object source, GridNeedDataSourceEventArgs e){ int recordCount = 0; List<WorkOrderEx> workOrders = new List<WorkOrderEx>(); string sessionTab = Session[_WO_FILTER_TAB] == null ? "Unassigned" : Session[_WO_FILTER_TAB].ToString(); gridWORKORDERS.DataSource = null; switch (sessionTab) { case "Unassigned": // Need to do this in a couple of steps or the grid paging doesn't work properly recordCount = DbContext.WorkOrders.Where(f => f.AssignedTechs.Count <= 0).Count(); // Save ourselves some time.. if (recordCount > 0) workOrders = DbContext.WorkOrders.Where(f => f.AssignedTechs.Count <= 0) .OrderBy(x => x.WorkOrderId) .Skip(gridWORKORDERS.PageSize * gridWORKORDERS.CurrentPageIndex) .Take(gridWORKORDERS.PageSize) .Select(k => new WorkOrderEx(DbContext, k)).ToList(); break; case "blah blah blah.. Looks very much like the first case statement.": break; } gridWORKORDERS.VirtualItemCount = recordCount; gridWORKORDERS.DataSource = workOrders; //gridWORKORDERS.Rebind(); <-- Enabling this blows everything up.. You know what I mean. :)}