Telerik的radgrid控件分页 - 重复记录,并坚持按钮
我最近使用ASP.Net和Telerik的radgrid控件的开始,但已经遇到了一个问题:Telerik的radgrid控件分页 - 重复记录,并坚持按钮
我radgrid控件对象中的自定义控制对象内的用户控件对象中页面对象(具有脚本管理器)。
我有几个用户控件说内自定义控制,每个包含标记的radgrid控件对象如下:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AreaListRadGrid.ascx.cs" Inherits="WebControls.AreaListRadGrid" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" assembly="Telerik.Web.UI" %>
<telerik:RadAjaxPanel runat="server" ID="radAjaxPanel"
EnableAJAX="true" LoadingPanelID="radAjaxLoadingPanel">
<telerik:RadGrid AllowPaging="true" AutoGenerateColumns="false" DataSourceID="gridData" EnableViewState="true" GridLines="None" ID="radGrid" runat="server">
<PagerStyle Mode="NumericPages" />
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="ColA" HeaderText="A" />
<telerik:GridBoundColumn DataField="ColB" HeaderText="B" />
<telerik:GridBoundColumn DataField="ColC" HeaderText="C" />
<telerik:GridBoundColumn DataField="ColD" HeaderText="D" />
<telerik:GridBoundColumn DataField="ColE" HeaderText="E" />
</Columns>
</MasterTableView>
</telerik:RadGrid>
</telerik:RadAjaxPanel>
<asp:ObjectDataSource ID="gridData" runat="server"
SelectMethod="GetData"
SelectCountMethod="GetDataCount"
OnObjectCreating="dataObjectCreating"
TypeName="AreaListRadGrid">
</asp:ObjectDataSource>
<telerik:RadAjaxLoadingPanel runat="server" ID="radAjaxLoadingPanel">
Loading please wait....
</telerik:RadAjaxLoadingPanel>
我已经改变了列和命名空间的东西非项目的具体名称,但网格加载。
由于这是在自定义控制,它被实例如下:
var view = (AreaListRadGrid)this.TemplateControl.LoadControl(".\\WebControls\\AreaListRadGrid.ascx");
view.DataSource = dataSet;
areaCenterMiddle.Controls.Add(view);
view.RadGrid.Rebind();
的dataSet
变量是System.Data.DataSet
类型。
所以,当我运行这个网站时,会出现Rad网格。我有一个4行的网格,其中3个在第1页,最后一行在第2页。 当我单击页面2时,所有事情都按预期发生。页面按钮的样式会更改,第1页的行将被删除,第2页的行会添加到网格中。大!接下来会发生什么我不明白:
当再次点击页面1时,页面2按钮的样式不会改变(所以它仍然像点击一样),行2和3出现在格,但第一行是这是第2页
它时,似乎第1页加载2页不清除该行,我不知道为什么或如何,这是,虽然。任何人有任何想法,我不正确的做法?
非常感谢您的帮助。
干杯,
罗布
我相信你有这个想通了现在,但我不知道这是不是不与电网数据源设置NeedDataSource财产的副作用?
将此添加到前端的RadGrid控件中。
OnNeedDataSource = “radGrid_NeedDataSource”
和在代码中处理它的后面。
保护无效radGrid_NeedDataSource(对象发件人, GridNeedDataSourceEventArgs E){ view.RadGrid.DataSource =的GridData; }
我相信这应该可以做到! NeedDataSource做你需要的所有魔法。 –
加载时不需要将数据集提供给网格。必要时,使用您在设计中设置的DataSourceID检索数据集。
删除“view.DataSource = dataSet;”重新绑定功能和一切应该按预期工作。
真的很好拼在一起的问题。这是应该如何回答的问题。 –
发布控件本身的任何可能性?我开始设置一个项目来排除故障,但是如果我不能实例化对象,就没有办法。 – KreepN
您在所有浏览器中或仅在任何特定浏览器中收到此问题? –