DotLucene搜索索引(下)
还有就是一个Paging属性,他的作用就是分页,输出分页的html这个属性很经典
1/// <summary>
2 /// 开始分页
3 /// </summary>
4 /// <returns></returns>
5 protected DataTable Paging
6 {
7 get
8 {
9 //知道了startAt,分页也很容易了,现在根据startAt得到当前是第几页,注意,现在这里的页数也是暂时从0开始的
10 int pageNumber = (this.startAt + this.maxResults - 1) / this.maxResults;
11 DataTable dt = new DataTable();
12 dt.Columns.Add("html");
13 DataRow dr = dt.NewRow();
14 //暂时得到当前页的html连接,注意这里当真正显示页数的时候要+1
15 dr["html"] = pagingNumberHtml(startAt,pageNumber+1,false);
16 dt.Rows.Add(dr);
17 //前面显示10页,如果有的话
18 int previousPagesCount = 10;
19 //循环把前面页的html连接插到前面去
20 for (int i = pageNumber - 1; i >= 0 && i >= pageNumber - previousPagesCount; i--)
21 {
22 DataRow r = dt.NewRow();
23 r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);
24 dt.Rows.InsertAt(r,0);;
25 }
26 //后面也显示10页,如果有的话
27 int nextPagesCount = 10;
28 for (int i = pageNumber + 1; i <= this.pageCount && i <= pageNumber + nextPagesCount; i++)
29 {
30 DataRow r = dt.NewRow();
31 r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);
32 dt.Rows.Add(r);
33 }
34 //添加下一页的超级连接
35 DataRow lastRow = dt.NewRow();
36 lastRow["html"] = "<a href='Search.aspx?q="+this.Query+"&start="+(pageNumber+1)*this.maxResults+"'>下一页</a>";
37 dt.Rows.Add(lastRow);
38 return dt;
39
40 }
1/// <summary>
2 /// 开始分页
3 /// </summary>
4 /// <returns></returns>
5 protected DataTable Paging
6 {
7 get
8 {
9 //知道了startAt,分页也很容易了,现在根据startAt得到当前是第几页,注意,现在这里的页数也是暂时从0开始的
10 int pageNumber = (this.startAt + this.maxResults - 1) / this.maxResults;
11 DataTable dt = new DataTable();
12 dt.Columns.Add("html");
13 DataRow dr = dt.NewRow();
14 //暂时得到当前页的html连接,注意这里当真正显示页数的时候要+1
15 dr["html"] = pagingNumberHtml(startAt,pageNumber+1,false);
16 dt.Rows.Add(dr);
17 //前面显示10页,如果有的话
18 int previousPagesCount = 10;
19 //循环把前面页的html连接插到前面去
20 for (int i = pageNumber - 1; i >= 0 && i >= pageNumber - previousPagesCount; i--)
21 {
22 DataRow r = dt.NewRow();
23 r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);
24 dt.Rows.InsertAt(r,0);;
25 }
26 //后面也显示10页,如果有的话
27 int nextPagesCount = 10;
28 for (int i = pageNumber + 1; i <= this.pageCount && i <= pageNumber + nextPagesCount; i++)
29 {
30 DataRow r = dt.NewRow();
31 r["html"] = pagingNumberHtml(i*this.maxResults,i+1,true);
32 dt.Rows.Add(r);
33 }
34 //添加下一页的超级连接
35 DataRow lastRow = dt.NewRow();
36 lastRow["html"] = "<a href='Search.aspx?q="+this.Query+"&start="+(pageNumber+1)*this.maxResults+"'>下一页</a>";
37 dt.Rows.Add(lastRow);
38 return dt;
39
40 }
本文来自博客园,作者:古道轻风,转载请注明原文链接:https://www.cnblogs.com/88223100/archive/2008/08/18/1270626.html