关于GridView中自定义分页、单选、多选的简单应用

关于 VS2005 GridView 的自定义分页,单选、多选的简单应用。
前台代码;
  1 None.gif   简单示例,代码如下,
  2 None.gif  ExempGridView.aspx的代码:
  3    <% @ Page Language="C#" AutoEventWireup="true" CodeFile="ExempGridView.aspx.cs" Inherits="gridview_ExempGridView"  %>
  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  runat ="server" >
  7 None.gif      < title ></ title >
  8        < script  language ="javascript"  type ="text/javascript" >
  9     // 全部选中
 10     function QuanXuan_Click()
 11      {
 12         if (document.form1.checkboxname.length)
 13          {
 14             for (var i=0;i<document.form1.checkboxname.length;i++)
 15              {
 16                 document.form1.checkboxname[i].checked = true;
 17             }

 18         }

 19         else
 20          {
 21             document.form1.checkboxname.checked = true;
 22         }

 23     }

 24        
 25     // 取消选中
 26     function QuXiao_Click()
 27     {
 28         if (document.form1.checkboxname.length)
 29          {
 30             for (var i=0;i<document.form1.checkboxname.length;i++)
 31             {
 32                 document.form1.checkboxname[i].checked = false;
 33             }

 34         }

 35         else
 36         {
 37             document.form1.checkboxname.checked = false;
 38         }

 39     }

 40        
 41     // 判断没有选中的返回false
 42     function slcNo_click()
 43     {
 44         if (document.form1.checkboxname.length)
 45         {
 46             for (var i=0;i<document.form1.checkboxname.length;i++)
 47              {
 48                 if(document.form1.checkboxname[i].checked)
 49                  {
 50                     return true;
 51                 }

 52             }

 53         }

 54         else
 55         {
 56             if(document.form1.checkboxname.checked)
 57              {
 58                 return true;
 59             }

 60         }

 61         alert("请选择后再操作!");
 62         return false;
 63     }

 64     
 65     // 改变行的颜色
 66     if (!objbeforeItem)
 67     {
 68         var objbeforeItem=null;
 69         var objbeforeItembackgroundColor=null;
 70     }

 71     
 72     function ItemOver(obj)
 73     {
 74         objbeforeItembackgroundColor=obj.style.backgroundColor;
 75         obj.style.backgroundColor="#B9D1F3";                                        
 76         objbeforeItem=obj;
 77     }

 78         
 79     function ItemOut(obj)
 80     {            
 81         if(objbeforeItem)
 82         {
 83             objbeforeItem.style.backgroundColor=objbeforeItembackgroundColor;
 84         }
    
 85     }

 86     
</ script >
 87 None.gif  </ head >
 88 None.gif  < body >
 89 None.gif      < form  id ="form1"  runat ="server" >
 90 None.gif          < div >
 91 None.gif              < table  cellpadding ="0"  cellspacing ="0"  border ="0"  width ="60%"  style ="font-size: 11px" >
 92 None.gif                  < tr >
 93 None.gif                      < td  align ="center" >
 94 None.gif                          < asp:GridView  ID ="GridView1"  runat ="server"  Width ="100%"  CellPadding ="4"  ForeColor ="#333333"
 95 None.gif                             AutoGenerateColumns ="False"  AllowPaging ="True"  PageSize ="12"  BorderColor ="Silver"
 96 None.gif                             BorderStyle ="Solid"  BorderWidth ="1px"  OnRowDataBound ="GridView1_RowDataBound" >
 97 None.gif                              < Columns >
 98 None.gif                                  < asp:BoundField  HeaderText ="编号"  DataField ="id"  Visible ="false"   />
 99 None.gif                                  < asp:TemplateField  HeaderText ="多选" >
