GridView控件PageIndexChanging不工作 [英] GridView PageIndexChanging Not Working

查看:169
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