打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
分页及页码导航 用户控件

该控件成形如图:


主要功能如下:
用户设置每页行数 (或者不设置 则该控件默认每页10笔数据)
用户设置分页控件的数据源DataTable(或者输入查询sql)
该控件会先将传入的数据源保存到session(这样之后就不用重复查询)
然后根据用户的操作(第一页、上一页,下一页,最后页,Go页)
以及当前所在的页码
得到符合条件的返回数据 (即点击下一页或上一页后 需要正确显示的数据集)
同时 可以根据数据是否多于一页 来决定该控件是否需要显示
然后用户可以选用 这返回的DataTable数据集进行相关操作
(本控件 已加入部分js判断)
==============
示例源代码如下:
++++++++++++++++++
PageIndexCtl.ascx
+++++++++++++


<%@ Control Language="C#" AutoEventWireup="true" CodeFile="PageIndexCtl.ascx.cs" Inherits="Controls_PageIndexCtl" %>

<table>
    
<tr id="tr_PageIndex" runat="server">
        
<td>
            
<asp:LinkButton ID="lbtn_FirstPage" runat="server" OnClick="lbtn_FirstPage_Click" >第一页</asp:LinkButton>
            
<asp:LinkButton ID="lbtn_PrePage" runat="server" OnClick="lbtn_PrePage_Click" >上一页</asp:LinkButton>
            
<asp:LinkButton ID="lbtn_NextPage" runat="server" OnClick="lbtn_NextPage_Click" >下一页</asp:LinkButton>
            
<asp:LinkButton ID="lbtn_LastPage" runat="server" OnClick="lbtn_LastPage_Click" >最后页</asp:LinkButton>
        
</td>
    
</tr>
    
<tr align="center" id="tr_GoPage" runat="server">
        
<td>
        当前第
        
<asp:TextBox ID="txt_CurrPage" runat="server" Width="30px" Text="1"></asp:TextBox>
        
<asp:TextBox ID="txt_CurrPageReal" runat="server" Width="30px" Text="1" style="display:none;"></asp:TextBox>
        页/共
        
<asp:TextBox ID="txt_TotalPage" runat="server" Width="30px" ReadOnly="True" Text="1"></asp:TextBox>
        页
        
<asp:Button ID="btn_GoPage" runat="server" Text="GO" OnClick="btn_GoPage_Click"/></td>
    
</tr>
</table>

+++++++++++++++++++++
PageIndexCtl.ascx.cs
+++++++++++++++++++++

  1
using System;
  2
using System.Data;
  3
using System.Configuration;
  4
using System.Collections;
  5
using System.Web;
  6
using System.Web.Security;
  7
using System.Web.UI;
  8
using System.Web.UI.WebControls;
  9
using System.Web.UI.WebControls.WebParts;
 10
using System.Web.UI.HtmlControls;
 11

 12
using Gentle.Common;
 13
using Gentle.Framework;
 14
using Gentle.Provider;
 15

 16

 17

 18
/*
 19
 * 作者:Free
 20
 * 日期:2006/12/28
 21
 * 名称:系统所用的页面导航: 第一页 上一页 下一页 最后页 当前为第几页/共多少页
 22
 * 描述:
 23
 
*/

 24

 25
public partial class Controls_PageIndexCtl : System.Web.UI.UserControl
 26
{
 27

 28
    
#region 属性声明与公开
 29

 30
    
#region 本控件所需要参数
 31

 32
    
//私有声明
 33
    #region
 34

 35
    
private string selectSQL;
 36

 37
    
private bool isHavedData = true;
 38

 39
    
private int currPage = 1;
 40
    
private int totalPage = 1;
 41
    
private int countPerPage = 10;
 42

 43
    
private bool isAutoVisible = true;
 44

 45
    
private DataTable dt_result;
 46

 47
    
#endregion

 48

 49
    
//公开属性
 50
    #region
 51

 52
    
/// <summary>
 53
    
/// 查询出数据的SQL语句 注意要有Order By
 54
    
/// </summary>

 55
    [DataSysDescription("查询出数据的SQL语句 注意要有Order By")]
 56
    
public string SelectSQL
 57
    
{
 58
        
get return selectSQL; }
 59
        
set { selectSQL = value; }
 60
    }

 61

 62
    
/// <summary>
 63
    
/// 当前页码
 64
    
