显示最后10行的第一页不是下一个最后10行的下一个页面 [英] Displaying Last 10 rows for first page than next last 10 rows for next page

查看:99
本文介绍了显示最后10行的第一页不是下一个最后10行的下一个页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用这个功能,使用寻呼datagridview的显示数据,在使用此页1 我收到最后10行正常显示,但是当我点击下一步按钮它应该显示下一页尾页10行,但它显示前10行,每行接下来的页面上,我认为他们是错误在我的 CMD2其他部分的查询,但是那是什么?我使用Access数据库

 私人数据表GetCurrentRecords(INT页,OleDbConnection的CON)
        {
            DT =新的DataTable();

            如果(页面== 1)
            {
                CMD2 =新的OleDbCommand(选择TOP+每页+QID,问题,选项1,OPT2,OPT3,OPT4,AnsOp,标志着问题ORDER BY QID降序,CON);
                // CurrentPageIndex ++;
            }
            其他
            {
                INT previouspageLimit =(页 -  1)*每页;

                CMD2 =新的OleDbCommand(选择TOP+每页+
                    QID,问题,选项1,OPT2,OPT3,OPT4,AnsOp,从问号+
                    WHE​​RE QID NOT IN+
                (选择TOP+ previouspageLimit +QID的问题ORDER BY QID DESC),CON); // +
                //以便通过MedicalClgID,CON);
            }
            尝试
            {
                // con.Open();
                this.adp1.SelectCommand = CMD2;
                this.adp1.Fill(DT);
                txtPaging.Text =的String.Format({0} {1}的,this.CurrentPageIndex,this.TotalPage);
            }
            最后
            {
                // con.Close();
            }
            返回DT;
        }
 

解决方案

改变 CMD2 来此给降序排列的所有行

  CMD2 =新的OleDbCommand(选择TOP+每页+
                    QID,问题,选项1,OPT2,OPT3,OPT4,AnsOp,从问号+
                    WHE​​RE QID NOT IN+
                (选择TOP+ previouspageLimit +QID的问题ORDER BY QID DESC)+
                ORDER BY QID降序,CON);
 

I am using this Function for displaying data in datagridview using paging ,using this on page 1 I am getting Last 10 rows displayed properly ,but when I click on next button It should display next last 10 rows but it display top 10 rows on each next page ,I think their is mistake in my cmd2 query of else part but what is that ? I am using Access database

private DataTable GetCurrentRecords(int page, OleDbConnection con)
        {
            dt = new DataTable();

            if (page == 1)
            {
                cmd2 = new OleDbCommand("Select TOP " + PageSize + " QID,Question,Opt1,Opt2,Opt3,Opt4,AnsOp,Marks from Questions ORDER BY QID DESC", con);
                // CurrentPageIndex++;
            }
            else
            {
                int PreviouspageLimit = (page - 1) * PageSize;

                cmd2 = new OleDbCommand("Select TOP " + PageSize +
                    " QID,Question,Opt1,Opt2,Opt3,Opt4,AnsOp,Marks from Questions " +
                    "WHERE QID NOT IN " +
                "(Select TOP " + PreviouspageLimit + " QID from Questions ORDER BY QID DESC) ", con); // +
                //"order by MedicalClgID", con);
            }
            try
            {
                // con.Open();
                this.adp1.SelectCommand = cmd2;
                this.adp1.Fill(dt);
                txtPaging.Text = string.Format("{0} of {1} ", this.CurrentPageIndex, this.TotalPage);
            }
            finally
            {
                // con.Close();
            }
            return dt;
        }

解决方案

changing cmd2 to this give all rows in DESCENDING ORDER

cmd2 = new OleDbCommand("Select TOP " + PageSize +
                    " QID,Question,Opt1,Opt2,Opt3,Opt4,AnsOp,Marks from Questions " +
                    "WHERE QID NOT IN " +
                "(Select TOP " + PreviouspageLimit + " QID from Questions ORDER BY QID DESC) " +
                "ORDER BY QID DESC", con);

这篇关于显示最后10行的第一页不是下一个最后10行的下一个页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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