100 None.gif                                      < ItemTemplate >
101 None.gif                                          < input  type ="checkbox"  id ="checkboxname"  name ="checkboxname"  value ='<%#  DataBinder.Eval(Container.DataItem, "id")% > ' />
102 None.gif                                      </ ItemTemplate >
103 None.gif                                  </ asp:TemplateField >
104 None.gif                                  < asp:TemplateField  HeaderText ="单选" >
105 None.gif                                      < ItemTemplate >
106 None.gif                                          < input  type ="radio"  id ="RadioName"  name ="RadioName"  value ='<%#  DataBinder.Eval(Container.DataItem, "id")% > '/>
107 None.gif                                      </ ItemTemplate >
108 None.gif                                  </ asp:TemplateField >
109 None.gif                                  < asp:BoundField  HeaderText ="姓名"  DataField ="name"   />
110 None.gif                                  < asp:BoundField  HeaderText ="身份证号"  DataField ="card"   />
111 None.gif                                  < asp:BoundField  HeaderText ="建立时间"  DataField ="createdate"   />
112 None.gif                              </ Columns >
113 None.gif                              < PagerSettings  Visible ="False"   />
114 None.gif                          </ asp:GridView >
115 None.gif                      </ td >
116 None.gif                  </ tr >
117 None.gif                  < tr >
118 None.gif                      < td  align ="center"  style ="height: 25px" >
119 None.gif                          < asp:LinkButton  ID ="btnFirst"  CommandArgument ="first"  OnClick ="PagerButtonClick"
120 None.gif                             runat ="server" > 首 页 </ asp:LinkButton >
121 None.gif                          < asp:LinkButton  ID ="btnPrev"  CommandArgument ="prev"  OnClick ="PagerButtonClick"  runat ="server" > 上一页 </ asp:LinkButton >
122 None.gif                          < asp:LinkButton  ID ="btnNext"  CommandArgument ="next"  OnClick ="PagerButtonClick"  runat ="server" > 下一页 </ asp:LinkButton >
123 None.gif                          < asp:LinkButton  ID ="btnLast"  CommandArgument ="last"  OnClick ="PagerButtonClick"  runat ="server" > 尾 页 </ asp:LinkButton >
124 None.gif                          < asp:Label  ID ="LblCurrentIndex"  runat ="server" ></ asp:Label >
125 None.gif                          < asp:Label  ID ="LblPageCount"  runat ="server" ></ asp:Label >
126 None.gif                          < asp:Label  ID ="LblRecordCount"  runat ="server" ></ asp:Label >
127 None.gif                          < asp:Label  ID ="LblNoRecord"  runat ="server"  Text ="记录为零"  Visible ="False" ></ asp:Label ></ td >
128 None.gif                  </ tr >
129 None.gif                  < tr >
130 None.gif                      < td >
131 None.gif                          < input  type ="button"  value ="全部选中"  onclick ="QuanXuan_Click()"   />
132 None.gif                          < input  type ="button"  value ="取消选中"  onclick ="QuXiao_Click()"   />
133 None.gif                          < asp:Button  ID ="Button2"  runat ="server"  Text ="checkbox得到选择的行"  OnClick ="Button2_Click" ></ asp:Button >
134 None.gif                          < asp:Button  id ="Button1"  runat ="server"  Text ="radio得到选择的行"  OnClick ="Button1_Click" ></ asp:Button >
135 None.gif                      </ td >
136 None.gif                  </ tr >
137 None.gif              </ table >
138 None.gif          </ div >
139 None.gif      </ form >
140 None.gif  </ body >
141 None.gif  </ html >
  1 None.gif // ExempGridView.aspx.cs的代码:
  2 None.gif using  System;
  3 None.gif using  System.Data;
  4 None.gif using  System.Configuration;
  5 None.gif using  System.Collections;
  6 None.gif using  System.Web;
  7 None.gif using  System.Web.Security;
  8 None.gif using  System.Web.UI;
  9 None.gif using  System.Web.UI.WebControls;
 10 None.gif using  System.Web.UI.WebControls.WebParts;
 11 None.gif using  System.Web.UI.HtmlControls;
 12 None.gif using  System.Data.SqlClient;
 13 None.gif 
 14 None.gif public  partial  class  ExempGridView: System.Web.UI.Page
 15 {
 16    protected void Page_Load(object sender, EventArgs e)
 17    {
 18        GridViewBind();
 19    }

 20
 21    private void GridViewBind()
 22    {
 23        string connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;
 24        string SqlStr = "SELECT * FROM test01";
 25        DataSet ds = new DataSet();
 26
 27        try
 28        {
 29            SqlConnection conn = new SqlConnection(connStr);
 30            if (conn.State.ToString() == "Closed") conn.Open();
 31            SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);
 32            da.Fill(ds, "test01");
 33            if (conn.State.ToString() == "Open") conn.Close();
 34
 35            GridView1.DataSource = ds.Tables[0].DefaultView;
 36            GridView1.DataBind();
 37
 38            LblCurrentIndex.Text = "第 " + (GridView1.PageIndex + 1).ToString() + " 页";
 39            LblPageCount.Text = "共 " + GridView1 .PageCount.ToString()+ " 页";
 40            LblRecordCount.Text = "总共 "+ds.Tables[0].Rows.Count.ToString()+" 条";
 41            if (ds.Tables[0].Rows.Count == 0)
 42            {
 43                btnFirst.Visible = false;
 44                btnPrev.Visible = false;
 45                btnNext.Visible = false;
 46                btnLast.Visible = false;
 47
 48                LblCurrentIndex.Visible = false;
 49                LblPageCount.Visible = false;
 50                LblRecordCount.Visible = false;
 51
 52                LblNoRecord.Visible = true;
 53           }

 54            else if (GridView1.PageCount == 1)
 55            {
 56                btnFirst.Visible = false;
 57                btnPrev.Visible = false;
 58                btnNext.Visible = false;
 59                btnLast.Visible = false;
 60            }

 61        }

 62        catch(Exception ex)
 63        {
 64            Response.Write("数据库错误,错误原因:"+ex.Message);
 65            Response.End();
 66        }

 67    }

 68    protected void PagerButtonClick(object sender, EventArgs e)
 69    {
 70        string arg = ((LinkButton)sender).CommandArgument.ToString();
 71        switch (arg)
 72        {
 73            case "prev":
 74                if (GridView1.PageIndex > 0)
 75                {
 76                    GridView1.PageIndex -= 1;
 77                }

 78                break;
 79            case "next":
 80              if (GridView1.PageIndex < (GridView1.PageCount - 1))
 81                {
 82                    GridView1.PageIndex += 1;
 83                }

 84                break;
 85            case "last":
 86                GridView1.PageIndex = (GridView1.PageCount - 1);
 87                break;
 88            default:
 89               GridView1.PageIndex = 0;
 90                break;
 91       }

 92
 93        GridViewBind();
 94    }

 95
 96    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
 97    {
 98        e.Row.Attributes["onmouseover"= "ItemOver(this)";
 99        e.Row.Attributes["onmouseout"= "ItemOut(this)";
100    }

101
102    protected void Button2_Click(object sender, EventArgs e)
103    {
104        string str=""
105        string []ckb=null
106
107        str=Request.Form.Get("checkboxname"); 
108        ckb=str.Split(new char[]{','}); 
109
110        Response.Write("直接在页面中得到的值为:"+str+"<br>"); 
111
112        Response.Write("处理后存放在数组中,如下:<br>"); 
113        for(int i=0;i<ckb.Length;i++
114        
115            Response.Write("ckb["+i+"]的值为:"+ckb[i]+"<br>"); 
116        }
 
117    }

118    protected void Button1_Click(object sender, EventArgs e)
119    {
120        Response.Write(Request.Form.Get("RadioName"));
121    }

122}
 
123 None.gif
 1 None.gif -- 数据库中表的生成代码:
 2 None.gif   CREATE   TABLE   [ dbo ] . [ test01 ]  
 3 None.gif(
 4 None.gif      [ id ]   [ decimal ] ( 18 0 IDENTITY  ( 1 1 NOT   NULL  ,
 5 None.gif      [ name ]   [ varchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
 6 None.gif      [ card ]   [ varchar ]  ( 50 ) COLLATE Chinese_PRC_CI_AS  NULL  ,
 7 None.gif      [ createdate ]   [ datetime ]   NULL  
 8 None.gif )  ON   [ PRIMARY ]
 9 None.gif  GO
10 None.gif 
11 None.gif  ALTER   TABLE   [ dbo ] . [ test01 ]   ADD  
12 None.gif      CONSTRAINT   [ DF_test01_createdate ]   DEFAULT  ( getdate ())  FOR   [ createdate ] ,
13 None.gif      CONSTRAINT   [ PK_test01 ]   PRIMARY   KEY    CLUSTERED  
14 None.gif     (
15 None.gif          [ id ]
16 None.gif     )   ON   [ PRIMARY ]  
17 None.gif  GO
18 None.gif

转载于:https://www.cnblogs.com/vaiyanzi/articles/439866.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值