/// </summary>

 65
    [DataSysDescription("当前页码")]
 66
    [DefaultSettingValue(
"1")]
 67
    
public int CurrPage
 68
    
{
 69
        
get return currPage; }
 70
        
set { currPage = value;}
 71
    }

 72

 73
    
/// <summary>
 74
    
/// 数据总行数/每页行数 = 总页数
 75
    
/// </summary>

 76
    [DataSysDescription("数据总行数/每页行数 = 总页数")]
 77
    [DefaultSettingValue(
"1")]
 78
    
public int TotalPage
 79
    
{
 80
        
get return totalPage; }
 81
        
set { totalPage = value; }
 82
    }

 83

 84
    
/// <summary>
 85
    
/// 每页显示的数据行数
 86
    
/// </summary>

 87
    [DataSysDescription("每页显示的数据行数")]
 88
    [DefaultSettingValue(
"2")]
 89
    
public int CountPerPage
 90
    
{
 91
        
get 
 92
        
{
 93
            
string perCountName = this.UniqueID + "CountPerPage";
 94
            
if (ViewState[perCountName] != null)
 95
            
{
 96
                 
return Convert.ToInt32(ViewState[perCountName].ToString());
 97
            }

 98
            
else
 99
            
{
100
                
return 10;//默认值
101
            }

102
        }

103
        
set 
104
        
{
105
            
string perCountName = this.UniqueID + "CountPerPage";
106
            
if (ViewState[perCountName] != null)
107
            
{
108
                ViewState[perCountName] 
= value; 
109
            }

110
            
else
111
            
{
112
                ViewState.Add(perCountName, value);
113
            }

114
        }

115
    }

116

117
    [DataSysDescription(
"计算后 所得的DataTable")]
118
    
public DataTable dt_Result
119
    
{
120
        
get return dt_result; }
121
        
set { dt_result = value; }
122
    }

123

124

125
    [DataSysDescription(
"是否是已经有了所有数据的DataTable")]
126
    
public bool IsHavedData
127
    
{
128
        
get return isHavedData; }
129
        
set { isHavedData = value; }
130
    }

131

132
    [DataSysDescription(
"本次分页 需要用这个DataTable")]
133
    
public DataTable dt_UseThisResult
134
    
{
135
        
get 
136
        
{
137
            
string dtName = this.UniqueID + "Result";
138
            
if (Session[dtName] != null)
139
            
{
140
                
return (DataTable)Session[dtName];                
141
            }

142
            
else
143
            
{
144
                
return null;
145
            }

146
        }

147
        
set 
148
        
{
149
            
string dtName = this.UniqueID + "Result";
150
            
if (Session[dtName] != null)
151
            
{
152
                Session[dtName] 
= value;
153
            }

154
            
else
155
            
{
156
                Session.Add(dtName, value);
157
            }

158
        }

159
    }

160

161
    [DataSysDescription(
"本控件是否总是显示 还是数据行数不够一页时 不用显示")]
162
    
public bool IsAutoVisible
163
    
{
164
        
get return isAutoVisible; }
165
        
set { isAutoVisible = value; }
166
    }

167
    
#endregion

168

169
    
#endregion

170

171
    
#region LinkButton 的 文字显示
172
    
#endregion

173

174
    
#endregion

175

176
    
#region 事件声明与公开
177

178
    
public event EventHandler EventFirstPage;
179
    
public event EventHandler EventPrePage;
180
    
public event EventHandler EventNextPage;
181
    
public event EventHandler EventLastPage;
182
    
public event EventHandler EventGoPage;
183

184
    
#endregion

185

186
    
#region 相关功能实现的方法
187

188
    
#region Page_Load
189
    
protected void Page_Load(object sender, EventArgs e)
190
    
{
191
        
192
    }

193
    
#endregion

194

195
    
#region 第一页
196
    
protected void lbtn_FirstPage_Click(object sender, EventArgs e)
197
    
{
198
        
if (BindResult("firstPage"))
199
        
{
200
            
//触发用户所写事件
201
            if (EventFirstPage != null)
202
                EventFirstPage(
this, e);
203
        }

204

205
    }

206
    
#endregion

207

208
    
#region 上一页
209
    
protected void lbtn_PrePage_Click(object sender, EventArgs e)
210
    
