I am using Linq queries as my datasource and using gridboundcolums on my radgrid. Whenever I go to sort or page the dataon the radgrid dissapears completely.
<telerik:RadGrid ID="gridDpSummary" runat="server" CellSpacing="0" GridLines="None" EnableEmbeddedSkins="False" Skin="dpgrid" AllowSorting="True" AllowPaging="True" PageSize="20" onneeddatasource="gridDpSummary_NeedDataSource"> <PagerStyle Mode="NextPrevNumericAndAdvanced"></PagerStyle> <MasterTableView> <Columns> <telerik:GridBoundColumn FilterControlAltText="Filter columnVoyage column" HeaderText="Voyage" UniqueName="columnVoyage" DataField="voyageID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlAltText="Filter columnStartDate column" HeaderText="Start Date" UniqueName="columnStartDate" DataField="date"> </telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlAltText="Filter columnEndDate column" HeaderText="End Date" UniqueName="columnEndDate"> </telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlAltText="Filter columnVessel column" HeaderText="Vessel" UniqueName="columnVessel" DataField="vesselName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlAltText="Filter columnFacility column" HeaderText="Facility" UniqueName="columnFacility" DataField="facilityName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlAltText="Filter columnDPType column" HeaderText="DP Type" UniqueName="columnDPType"> </telerik:GridBoundColumn> <telerik:GridBoundColumn FilterControlAltText="Filter columnTotalHours column" HeaderText="Total Hours" UniqueName="columnTotalHours"> </telerik:GridBoundColumn> </Columns> </MasterTableView> <PagerStyle Mode="NextPrevAndNumeric" /> <FilterMenu EnableTheming="true"> <CollapseAnimation Duration="200" Type="OutQuint" /> </FilterMenu> </telerik:RadGrid>
My NeedDataSource Event
protected void gridDpSummary_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e) {
int companyID = Convert.ToInt32(parameters.companyID);
DateTime startDate = Convert.ToDateTime(parameters.startDate);
DateTime endDate = Convert.ToDateTime(parameters.endDate);
endDate = endDate.AddDays(1);
var voyIDQuery = from vl in dc.lkpVoyageLegs
join vc in dc.lkpVoyageCompanies on vl.voyageID equals vc.voyageID
where vc.companyID == companyID
&& vl.aDateTime >= startDate
&& vl.aDateTime < endDate
&& vl.isEnd == true
select vl.voyageID;
var dpQuery = from vl2 in dc.lkpVoyageLegs
join dpt in dc.utlDPTypes on vl2.dpTypeID equals dpt.dpTypeID
join voy in dc.dtaVoyages on vl2.voyageID equals voy.ID
join ves in dc.dtaVessels on voy.vesselID equals ves.vesselID
join fac in dc.dtaFacilities on vl2.facilityID equals fac.facilityID
where voyIDQuery.Contains(vl2.voyageID)
select new { voyageID = vl2.voyageID, vesselName = ves.name, facilityName = fac.name, date = vl2.aDateTime };
gridDpSummary.DataSource = dpQuery;
}