GridView批量删除,自定义分页,定位页码

来源:互联网 发布:呼叫死软件 编辑:程序博客网 时间:2024/05/03 06:32

<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default3.aspx.cs"Inherits="Default3"%>body,td,th{font-size:12px;}body{margin:0px;}

 

 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title>无标题页</title>

<style type="text/css">

body,td,th {font-size: 12px;}

body { margin:0px;}

    </style>

</head>

<body>

<form id="form1" runat="server">

  <div>

    <table width="100%" height="20" border="1" align="center" cellpadding="0" cellspacing="0"

                bordercolorlight="#FFFFFF" bordercolordark="#E6E6E6" bgcolor="#FFFFFF">

      <tr bgcolor="#FFFFFF">

        <td width="7%" align="center"><asp:CheckBox ID="cbAll" runat="server" AutoPostBack="True" OnCheckedChanged="cbAll_CheckedChanged" /></td>

        <td width="8%" align="center"><img src="images/bz.gif" width="6" height="11"></td>

        <td width="9%" align="center"><img src="images/mail.gif" width="14" height="11"></td>

        <td width="16%" align="center"> 姓名</td>

        <td width="39%" align="center"> 手机</td>

        <td width="21%" align="center"> 宅电</td>

      </tr>

    </table>

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"

                BorderColor="#CC9966" BorderWidth="1px" CellPadding="4" DataKeyNames="id" HorizontalAlign="Center"

                Width="100%" BorderStyle="None" ShowHeader="False" AllowPaging="True" OnDataBound="GridView1_DataBound">

      <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />

      <Columns>

      <asp:TemplateField>

        <ItemStyle HorizontalAlign="Center" />

        <ItemTemplate>

          <asp:CheckBox ID="cb" runat="server" />

        </ItemTemplate>

      </asp:TemplateField>

      <asp:ImageField HeaderImageUrl="image/y.gif">

        <ItemStyle Width="8%" />

      </asp:ImageField>

      <asp:TemplateField HeaderImageUrl="images/mail.gif">

        <ItemTemplate> <img src="<%# Eval("姓名").ToString()=="0"?"image/y.gif":"image/n.gif" %>" border="0"

                                align="middle" /> </ItemTemplate>

        <ItemStyle HorizontalAlign="Center" Width="9%" />

      </asp:TemplateField>

      <asp:BoundField DataField="手机" HeaderText="手机">

        <ItemStyle Width="16%" />

      </asp:BoundField>

      <asp:HyperLinkField DataNavigateUrlFields="id" DataNavigateUrlFormatString="viewmail.aspx?id={0}"

                        DataTextField="宅电" HeaderText="宅电">

        <ItemStyle Width="39%" />

      </asp:HyperLinkField>

      <asp:BoundField DataField="姓名" HeaderText="姓名">

        <ItemStyle Width="21%" />

      </asp:BoundField>

      </Columns>

      <PagerTemplate> </PagerTemplate>

      <SelectedRowStyle BackColor="#FFCC66" ForeColor="#663399" Font-Bold="True" />

      <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />

      <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="#FFFFCC" />

      <RowStyle BackColor="White" ForeColor="#330099" />

    </asp:GridView>

    <table width="100%" height="20" border="1" cellpadding="0" cellspacing="0" bordercolorlight="#FFFFFF"

                bordercolordark="#E6E6E6" bgcolor="#FFFFFF">

      <tr>

        <td><asp:Button ID="Button1" runat="server" Text="全选" OnClick="Button1_Click" />

          &nbsp;

          <asp:Button ID="Button2" runat="server" Text="删除" OnClick="Button2_Click" /></td>

        <td align="right"><asp:LinkButton ID="lnkbtnFrist" runat="server" OnClick="lnkbtnFrist_Click">首页</asp:LinkButton>

          <asp:LinkButton ID="lnkbtnPre" runat="server" OnClick="lnkbtnPre_Click">上一页</asp:LinkButton>

          <asp:Label ID="lblCurrentPage" runat="server"></asp:Label>

          <asp:LinkButton ID="lnkbtnNext" runat="server" OnClick="lnkbtnNext_Click">下一页</asp:LinkButton>

          <asp:LinkButton ID="lnkbtnLast" runat="server" OnClick="lnkbtnLast_Click">尾页</asp:LinkButton>

          跳转到第

          <asp:DropDownList ID="ddlCurrentPage" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"> </asp:DropDownList>

          </td>

      </tr>

    </table>

  </div>

</form>

</body>

</html>

 

 
后台代码:

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Data.OleDb;

 

public partial class Default3 : System.Web.UI.Page

{

    static string connstr;

    DataSet ds = new DataSet();

    static OleDbConnection conn = new OleDbConnection();

