Hi All,
I have a RadGrid like below. While databinding it by using NeedDataSource event, the paging is not working . i.e results are displaying correctly on first load, but on clicking paging buttons, radgrid binds again and no paging nothing happens.
Please suggest .
Here is the complete code I am using.
HTML CODE
<telerik:RadGrid ID="PhaseView" PageSize="50" runat="server" Width="2000px"
OnNeedDataSource="PhaseView_NeedDataSource"
OnDataBound="PhaseView_DataBound" AllowCustomPaging="false"
OnPageIndexChanged="PhaseView_PageIndexChanged"
AutoGenerateColumns="false" AllowPaging="true" AllowSorting="true" AllowFilteringByColumn="true"
GridLines="None" ShowGroupPanel="true"
AllowMultiRowSelection="true" >
<MasterTableView DataKeyNames="MessageID" IsFilterItemExpanded="False" GroupLoadMode="Client"
CommandItemDisplay="Top">
<CommandItemSettings ShowExportToCsvButton="true" ShowAddNewRecordButton="false"
ShowRefreshButton="false" ShowExportToExcelButton="true" />
<Columns>
<telerik:GridBoundColumn DataField="ProjectID" DataFormatString="{0:d}" HeaderText="Project ID"
SortExpression="ProjectID" UniqueName="ProjectID">
</telerik:GridBoundColumn>
<telerik:GridHyperLinkColumn DataNavigateUrlFields="ProjectID" DataNavigateUrlFormatString="ProjectDetails.aspx?ProjectID={0}"
DataTextField="ProjectName" DataType="System.String" HeaderText="Project Name"
SortExpression="ProjectName" UniqueName="ProjectName">
</telerik:GridHyperLinkColumn>
<telerik:GridBoundColumn DataField="CustomerName" HeaderText="Customer Name" SortExpression="CustomerName"
UniqueName="CustomerName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="RegionName" HeaderText="Region" SortExpression="RegionName"
UniqueName="RegionName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ProjectManagerName" HeaderText="Project Manager"
SortExpression="ProjectManagerName" UniqueName="ProjectManagerName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Phase Name" DataField="Phase" UniqueName="TagName"
SortExpression="Phase">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="CreatedBy" DataField="CreatedBy" UniqueName="CreatedBy"
SortExpression="CreatedBy">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="EmailCreatedDate" HeaderText="EmailCreatedDate"
SortExpression="EmailCreatedDate" UniqueName="EmailCreatedDate">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="MessageSubject" HeaderText="MessageSubject" SortExpression="MessageSubject"
UniqueName="MessageSubject">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="From" HeaderText="From" SortExpression="From"
UniqueName="From">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="TO" HeaderText="TO" SortExpression="TO">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="CC" DataField="CC" UniqueName="CC" SortExpression="CC">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowDragToGroup="True" AllowColumnHide="True" AllowRowHide="True"
AllowColumnsReorder="True" ReorderColumnsOnClient="True" ColumnsReorderMethod="Reorder">
</ClientSettings>
<HeaderContextMenu EnableAutoScroll="True">
</HeaderContextMenu>
</telerik:RadGrid>
.cs Code
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (Page.IsPostBack == false)
{
loadgrid();
}
}
catch (Exception ex)
{
BusinessLogic.Debug.InsertLogEntry(ex);
}
finally
{
AuthObj = null;
}
}
protected void loadgrid()
{
Messages objMessage = new Messages();
try
{
PhaseView.DataSource = objMessage.GetEmailReportData_New(); // this function returns a DataTable
// PhaseView is the ID of RadGrid Control
PhaseView.DataBind();
}
catch (Exception ex)
{
BusinessLogic.Debug.InsertLogEntry(ex);
}
}
protected void PhaseView_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
Messages objMessage = new Messages();
DataTable dt = new DataTable();
try
{
PhaseView.DataSource = objMessage.GetEmailReportData_New(); // this function returns a DataTable
}
catch (Exception ex)
{
BusinessLogic.Debug.InsertLogEntry(ex);
}
finally
{
objMessage = null;
}
}
protected void PhaseView_PageIndexChanged(object sender, GridPageChangedEventArgs e)
{
loadgrid();
}
protected void PhaseView_DataBound(object sender, EventArgs e)
{
}
I have a RadGrid like below. While databinding it by using NeedDataSource event, the paging is not working . i.e results are displaying correctly on first load, but on clicking paging buttons, radgrid binds again and no paging nothing happens.
Please suggest .
Here is the complete code I am using.
HTML CODE
<telerik:RadGrid ID="PhaseView" PageSize="50" runat="server" Width="2000px"
OnNeedDataSource="PhaseView_NeedDataSource"
OnDataBound="PhaseView_DataBound" AllowCustomPaging="false"
OnPageIndexChanged="PhaseView_PageIndexChanged"
AutoGenerateColumns="false" AllowPaging="true" AllowSorting="true" AllowFilteringByColumn="true"
GridLines="None" ShowGroupPanel="true"
AllowMultiRowSelection="true" >
<MasterTableView DataKeyNames="MessageID" IsFilterItemExpanded="False" GroupLoadMode="Client"
CommandItemDisplay="Top">
<CommandItemSettings ShowExportToCsvButton="true" ShowAddNewRecordButton="false"
ShowRefreshButton="false" ShowExportToExcelButton="true" />
<Columns>
<telerik:GridBoundColumn DataField="ProjectID" DataFormatString="{0:d}" HeaderText="Project ID"
SortExpression="ProjectID" UniqueName="ProjectID">
</telerik:GridBoundColumn>
<telerik:GridHyperLinkColumn DataNavigateUrlFields="ProjectID" DataNavigateUrlFormatString="ProjectDetails.aspx?ProjectID={0}"
DataTextField="ProjectName" DataType="System.String" HeaderText="Project Name"
SortExpression="ProjectName" UniqueName="ProjectName">
</telerik:GridHyperLinkColumn>
<telerik:GridBoundColumn DataField="CustomerName" HeaderText="Customer Name" SortExpression="CustomerName"
UniqueName="CustomerName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="RegionName" HeaderText="Region" SortExpression="RegionName"
UniqueName="RegionName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="ProjectManagerName" HeaderText="Project Manager"
SortExpression="ProjectManagerName" UniqueName="ProjectManagerName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="Phase Name" DataField="Phase" UniqueName="TagName"
SortExpression="Phase">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="CreatedBy" DataField="CreatedBy" UniqueName="CreatedBy"
SortExpression="CreatedBy">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="EmailCreatedDate" HeaderText="EmailCreatedDate"
SortExpression="EmailCreatedDate" UniqueName="EmailCreatedDate">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="MessageSubject" HeaderText="MessageSubject" SortExpression="MessageSubject"
UniqueName="MessageSubject">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="From" HeaderText="From" SortExpression="From"
UniqueName="From">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="TO" HeaderText="TO" SortExpression="TO">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn HeaderText="CC" DataField="CC" UniqueName="CC" SortExpression="CC">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<ClientSettings AllowDragToGroup="True" AllowColumnHide="True" AllowRowHide="True"
AllowColumnsReorder="True" ReorderColumnsOnClient="True" ColumnsReorderMethod="Reorder">
</ClientSettings>
<HeaderContextMenu EnableAutoScroll="True">
</HeaderContextMenu>
</telerik:RadGrid>
.cs Code
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (Page.IsPostBack == false)
{
loadgrid();
}
}
catch (Exception ex)
{
BusinessLogic.Debug.InsertLogEntry(ex);
}
finally
{
AuthObj = null;
}
}
protected void loadgrid()
{
Messages objMessage = new Messages();
try
{
PhaseView.DataSource = objMessage.GetEmailReportData_New(); // this function returns a DataTable
// PhaseView is the ID of RadGrid Control
PhaseView.DataBind();
}
catch (Exception ex)
{
BusinessLogic.Debug.InsertLogEntry(ex);
}
}
protected void PhaseView_NeedDataSource(object source, GridNeedDataSourceEventArgs e)
{
Messages objMessage = new Messages();
DataTable dt = new DataTable();
try
{
PhaseView.DataSource = objMessage.GetEmailReportData_New(); // this function returns a DataTable
}
catch (Exception ex)
{
BusinessLogic.Debug.InsertLogEntry(ex);
}
finally
{
objMessage = null;
}
}
protected void PhaseView_PageIndexChanged(object sender, GridPageChangedEventArgs e)
{
loadgrid();
}
protected void PhaseView_DataBound(object sender, EventArgs e)
{
}