{
211
        
if (BindResult("prePage"))
212
        
{
213
            
//触发用户所写事件
214
            if (EventFirstPage != null)
215
                EventFirstPage(
this, e);
216
        }

217
    }

218
    
#endregion

219

220
    
#region 后一页
221
    
protected void lbtn_NextPage_Click(object sender, EventArgs e)
222
    
{
223
        
if (BindResult("nextPage"))
224
        
{
225
            
//触发用户所写事件
226
            if (EventFirstPage != null)
227
                EventFirstPage(
this, e);
228
        }

229
    }

230
    
#endregion

231

232
    
#region 最后页
233
    
protected void lbtn_LastPage_Click(object sender, EventArgs e)
234
    
{
235
        
if (BindResult("lastPage"))
236
        
{
237
            
//触发用户所写事件
238
            if (EventFirstPage != null)
239
                EventFirstPage(
this, e);
240
        }

241

242
    }

243
    
#endregion

244

245
    
#region GO到第几页
246
    
protected void btn_GoPage_Click(object sender, EventArgs e)
247
    
{
248
        
if (BindResult("goPage"))
249
        
{
250
            
//触发用户所写事件
251
            if (EventFirstPage != null)
252
                EventFirstPage(
this, e);
253
        }

254
    }

255
    
#endregion

256

257
    
#region 公共调用方法
258
    
private bool BindResult(string strType)
259
    
