Bac*_*pin 5 asp.net paging gridview updatepanel wizard
我有一个页面,可以选择客人.
此页面包含一个更新面板,在更新面板中有一个向导控件,在向导控件中有一个gridview(面板 - >更新面板 - >向导控件 - > gridview)
现在分页效果不好,我在互联网上搜索答案,但我找不到正确的答案.我使用自定义分页.
当我想更改页面编号(到第二页或最后一页)时,它工作正常.但是当我想选择一行或转到另一页时,gridview无法正常工作.当我在第二页或最后一页上选择A行时(其他页面不起作用),所选的guest(item)始终是第一页之一.当我想要更改到另一个页面(从第二页或最后一页)时,它不起作用并停留在所选页面上.
有没有办法解决这个问题?
部分代码:
<asp:Panel ID="PnlRe" Style="display: none; ... >
<asp:UpdatePanel ID="UpdtPnlDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate>
...
<asp:Wizard ID="wzd" runat="server" ... >
...
<asp:WizardStep ID="WizardStep3" runat="server" Title="Naam">
...
<asp:Gridview ID="Gridview1" runat="server" AutoGenerateColumns="False"
DataKeyNames="GastID,Versie" DataSourceID="odsGasten" EmptyDataText="...."
OnRowCommand="Gridview1_RowCommand" OnPageIndexChanging="Gridview1_PageIndexChanging"
OnPageSizeChanging="Gridview1_PageSizeChanging" OnSearching="Gridview1_Searching"
OnSorting="Gridview1_Sorting" OnRowDataBound="Gridview1_RowDataBound"
CausesValidation="False" meta:resourcekey="..." PagerType="Custom"
ShowFilter="True" ShowInsertRecord="True" ShowPageSizer="True" UseSubmitBehaviour="False">
<Columns>
<asp:TemplateField ShowHeader="False" meta:resourcekey="...">
<ItemTemplate>
<asp:ImageButton runat="server" CommandName="Select" CausesValidation="False" SkinID="uprowbutton"
ToolTip="..." ID="ImgBtnSelect" meta:resourcekey="...">
</asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
... Boundfields ...
</Columns>
</asp:Gridview>
...
</asp:WizardStep>
...
</asp:Wizard>
</ContentTemplate>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
protected void Gridview1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.odsGasten.FilterExpression = searchText;
this.Gridview1.DataBind();
this.UpdtPnlDetail.Update();
}
Run Code Online (Sandbox Code Playgroud)
有一个棘手的方法可以实现这一点,您必须操纵数据源。例如,如果您使用数据表,则必须选择 dt 的前十个元素并将其绑定到网格,然后单击下一个按钮时获取 dt 的下十个元素并将其绑定到 gridview。这将使您的任务变得简单,并为您的页面获得更高的性能。
| 归档时间: |
|
| 查看次数: |
1118 次 |
| 最近记录: |