博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]C# Bootstrap table之 分页
阅读量:6125 次
发布时间:2019-06-21

本文共 3348 字,大约阅读时间需要 11 分钟。

本文转自:

效果如图:

 

一、声明talbe

二、JS绑定Table值

           当前使用的是服务端分页  sidePagination: "server"  。根据数据库的查询结果绑定table数据每次只查询当前显示的行,适合数据量大的程序;还有一种是客户端分页,是一次性查询出所有的内容,然后再分页,客户端分页的模式适合数据量小的程序。client模式的分页还没研究,这里就不演示了。

三、后台代码:分页需要加上total和row属性,另外需要获取前台传入的rows和page值,来查询需要的行数。

string sql = "";        DataSet ds = new DataSet();        public void ProcessRequest(HttpContext context)        {            string output = "";            string action = context.Request["action"].ToString();switch (action)            {                case "GetJson":                    DataTable dt = getData(context);                    string str = DataTableToJsonWithStringBuilder(dt);                    output = "{\"total\":" + getCout(context) + ",\"rows\":" + str + "}";                    break;default:                    break;            }            context.Response.ContentType = "text/plain";            context.Response.Write(output);        }public string GetJson(HttpContext context)        {            DataTable dt = getData(context);            return DataTableToJsonWithStringBuilder(dt);        }        public DataTable getData(HttpContext context)        {            int rows = Convert.ToInt32(context.Request["rows"]);//显示行数            int page = Convert.ToInt32(context.Request["page"]);//页码            int starNum = rows * page - rows + 1;//开始行数            int endNum = rows * page;//结束行数            string sql = "select * from (select row_number() over(order by @@servername) as rownum,* from yhgl)a where rownum between " + starNum + " and " + endNum + "";            DataSet ds = pub.GetDataset(sql, "xinxi");            return ds.Tables["xinxi"];        }        public int getCout(HttpContext context)        {            string sql = "select count(*) count  from yhgl";            DataSet ds = pub.GetDataset(sql, "xinxi");            return Convert.ToInt32(ds.Tables["xinxi"].Rows[0]["count"]);        }        public string DataTableToJsonWithStringBuilder(DataTable table)        {            var jsonString = new StringBuilder();            if (table.Rows.Count > 0)            {                jsonString.Append("[");                for (int i = 0; i < table.Rows.Count; i++)                {                    jsonString.Append("{");                    for (int j = 0; j < table.Columns.Count; j++)                    {                        if (j < table.Columns.Count - 1)                        {                            jsonString.Append("\"" + table.Columns[j].ColumnName.ToString()                         + "\":" + "\""                         + table.Rows[i][j].ToString() + "\",");                        }                        else if (j == table.Columns.Count - 1)                        {                            jsonString.Append("\"" + table.Columns[j].ColumnName.ToString()                         + "\":" + "\""                         + table.Rows[i][j].ToString() + "\"");                        }                    }                    if (i == table.Rows.Count - 1)                    {                        jsonString.Append("}");                    }                    else                    {                        jsonString.Append("},");                    }                }                jsonString.Append("]");            }            return jsonString.ToString();        }

 

转载地址:http://qhfua.baihongyu.com/

你可能感兴趣的文章
vb sendmessage 详解1
查看>>
jquery用法大全
查看>>
Groonga 3.0.8 发布,全文搜索引擎
查看>>
PC-BSD 9.2 发布,基于 FreeBSD 9.2
查看>>
网卡驱动程序之框架(一)
查看>>
css斜线
查看>>
Windows phone 8 学习笔记(3) 通信
查看>>
重新想象 Windows 8 Store Apps (18) - 绘图: Shape, Path, Stroke, Brush
查看>>
Revit API找到风管穿过的墙(当前文档和链接文档)
查看>>
Scroll Depth – 衡量页面滚动的 Google 分析插件
查看>>
Windows 8.1 应用再出发 - 视图状态的更新
查看>>
自己制作交叉编译工具链
查看>>
Qt Style Sheet实践(四):行文本编辑框QLineEdit及自动补全
查看>>
[物理学与PDEs]第3章习题1 只有一个非零分量的磁场
查看>>
深入浅出NodeJS——数据通信,NET模块运行机制
查看>>
onInterceptTouchEvent和onTouchEvent调用时序
查看>>
android防止内存溢出浅析
查看>>
4.3.3版本之引擎bug
查看>>
SQL Server表分区详解
查看>>
使用FMDB最新v2.3版本教程
查看>>