{
260
        
try
261
        
{
262
            regJS();
263

264
            
//int currPageShow = Convert.ToInt32(this.txt_CurrPage.Text.Trim());//页面显示出的当前页 可能会被用户改动过
265
            int currTotalShow = Convert.ToInt32(this.txt_TotalPage.Text.Trim());
266

267
            
int realCurrPage = Convert.ToInt32(this.txt_CurrPageReal.Text.Trim());//目前数据的真实当前页
268

269
            
#region 判断 当前页 总页 将到页 看 是否有必要继续
270
            
if (strType.Equals("firstPage"))
271
            
{
272
                
if (realCurrPage <= 1)
273
                
{
274
                    
return false;
275
                }

276
            }

277

278
            
if (strType.Equals("prePage"))
279
            
{
280
                
if (realCurrPage <= 1)
281
                
{
282
                    
return false;
283
                }

284
            }

285

286
            
if (strType.Equals("nextPage"))
287
            
{
288
                
if (realCurrPage >= currTotalShow)
289
                
{
290
                    
return false;
291
                }

292
            }

293

294
            
if (strType.Equals("lastPage"))
295
            
{
296
                
if (realCurrPage >= currTotalShow)
297
                
{
298
                    
return false;
299
                }

300
            }

301

302
            
if (strType.Equals("goPage"))
303
            
{
304
                
//int currPageShow = Convert.ToInt32(this.txt_CurrPage.Text.Trim());//页面显示出的当前页 可能会被用户改动过
305

306
                
//if (currPageShow < 1)
307
                
//{
308
                
//    //return false;
309
                
//    this.txt_CurrPage.Text = "1";
310
                
//}
311

312
                
//if (currPageShow > currTotalShow)
313
                
//{
314
                
//    //return false;
315
                
//    this.txt_CurrPage.Text = 
316
                
//}
317
            }

318
            
#endregion

319

320
            DataTable dt 
= new DataTable();
321

322
            
#region 判断 数据来源
323
            
if (isHavedData) //如果已经有了数据源 则 直接用
324
            {
325
                dt 
= this.dt_UseThisResult;
326
            }

327
            
else
328
            
{
329
                
//根据用户所提供的SQL语句 得到 相对应的DataTable
330
                string strCommand = this.SelectSQL;
331
                SqlResult sr 
= Broker.Execute(strCommand);
332
                dt 
= ObjectView.GetDataView(sr).Table;
333

334
                
this.dt_UseThisResult = dt;//加入Session
335
               
336
            }

337
            
#endregion

338360docimg_501_
339360docimg_502_            int currRowCount = dt.Rows.Count;
340360docimg_503_
341360docimg_504_            if (currRowCount <= 0//如果查无数据 直接返回
342360docimg_505_                return false;
343360docimg_506_            this.countPerPage = this.CountPerPage;//取得目前 每页行数
344360docimg_507_
345360docimg_508_            int totalPageShow = (currRowCount % this.countPerPage > 0? ((currRowCount / this.countPerPage) + 1) : (currRowCount / this.countPerPage);
346360docimg_509_            //总页数
347360docimg_510_            this.txt_TotalPage.Text = totalPageShow.ToString();
348360docimg_511_            this.totalPage = totalPageShow;
349360docimg_512_
350360docimg_513_            int start = 0;
351360docimg_514_            int end = 0;
352360docimg_515_
353360docimg_516_360docimg_517_            #region 根据情况 进行 起止点 计算
354360docimg_518_
355360docimg_519_            if (strType.Equals("firstPage"))
356360docimg_520_360docimg_521_            {
357360docimg_523_                //
358360docimg_524_                start = 1;
359360docimg_525_                end = currRowCount > this.countPerPage ? this.countPerPage : currRowCount;
360360docimg_526_                //当前页数 显示
361360docimg_527_                this.txt_CurrPage.Text = "1";
362360docimg_528_                this.txt_CurrPageReal.Text = "1";
363360docimg_529_
364360docimg_530_            }

365360docimg_531_
366360docimg_532_            if (strType.Equals("prePage"))
367360docimg_533_360docimg_534_            {
368360docimg_536_                end = (realCurrPage - 1* this.countPerPage;
369360docimg_537_                start = end - this.countPerPage + 1;
370360docimg_538_                //当前页数 显示
371360docimg_539_                this.txt_CurrPage.Text = Convert.ToString(realCurrPage - 1);
372360docimg_540_                this.txt_CurrPageReal.Text = Convert.ToString(realCurrPage - 1);
373360docimg_541_            }

374360docimg_542_
375360docimg_543_            if (strType.Equals("nextPage"))
376360docimg_544_360docimg_545_            {
377360docimg_547_                start = realCurrPage * this.countPerPage + 1;
378360docimg_548_                end = start + this.countPerPage - 1;
379360docimg_549_                //当前页数 显示
380360docimg_550_                this.txt_CurrPage.Text = Convert.ToString((realCurrPage + 1));
381360docimg_551_                this.txt_CurrPageReal.Text = Convert.ToString((realCurrPage + 1));
382360docimg_552_            }

383360docimg_553_
384360docimg_554_            if (strType.Equals("lastPage"))
385360docimg_555_360docimg_556_            {
386360docimg_558_                start = (totalPageShow - 1* this.countPerPage + 1;
387360docimg_559_                end = currRowCount;
388360docimg_560_                //当前页数 显示
389360docimg_561_                this.txt_CurrPage.Text = totalPageShow.ToString();
390360docimg_562_                this.txt_CurrPageReal.Text = totalPageShow.ToString();
391360docimg_563_            }

392360docimg_564_
393360docimg_565_            if (strType.Equals("goPage"))
394360docimg_566_360docimg_567_            {
395360docimg_569_                int currPageShow = Convert.ToInt32(this.txt_CurrPage.Text.Trim());//页面显示出的当前页 可能会被用户改动过
396360docimg_570_                if (currPageShow < 1)
397360docimg_571_                    currPageShow = 1;
398360docimg_572_                if (currPageShow > totalPageShow)
399360docimg_573_                    currPageShow = totalPageShow;                
400360docimg_574_                
401360docimg_575_                start = (currPageShow - 1* this.countPerPage + 1;
402360docimg_576_                end = (start + this.countPerPage - 1> currRowCount ? currRowCount : (start + this.countPerPage - 1);
403360docimg_577_                //当前页数 显示
404360docimg_578_                this.txt_CurrPage.Text = currPageShow.ToString();
405360docimg_579_                this.txt_CurrPageReal.Text = currPageShow.ToString();
406360docimg_580_            }

407360docimg_581_
408360docimg_582_            this.currPage = Convert.ToInt32(this.txt_CurrPageReal.Text.Trim());
409360docimg_583_
410360docimg_584_            #endregion

411360docimg_585_
412360docimg_586_360docimg_587_            #region 进行指定数据的转移
413360docimg_588_            DataTable tmpdt = dt.Copy();
414360docimg_589_            tmpdt.Clear();
415360docimg_590_
416360docimg_591_            int tmpCount = 0;
417360docimg_592_            tmpCount = end > currRowCount ? currRowCount : end;
418360docimg_593_            for (int i = 0; i < tmpCount; i++)
419360docimg_594_360docimg_595_            {
420360docimg_597_                if ((i >= (start - 1)) && (i < end))
421360docimg_598_360docimg_599_                {
422360docimg_601_                    DataRow tmpdr = tmpdt.NewRow();
423360docimg_602_                    for (int j = 0; j < dt.Columns.Count; j++)
424360docimg_603_360docimg_604_                    {
425360docimg_606_                        tmpdr[j] = dt.Rows[i][j];
426360docimg_607_                    }

427360docimg_608_                    tmpdt.Rows.Add(tmpdr);
428360docimg_609_                }

429360docimg_610_            }

430360docimg_611_
431360docimg_612_            //用户 可以用dt_Result来将数据绑定自己需要的控件上
432360docimg_613_            this.dt_result = tmpdt;
433360docimg_614_
434360docimg_615_            #endregion

435360docimg_616_
436360docimg_617_            return true;
437360docimg_618_
438360docimg_619_        }

439360docimg_620_        catch (Exception ex)
440360docimg_621_360docimg_622_        {
441360docimg_624_            ex.ToString();
442360docimg_625_            return false;
443360docimg_626_        }

444360docimg_627_    }

445360docimg_628_    #endregion

446360docimg_629_
447360docimg_630_360docimg_631_    #region 根据用户提供的数据源 自己计算总页数 和得到第一页资料
448360docimg_632_360docimg_633_    /// <summary>
449360docimg_634_    /// 根据用户提供的数据源 自己计算总页数 和得到第一页资料
450360docimg_635_    /// </summary>
451360docimg_636_    /// <param name="dtSources">用户提供的数据源</param>
452360docimg_637_    /// <returns>得到第一页资料</returns>

453360docimg_638_    public DataTable selfMeasure(DataTable dtSources)
454360docimg_639_360docimg_640_    {
455360docimg_642_        DataTable dt = dtSources;
456360docimg_643_
457360docimg_644_        int currRowCount = dt.Rows.Count;
458360docimg_645_
459360docimg_646_        //将指定的DataTable作为数据源选项打开
460360docimg_647_        this.dt_UseThisResult = dt;
461360docimg_648_
462360docimg_649_        if (currRowCount <= 0)//如果查无数据 直接返回
463360docimg_650_            return null;
464360docimg_651_
465360docimg_652_        this.countPerPage = this.CountPerPage;//取得目前 每页行数
466360docimg_653_
467360docimg_654_        int totalPageShow = (currRowCount % this.countPerPage > 0? ((currRowCount / this.countPerPage) + 1) : (currRowCount / this.countPerPage);
468360docimg_655_        //总页数
469360docimg_656_        this.txt_TotalPage.Text = totalPageShow.ToString();
470360docimg_657_        this.totalPage = totalPageShow;
471360docimg_658_
472360docimg_659_        int start = 0;
473360docimg_660_        int end = 0;
474360docimg_661_
475360docimg_662_        if (currPage > totalPageShow)
476360docimg_663_360docimg_664_        {
477360docimg_666_            this.currPage = totalPageShow;
478360docimg_667_            this.txt_CurrPage.Text = totalPageShow.ToString();
479360docimg_668_            //最后页
480360docimg_669_            start = (totalPageShow - 1* this.countPerPage + 1;
481360docimg_670_            end = currRowCount;
482360docimg_671_        }

483360docimg_672_        else
484360docimg_673_360docimg_674_        {
485360docimg_676_            this.txt_CurrPage.Text = this.currPage.ToString();
486360docimg_677_            //指定页 默认的为第一页
487360docimg_678_            start = (Convert.ToInt32(this.txt_CurrPage.Text.Trim()) - 1* this.countPerPage + 1;
488360docimg_679_            end = (start + this.countPerPage - 1> currRowCount ? currRowCount : (start + this.countPerPage - 1);
489360docimg_680_        }

490360docimg_681_
491360docimg_682_360docimg_683_        #region 进行指定数据的转移
492360docimg_684_        DataTable tmpdt = dt.Copy();
493360docimg_685_        tmpdt.Clear();
494360docimg_686_
495360docimg_687_        int tmpCount = 0;
496360docimg_688_        tmpCount = end > currRowCount ? currRowCount : end;
497360docimg_689_        for (int i = 0; i < tmpCount; i++)
498360docimg_690_360docimg_691_        {
499360docimg_693_            if ((i >= (start - 1)) && (i < end))
500360docimg_694_360docimg_695_            {
501360docimg_697_                DataRow tmpdr = tmpdt.NewRow();
502360docimg_698_                for (int j = 0; j < dt.Columns.Count; j++)
503360docimg_699_360docimg_700_                {
504360docimg_702_                    tmpdr[j] = dt.Rows[i][j];
505360docimg_703_                }

506360docimg_704_                tmpdt.Rows.Add(tmpdr);
507360docimg_705_            }

508360docimg_706_        }

509360docimg_707_
510360docimg_708_        //用户 可以用dt_Result来将数据绑定自己需要的控件上
511360docimg_709_        this.dt_result = tmpdt;
512360docimg_710_
513360docimg_711_        //根据所查询出的数据行数 决定是否需要显示本控件      
514360docimg_712_        if (isAutoVisible)
515360docimg_713_360docimg_714_        {
516360docimg_716_            if (currRowCount <= this.countPerPage)
517360docimg_717_360docimg_718_            {
518360docimg_720_                this.Visible = false;
519360docimg_721_
520360docimg_722_            }

521360docimg_723_            else
522360docimg_724_360docimg_725_            {
523360docimg_727_                this.Visible = true;
524360docimg_728_                regJS();
525360docimg_729_            }

526360docimg_730_        
527360docimg_731_        }

528360docimg_732_
529360docimg_733_        #endregion

530360docimg_734_
531360docimg_735_        return tmpdt;
532360docimg_736_
533360docimg_737_    }

534360docimg_738_    #endregion

535360docimg_739_
536360docimg_740_360docimg_741_    #region 注册JS
537360docimg_742_    private void regJS()
538360docimg_743_360docimg_744_    {
539360docimg_746_360docimg_747_        #region 注册相关js事件
540360docimg_748_        string strGuid = this.UniqueID;
541360docimg_749_        string fnNameFirstPre = strGuid + "FirstPre()";
542360docimg_750_        string fnNameNextLast = strGuid + "NextLast()";
543360docimg_751_        string fnNameGo = strGuid + "Go()";
544360docimg_752_
545360docimg_753_        string txtCurrPageRealName = strGuid + "_txt_CurrPageReal";//数据真实所在的页
546360docimg_754_        string txtCurrPageName = strGuid + "_txt_CurrPage";//页面显示的当前页
547360docimg_755_        string txtTotalPageName = strGuid + "_txt_TotalPage";
548360docimg_756_        string strJS = "<script language='javascript' type='text/javascript'>";
549360docimg_757_        strJS += "var jsCurrPageReal = document.all." + txtCurrPageRealName + ".value;";
550360docimg_758_        strJS += "var jsTotalPage = document.all." + txtTotalPageName + ".value;";
551360docimg_759_        strJS += "var jsCurrPage = document.all." + txtCurrPageName + ".value;";
552360docimg_760_        strJS += "function " + fnNameFirstPre + " ";
553360docimg_761_        strJS += "{ if(jsCurrPageReal == 1) { ";
554360docimg_762_        strJS += " document.all." + txtCurrPageName + ".value=1;";
555360docimg_763_        strJS += " alert('已经是第一页'); ";        
556360docimg_764_        strJS += " return false; } }";
557360docimg_765_
558360docimg_766_        strJS += "function " + fnNameNextLast + " ";
559360docimg_767_        strJS += "{ if(jsCurrPageReal == jsTotalPage) { ";
560360docimg_768_        strJS += " document.all." + txtCurrPageName + ".value=jsTotalPage;";
561360docimg_769_        strJS += " alert('已经是最后一页'); ";        
562360docimg_770_        strJS += " return false; } }";
563360docimg_771_
564360docimg_772_        //strJS += "function " + fnNameGo + " ";
565360docimg_773_        //strJS += "{ if(jsCurrPage > jsTotalPage || jsCurrPage < 1) { ";
566360docimg_774_        //strJS += " alert('请输入有效数值'); ";
567360docimg_775_        //strJS += " return false; } }";
568360docimg_776_
569360docimg_777_        strJS += "</script>";
570360docimg_778_
571360docimg_779_        string jsName = strGuid + "pageJS";
572360docimg_780_        if (!Page.IsStartupScriptRegistered(jsName))
573360docimg_781_360docimg_782_        {
574360docimg_784_            Page.RegisterStartupScript(jsName, strJS);
575360docimg_785_        }

576360docimg_786_
577360docimg_787_        this.lbtn_FirstPage.Attributes.Add("onclick""return " + fnNameFirstPre + ";");
578360docimg_788_        this.lbtn_PrePage.Attributes.Add("onclick""return " + fnNameFirstPre + ";");
579360docimg_789_        this.lbtn_NextPage.Attributes.Add("onclick""return " + fnNameNextLast + ";");
580360docimg_790_        this.lbtn_LastPage.Attributes.Add("onclick""return " + fnNameNextLast + ";");
581360docimg_791_        //this.btn_GoPage.Attributes.Add("onclick", "return " + fnNameGo + ";");
582360docimg_792_
583360docimg_793_        #endregion

584360docimg_794_    }

585360docimg_795_    #endregion

586360docimg_796_
587360docimg_797_    #endregion

588360docimg_798_
589360docimg_799_}

590360docimg_800_

++++++++++++++++++++++++
testPageIndexCtl.aspx.cs
++++++++++++++++++++++++
360docimg_801_protected void Button1_Click(object sender, EventArgs e)
360docimg_802_    
{
360docimg_803_        
string strComm = " SELECT * From Table1 order by id aesc ";
360docimg_804_        SqlResult sr 
= Broker.Execute(strComm);
360docimg_805_        DataTable dt 
= ObjectView.GetDataView(sr).Table;
360docimg_806_
360docimg_807_        
this.PageIndexCtl1.CountPerPage = 5;
360docimg_808_        GridView1.DataSource 
= PageIndexCtl1.selfMeasure(dt);
360docimg_809_        GridView1.DataBind();
360docimg_810_    }

360docimg_811_
360docimg_812_    
protected void Page_Init()
360docimg_813_    
{
360docimg_814_        
//订阅事件
360docimg_815_
        this.PageIndexCtl1.EventFirstPage += new System.EventHandler(this.EventFirstPage);
360docimg_816_        
this.PageIndexCtl1.EventPrePage += new System.EventHandler(this.EventPrePage);
360docimg_817_        
this.PageIndexCtl1.EventNextPage += new System.EventHandler(this.EventNextPage);
360docimg_818_        
this.PageIndexCtl1.EventLastPage += new System.EventHandler(this.EventLastPage);
360docimg_819_        
this.PageIndexCtl1.EventGoPage += new System.EventHandler(this.EventGoPage);
360docimg_820_    }

360docimg_821_
360docimg_822_    
private void EventFirstPage(object sender, EventArgs e)
360docimg_823_    
{
360docimg_824_        
360docimg_825_        
this.GridView1.DataSource = this.PageIndexCtl1.dt_Result;
360docimg_826_        
this.GridView1.DataBind();
360docimg_827_    }

360docimg_828_    
private void EventPrePage(object sender, EventArgs e)
360docimg_829_    
{
360docimg_830_        
this.GridView1.DataSource = this.PageIndexCtl1.dt_Result;
360docimg_831_        
this.GridView1.DataBind();
360docimg_832_    }

360docimg_833_    
private void EventNextPage(object sender, EventArgs e)
360docimg_834_    
{
360docimg_835_        
this.GridView1.DataSource = this.PageIndexCtl1.dt_Result;
360docimg_836_        
this.GridView1.DataBind();
360docimg_837_    }

360docimg_838_    
private void EventLastPage(object sender, EventArgs e)
360docimg_839_    
{
360docimg_840_        
this.GridView1.DataSource = this.PageIndexCtl1.dt_Result;
360docimg_841_        
this.GridView1.DataBind();
360docimg_842_    }

360docimg_843_    
private void EventGoPage(object sender, EventArgs e)
360docimg_844_    
{
360docimg_845_        
this.GridView1.DataSource = this.PageIndexCtl1.dt_Result;
360docimg_846_        
this.GridView1.DataBind();
360docimg_847_    }

360docimg_848_

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
gridview的事件大全
ASP.NET 高级编程基础第十二篇—服务器控件
点击textbox弹出模态窗口,选择后返回主页面并赋值textbox
DataGrid大全
GridView编辑删除操作
文件下载相关知识
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服