rjb*_*l00 8 asp.net telerik radgrid
我最近开始使用ASP.Net和Telerik的RadGrid,但遇到了一个问题:
我的RadGrid对象位于Page对象(具有脚本管理器)中的自定义控件对象内的UserControl对象中.
我在自定义控件中有几个UserControl,每个包含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>
Run Code Online (Sandbox Code Playgroud)
我已经将列和命名空间的名称更改为非特定于项目的内容,但网格会加载.
正如它在自定义控件中一样,它实例化如下:
var view = (AreaListRadGrid)this.TemplateControl.LoadControl(".\\WebControls\\AreaListRadGrid.ascx");
view.DataSource = dataSet;
areaCenterMiddle.Controls.Add(view);
view.RadGrid.Rebind();
Run Code Online (Sandbox Code Playgroud)
的dataSet变量的类型的System.Data.DataSet.
所以,当我运行这个网站时,会出现Rad Grid.我有一个有4行的网格,其中3行在第1页,最后一行在第2页.
当我点击第2页时,一切都按预期发生.页面按钮的样式更改,第1页的行被删除,第2页的行添加到网格中.大!接下来发生的是我不明白的事情:
再次单击第1页时,第2页按钮的样式不会改变(因此它仍然好像被单击)并且第2行和第3行出现在网格上,但第一行是第2页上的行.

当加载页面1时,似乎第2页没有清除,但我不知道为什么或如何这样.任何人都对我正在做错的事情有任何想法?
真的很感谢你的帮助.
干杯,
抢
我确信您现在已经弄清楚了这一点,但我想知道这是否是未使用网格数据源设置 NeedDataSource 属性的副作用?
将其添加到前端的 RadGrid 控件。
OnNeedDataSource =“radGrid_NeedDataSource”
并在后面的代码中处理它。
protected void radGrid_NeedDataSource(对象发送者, GridNeedDataSourceEventArgs e) { view.RadGrid.DataSource = gridData; }
| 归档时间: |
|
| 查看次数: |
2171 次 |
| 最近记录: |