GridView控件PageIndexChanging不工作 [英] GridView PageIndexChanging Not Working
本文介绍了GridView控件PageIndexChanging不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这似乎是一个简单的问题要问,但是我不能够以显示GridView的项目。这里是我的code:
公共部分类TestList:System.Web.UI.Page
{
保护无效的Page_Load(对象发件人,EventArgs的发送)
{ 如果(!Page.IsPostBack)
{TestProject.DataAccess.Repository.Instance.Initialize(Settings.Default.TestConnection);
BindData();
} } 私人无效BindData()
{
//限制信息!
gvAgentList.DataSource = EntityRegistration.DataAccess.Repository.Instance.GetData();
gvAgentList.DataBind();
} 保护无效gvAgentList_PageIndexChanging(对象发件人,GridViewPageEventArgs E)
{ gvAgentList.PageIndex = e.NewPageIndex;
gvAgentList.DataBind();
} 私人字符串ConvertSortDirectionToSql(SortDirection sortDirection)
{
字符串newSortDirection =的String.Empty; 开关(sortDirection)
{
案例SortDirection.Ascending:
newSortDirection =ASC;
打破; 案例SortDirection.Descending:
newSortDirection =DESC;
打破;
} 返回newSortDirection;
} 保护无效gvAgentList_Sorting(对象发件人,GridViewSortEventArgs E)
{
DataTable中的dataTable = gvAgentList.DataSource的数据表; 如果(dataTable的!= NULL)
{
数据视图数据视图=新的数据视图(dataTable的);
dataView.Sort = e.SortEx pression ++ ConvertSortDirectionToSql(e.SortDirection); gvAgentList.DataSource =数据视图;
gvAgentList.DataBind();
}
}}
下面是在GridView的标记:
< ASP:内容ID =内容1ContentPlaceHolderID =HeadContent=服务器>
< / ASP:内容>
< ASP:内容ID =内容2ContentPlaceHolderID =日程地址搜索Maincontent=服务器>
&所述p为H.;
剂解释:或其可/差异无显着
< ASP:的UpdatePanel ID =UpdatePanel1=服务器>
<&的ContentTemplate GT;
< ASP:GridView控件=服务器ID =gvAgentList
AllowPaging =真
AutoGenerateSelectButton =真AllowSorting =真背景色=#E8E8E8
BORDERCOLOR =#003399边框=实边框宽度=1px的高度=375px
WIDTH =731pxOnPageIndexChanging =gvAgentList_PageIndexChanging
OnSorting =gvAgentList_Sorting> < AlternatingRowStyle前景色=#0066CC/>
< HeaderStyle前景色=#3366FF/> < / ASP:GridView的> < ASP:SqlDataSource的ID =SqlDataSource1=服务器>< / ASP:SqlDataSource的> < /&的ContentTemplate GT;
< / ASP:的UpdatePanel>
< / ASP:内容>
问题是,我的GridView是不扔我任何异常,并通过断点我可以看到该功能在code叫后面。
我的排序也没有工作:(
块引用>解决方案尝试
保护无效gvAgentList_PageIndexChanging(对象发件人,GridViewPageEventArgs E)
{ gvAgentList.PageIndex = e.NewPageIndex;
BindData();
}This seems to be an easy question to ask, but I am not able to show items in GridView. Here is my code:
public partial class TestList : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { TestProject.DataAccess.Repository.Instance.Initialize(Settings.Default.TestConnection); BindData(); } } private void BindData() { //Restriction Info!! gvAgentList.DataSource = EntityRegistration.DataAccess.Repository.Instance.GetData(); gvAgentList.DataBind(); } protected void gvAgentList_PageIndexChanging (object sender, GridViewPageEventArgs e) { gvAgentList.PageIndex = e.NewPageIndex; gvAgentList.DataBind(); } private string ConvertSortDirectionToSql(SortDirection sortDirection) { string newSortDirection = String.Empty; switch (sortDirection) { case SortDirection.Ascending: newSortDirection = "ASC"; break; case SortDirection.Descending: newSortDirection = "DESC"; break; } return newSortDirection; } protected void gvAgentList_Sorting(object sender, GridViewSortEventArgs e) { DataTable dataTable = gvAgentList.DataSource as DataTable; if (dataTable != null) { DataView dataView = new DataView(dataTable); dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection); gvAgentList.DataSource = dataView; gvAgentList.DataBind(); } } }
Here is the markup of the GridView:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <p> Agent Lists:</p> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:GridView runat ="server" ID = "gvAgentList" AllowPaging = "True" AutoGenerateSelectButton="True" AllowSorting="True" BackColor="#E8E8E8" BorderColor="#003399" BorderStyle="Solid" BorderWidth="1px" Height="375px" Width="731px" OnPageIndexChanging = "gvAgentList_PageIndexChanging" OnSorting="gvAgentList_Sorting" > <AlternatingRowStyle ForeColor="#0066CC" /> <HeaderStyle ForeColor="#3366FF" /> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource> </ContentTemplate> </asp:UpdatePanel> </asp:Content>
The problem is that my GridView is not throwing me any exception and through breakpoints I can see that the function is called in code behind.
My sorting is also not working :(
解决方案Try
protected void gvAgentList_PageIndexChanging (object sender, GridViewPageEventArgs e) { gvAgentList.PageIndex = e.NewPageIndex; BindData(); }
这篇关于GridView控件PageIndexChanging不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文