[原创][VB]迷迷糊糊做成的DataList的分页--关键字查询,自动编号,URL链接

关键
1.要用PUBLIC 保存函数间的值
2.用VIEWSTATE保存变量,类似SESSION

  1 None.gif < %@ Page Language = " VB "  AutoEventWireup = " True " % >
  2 None.gif < %@ Import Namespace = " System.Data "  % >
  3 None.gif < %@ Import Namespace = " system.Data.SqlClient " % >
  4 None.gif < !DOCTYPE html  PUBLIC   " -//W3C//DTD XHTML 1.0 Transitional//EN "   " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " >
  5 None.gif < html xmlns = " http://www.w3.org/1999/xhtml "   >
  6 None.gif < head id = " Head1 "  runat = " server " >
  7 None.gif     < title > DataListPager </ title >
  8 None.gif     < script language = " vb "  runat = " server " >
  9 None.gif         Public  str  As   String
 10 None.gif         Public  key  As   String
 11 None.gif         Public  currentPage  As  Int32  ' 定义变量用来保存当前页索引
 12 None.gif          Public  i  As   Integer
 13 None.gif         Public  PageSize  As   Integer
 14 None.gif         Public  objPage  As   New  PagedDataSource  ' 创建PAGE对象
 15 None.gif          Public  currentPageIndex  As   Integer
 16 None.gif         Public  emplyID  As   String
 17 None.gif        
 18 None.gif       
 19 None.gif        
 20 None.gif         Sub  Page_load(ByVal sender  As   Object , ByVal e  As  EventArgs)
 21 None.gif            emplyID  =  Request.QueryString( " emplyID " )
 22 None.gif            
 23 None.gif            
 24 None.gif             If   Not  Me.IsPostBack  Then
 25 None.gif                 ' '第一次执行,未获得TEXTBOX的值时
 26 None.gif             
 27 None.gif                
 28 None.gif            
 29 None.gif                 If  emplyID  <>   ""   Then
 30 None.gif                    str  =   " SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees] where [EmployeeID]<=' "   +  emplyID  +   " ' "
 31 None.gif                    ViewState( " Key " =  emplyID
 32 None.gif                 Else
 33 None.gif                    str  =   " SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees] "
 34 None.gif                    ViewState( " Key " =   100
 35 None.gif                 End   If
 36 None.gif                            
 37 None.gif              
 38 None.gif                 ' 判断是否具有页面跳转的请求 Begin
 39 None.gif                  Dim  topage  As   Integer
 40 None.gif                topage  =  Request.QueryString( " topage " )
 41 None.gif                
 42 None.gif                 If  topage  <>   0   Then
 43 None.gif                    currentPageIndex  =  topage  -   1
 44 None.gif                    
 45 None.gif                 Else
 46 None.gif                    currentPageIndex  =   0   ' 默认为0
 47 None.gif                  End   If
 48 None.gif             
 49 None.gif                 ' 判断是否具有页面跳转的请求 Begin
 50 None.gif                 
 51 None.gif                Response.Write( " <font color='red'>如果显示这行则表明为第一次显示及没有获得BTN事件!</font> " )
 52 None.gif                
 53 None.gif                DataListDataBind(str, ViewState( " Key " ), currentPageIndex)
 54 None.gif                
 55 None.gif             Else
 56 None.gif              
 57 None.gif            
 58 None.gif              
 59 None.gif            
 60 None.gif                 If  emplyID  <>   ""   Then
 61 None.gif                    str  =   " SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees] where [EmployeeID]<=' "   +  emplyID  +   " ' "
 62 None.gif                 Else
 63 None.gif                    str  =   " SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees] "
 64 None.gif                 End   If
 65 None.gif                              
 66 None.gif                 '    str = "SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees]"
 67 None.gif                  '     ViewState("Key") = 100
 68 None.gif                 ViewState( " Key " =  emplyID
 69 None.gif          
 70 None.gif                currentPageIndex  =   0  
 71 None.gif      
 72 None.gif                DataListDataBind(str, ViewState( " Key " ), currentPageIndex)
 73 None.gif                
 74 None.gif             End   If
 75 None.gif            
 76 None.gif         End Sub
 77 None.gif        
 78 None.gif 
 79 None.gif        
 80 None.gif        
 81 None.gif         Sub  DataListDataBind(ByVal str  As   String , ByVal key  As   String , ByVal currentPageIndex  As   Integer )
 82 None.gif            
 83 None.gif         
 84 None.gif           
 85 None.gif            
 86 None.gif             Dim  conn  As  SqlConnection
 87 None.gif             Dim  ds  As  DataSet
 88 None.gif             Dim  adapter  As  SqlDataAdapter
 89 None.gif            PageSize  =   2
 90 None.gif            
 91 None.gif            conn  =   New  SqlConnection(ConfigurationManager.ConnectionStrings( " Northwind " ).ConnectionString)
 92 None.gif             ' 'str = "SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees] where [EmployeeID]='1' "
 93 None.gif             Me.strReBind.Text  =   " <b> "   +  str  +   " </b><br> "
 94 None.gif            
 95 None.gif            adapter  =   New  SqlDataAdapter(str, conn)
 96 None.gif            
 97 None.gif            ds  =   New  DataSet()
 98 None.gif             ' ' adapter.Fill(ds, startIndex, PageSize, "employees")
 99 None.gif             adapter.Fill(ds,  " employees " )
100 None.gif            
101 None.gif           
102 None.gif             ' 'Dim i As New PagedDataSource
103 None.gif             objPage.DataSource  =  ds.Tables( " employees " ).DefaultView  ' 设置数据源
104 None.gif             objPage.AllowPaging  =   True
105 None.gif            objPage.PageSize  =  PageSize
106 None.gif            
107 None.gif            
108 None.gif
109 None.gif            
110 None.gif            objPage.CurrentPageIndex  =  currentPageIndex   ' '设置当前页的索引 默认为 0 
111 None.gif              ' 显示状态信息
112 None.gif             Label1.Text  =   " 共有[ "   +  objPage.PageCount.ToString()  +   " ]页,当前页为: "   +  (currentPageIndex  +   1 ).ToString()  +   " 页; "
113 None.gif            
114 None.gif 
115 None.gif            
116 None.gif             If  objPage.IsFirstPage  =   False   Then
117 None.gif                linkPre.NavigateUrl  =  Request.CurrentExecutionFilePath  +   " ?emplyID= "   +  key  +   " &toPage= "   +  Convert.ToString(currentPageIndex  +   1   -   1 )
118 None.gif                linkFirst.NavigateUrl  =  Request.CurrentExecutionFilePath  +   " ?emplyID= "   +  key  +   " &toPage=1 "
119 None.gif              
120 None.gif             End   If
121 None.gif            
122 None.gif             If  objPage.IsLastPage  =   False   Then
123 None.gif                Me.linkNext.NavigateUrl  =  Request.CurrentExecutionFilePath  +   " ?emplyID= "   +  key  +   " &toPage= "   +  (currentPageIndex  +   1   +   1 ).ToString
124 None.gif                Me.linkLast.NavigateUrl  =  Request.CurrentExecutionFilePath  +   " ?emplyID= "   +  key  +   " &toPage= "   +  objPage.PageCount.ToString
125 None.gif                
126 None.gif             End   If
127 None.gif           
128 None.gif            
129 None.gif            Me.myDataList.DataSource  =  objPage
130 None.gif            Me.myDataList.DataBind()
131 None.gif         
132 None.gif             
133 None.gif 
134 None.gif         End Sub
135 None.gif            
136 None.gif         '  Sub R1_ItemCommand(ByVal Sender As Object, ByVal e As DataListCommandEventArgs)
137 None.gif          ' Dim i As Int16 = Convert.ToInt16(e.Item.ItemIndex)
138 None.gif
139 None.gif         ' End Sub
140 None.gif         
141 None.gif         Sub  btnSearch(ByVal sender  As   Object , ByVal e  As  EventArgs)
142 None.gif             Dim  str  As   String
143 None.gif             ' Dim key As String
144 None.gif             
145 None.gif            ViewState( " Key " =  keywords.Text
146 None.gif            
147 None.gif             ' '  Response.Write(key.ToString + "<br>")
148 None.gif             
149 None.gif            
150 None.gif             If  ViewState( " Key " <>   ""   Then
151 None.gif                str  =   " SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees] where [EmployeeID]<=' "   +  ViewState( " Key " +   " ' "
152 None.gif            
153 None.gif             Else
154 None.gif                str  =   " SELECT [EmployeeID], [LastName], [FirstName] FROM [Employees] "
155 None.gif             End   If  
156 None.gif            Me.Labelstr.Text  =   " BTN查询后的事件 "   +  str
157 None.gif            currentPageIndex  =   0
158 None.gif            DataListDataBind(str, ViewState( " Key " ), currentPageIndex)
159 None.gif            
160 None.gif            
161 None.gif         End Sub
162 None.gif        
163 None.gif         Sub  DataList_PageIndex(ByVal sender  As   Object , ByVal e  As  DataListItemEventArgs)
164 None.gif             '   Dim l As Label = CType(e.Item.FindControl("PageIndex"), Label)
165 None.gif              Dim  l  As  Label
166 None.gif            l  =  e.Item.FindControl( " PageIndex " )
167 None.gif            
168 None.gif             If   Not  (l  Is   Nothing Then
169 None.gif               
170 None.gif                l.Text  =  (currentPageIndex  +   1 *  PageSize  -  PageSize  +  e.Item.ItemIndex  +   1
171 None.gif                
172 None.gif             End   If
173 None.gif        
174 None.gif         End Sub
175 None.gif        
176 None.gif         ' num 是 当前页码值,(自己定义)
177 None.gif          ' *32 是要乘以分页的行数,(如:每页32行)
178 None.gif          ' ItemIndex 是行索引
179 None.gif          ' + 1 是因为索引值从0开始的
180 None.gif          ' # (num-1)*30+Container.ItemIndex + 1
181 None.gif          ' (currentPage-1)*2++Container.ItemIndex + 1
182 None.gif </ script >
183 None.gif </ head >
184 None.gif < body >
185 None.gif     < form id = " form1 "  runat = " server " >
186 None.gif     < div >
187 None.gif    关键字: < asp:TextBox ID = " keywords "  runat = " server " ></ asp:TextBox >
188 None.gif         < asp:Button ID = " btn "  OnClick = " btnSearch "  runat = " server "  Text = " Search "   />
189 None.gif         < br  />
190 None.gif         < asp:Label ID = " strReBind "  runat = " server "  Text = "" ></ asp:Label >
191 None.gif         < br >
192 None.gif         < asp:Label ID = " Label1 "  runat = " server "  Text = "" ></ asp:Label >
193 None.gif         < br  />
194 None.gif         < asp:Label ID = " Labelstr "  runat = " server "  Text = "" ></ asp:Label >
195 None.gif         < br />
196 None.gif            < asp:HyperLink ID = " HyperLink1 "  NavigateUrl = " DataListPager.aspx?emplyID=1 "  runat = " server " > [ID1] </ asp:HyperLink >
197 None.gif          |  < asp:HyperLink ID = " HyperLink2 "  NavigateUrl = " DataListPager.aspx?emplyID=2 "  runat = " server " > [ID2] </ asp:HyperLink >
198 None.gif          |  < asp:HyperLink ID = " HyperLink3 "  NavigateUrl = " DataListPager.aspx?emplyID=3 "  runat = " server " > [ID3] </ asp:HyperLink >
199 None.gif        
200 None.gif         < br />
201 None.gif       
202 None.gif        
203 None.gif          < asp:HyperLink  ID = " linkFirst "  runat = " server " > 首页 </ asp:HyperLink >  
204 None.gif        | < asp:HyperLink ID = " linkPre "  runat = " server " > 上一页 </ asp:HyperLink >  
205 None.gif        | < asp:HyperLink ID = " linkNext "  runat = " server " > 下一页 </ asp:HyperLink >
206 None.gif        | < asp:HyperLink ID = " linkLast "  runat = " server " > 末页 </ asp:HyperLink >  
207 None.gif         < br  />
208 None.gif         < br  />
209 None.gif         < asp:DataList  OnItemCreated = " DataList_PageIndex "     ID = " myDataList "  runat = " server "  CellPadding = " 4 "  ForeColor = " #333333 "  ShowFooter = " False "  ShowHeader = " False " >
210 None.gif        
211 None.gif         < ItemTemplate >
212 None.gif        
213 None.gif         < li >
214 None.gif        < asp:Label   ID = " PageIndex "    Runat = " server " ></ asp:Label >--
215 None.gif       
216 None.gif         < %#(currentPageIndex  +   1   -   1 *   2   +   + Container.ItemIndex  +   1 % >
217 None.gif        
218 None.gif        |  < %# Eval ( " LastName " +   " -- "   +   Eval ( " FirstName " )% >
219 None.gif          </ li >
220 None.gif         </ ItemTemplate >
221 None.gif             < FooterStyle BackColor = " #507CD1 "  Font - Bold = " True "  ForeColor = " White "   />
222 None.gif             < SelectedItemStyle BackColor = " #D1DDF1 "  Font - Bold = " True "  ForeColor = " #333333 "   />
223 None.gif             < AlternatingItemStyle BackColor = " White "   />
224 None.gif             < ItemStyle BackColor = " #EFF3FB "   />
225 None.gif             < HeaderStyle BackColor = " #507CD1 "  Font - Bold = " True "  ForeColor = " White "   />
226 None.gif         </ asp:DataList >
227 None.gif        
228 None.gif         & nbsp;
229 None.gif     </ div >
230 None.gif     </ form >
231 None.gif </ body >
232 None.gif </ html >
233 None.gif

转载于:https://www.cnblogs.com/apiapia/archive/2007/02/25/656341.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值