    OleDbDataAdapter da;

    OleDbCommandBuilder cb;

 

 

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            DataBinds();

        }

    }

 

    void DataBinds()

    {

        ds.Clear();

        //int id = Convert.ToInt32(Request.QueryString["id"]);

        open_db();

        string sql = "SELECT * FROM 通讯录";

        da = new OleDbDataAdapter(sql, conn);

        cb = new OleDbCommandBuilder(da);

        da.Fill(ds, "通讯录");

        /*

         if (ViewState["sortexpression"] != null)

         {

             ds.Tables["通讯录"].DefaultView.Sort = ViewState["sortexpression"].ToString() + " " + ViewState["sortdirection"].ToString();

         }

         */

        GridView1.DataSource = ds.Tables["通讯录"].DefaultView;

 

        GridView1.DataBind();

        conn.Close();

 

 

 

        this.ddlCurrentPage.Items.Clear();

 

        for (int i = 1; i <= this.GridView1.PageCount; i++)

        {

 

            this.ddlCurrentPage.Items.Add(i.ToString());

 

        }

 

        this.ddlCurrentPage.SelectedIndex = this.GridView1.PageIndex;

 

    }

 

    public static Boolean open_db()

    {

        try

        {

            connstr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=" + HttpContext.Current.Server.MapPath("通讯录.mdb");

            conn.ConnectionString = connstr;

            conn.Open();

            return true;

        }

        catch (Exception)

        {

            return false;

        }

    }

 

    public static Boolean exe_sql(string sql)                   //执行sql,返回Boolean类型

    {

        try

        {

            open_db();

            OleDbCommand cmd = new OleDbCommand(sql, conn);

            cmd.ExecuteNonQuery();

            return true;

        }

        catch (Exception)

        {

            return false;

        }

        finally

        {

            conn.Close();

        }

    }

 

    //全选checkbox

    protected void Button1_Click(object sender, EventArgs e)

    {

 

        foreach (GridViewRow row in GridView1.Rows)

        {

            ((CheckBox)row.Cells[0].FindControl("cb")).Checked = true;

 

        }

 

    }

 

    //删除所选

 

    protected void Button2_Click(object sender, EventArgs e)

    {

 

        for (int rowindex = 0; rowindex < this.GridView1.Rows.Count; rowindex++)

        {

 

            if (((CheckBox)this.GridView1.Rows[rowindex].Cells[0].FindControl("cb")).Checked == true)

            {

                int id = rowindex;

                ds.Tables["通讯录"].Rows[id].Delete();

                da.Update(ds.Tables["通讯录"]);

                Response.Write("del");

            }

 

        }

 

        DataBinds();

 

    }

 

    protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)

    {

 

        this.GridView1.PageIndex = e.NewPageIndex;

 

        DataBinds();

 

    }

 

    protected void cbAll_CheckedChanged(object sender, EventArgs e)

    {

 

        if (this.cbAll.Checked == true)

        {

 

            foreach (GridViewRow row in GridView1.Rows)

            {

 

                ((CheckBox)row.Cells[0].FindControl("cb")).Checked = true;

 

            }

 

        }

 

        else

        {

 

            foreach (GridViewRow row in GridView1.Rows)

            {

 

                ((CheckBox)row.Cells[0].FindControl("cb")).Checked = false;

 

            }

 

        }

 

    }

 

    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)

    {

 

        this.GridView1.PageIndex = this.ddlCurrentPage.SelectedIndex;

 

        DataBinds();

 

    }

 

    protected void lnkbtnFrist_Click(object sender, EventArgs e)

    {

 

        this.GridView1.PageIndex = 0;

 

        DataBinds();

 

    }

 

    protected void lnkbtnPre_Click(object sender, EventArgs e)

    {

 

        if (this.GridView1.PageIndex > 0)

        {

 

            this.GridView1.PageIndex = this.GridView1.PageIndex - 1;

 

            DataBinds();

 

        }

 

    }

 

    protected void lnkbtnNext_Click(object sender, EventArgs e)

    {

 

        if (this.GridView1.PageIndex < this.GridView1.PageCount)

        {

 

            this.GridView1.PageIndex = this.GridView1.PageIndex + 1;

 

            DataBinds();

 

        }

 

    }

 

    protected void lnkbtnLast_Click(object sender, EventArgs e)

    {

 

        this.GridView1.PageIndex = this.GridView1.PageCount;

 

        DataBinds();

 

    }

 

    protected void GridView1_DataBound(object sender, EventArgs e)

    {

 

        this.lblCurrentPage.Text = string.Format("当前第{0}/总共{1}", this.GridView1.PageIndex + 1, this.GridView1.PageCount);

 

    }

 

 

 

}

原创粉丝点击