日期:2014-05-20  浏览次数:20397 次

关于GridView的问题-----分页时记录怎么少了一行??
gridview通过动态绑定datasource,如果记录数小于10,也就是不足一页时是正常的,但是超过10行就发现少了一行记录(少了最后一行)。很奇怪的问题,在网上搜索也没得到答案,特来这里来向高手们讨教,相关代码如下:

    protected   void   TraxGridView_PageIndexChanging(object   sender,                                GridViewPageEventArgs   e)
        {
                if   (TraxGridView.EditIndex   !=   -1)
                {
                        ShowAlert( "   You   are   editing   data   now   ,please   save   data   or          cancel   editing   first   before   paging! ");
                        e.Cancel   =   true;
                        return;
                }

                e.Cancel   =   false;

                TraxGridView.PageIndex   =   e.NewPageIndex;
                TraxGridView.DataSource   =   null;
                TraxGridView.DataBind();
                DataTable   dt   =   GetTraxInfo();
                TraxGridView.DataSource   =   dt;
                TraxGridView.DataBind();


------解决方案--------------------
TraxGridView.DataSource = null;
TraxGridView.DataBind();

这是什么意思?你下面既然绑定数据还先把它的DataSource设为null干什么?
还绑定了一次,你把这两行代码去掉试试


------解决方案--------------------
跟踪一下 看看 dt 中的数据正常不