GridView 列表绑定,分页,排序,全选,反选,查看,编辑,删除,批量删除

前台代码:

 <asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="false" CellPadding="4" ForeColor="#333333" GridLines="None"
                                        AllowPaging="true" PageSize="3" PagerSettings-Mode="NextPreviousFirstLast" PagerSettings-FirstPageText="首页" PagerSettings-LastPageText="尾页" PagerSettings-NextPageText="下一页" PagerSettings-PreviousPageText="上一页"
                                        OnRowCommand="GridView1_RowCommand" OnPageIndexChanging="GridView1_PageIndexChanging" AllowSorting="true" OnSorting="GridView1_Sorting">
                                        <FooterStyle BackColor="#990000" Font-Bold="true" ForeColor="White" />
                                        <Columns>
                                            <asp:TemplateField>
                                                <HeaderStyle HorizontalAlign="Center" />
                                                <HeaderTemplate>
                                                    <asp:CheckBox runat="server" ID="cbHead" OnCheckedChanged="cbHead_CheckedChanged" AutoPostBack="true" Text="全选" />
                                                </HeaderTemplate>
                                                <ItemTemplate>
                                                    <asp:CheckBox runat="server" ID="CheckItem" />
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:TemplateField Visible="false">
                                                <ItemTemplate>
                                                    <asp:Label ID="lblRowGuid" runat="server" Text='<%#Eval("UserGuid") %>'></asp:Label>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                            <asp:BoundField DataField="LoginID" HeaderText="账号" ReadOnly="true" SortExpression="LoginID" />
                                            <asp:BoundField DataField="password" HeaderText="密码" ReadOnly="true" SortExpression="password" />
                                            <asp:BoundField DataField="OUGuid" HeaderText="部门" ReadOnly="true" SortExpression="OUGuid" />
                                            <asp:BoundField DataField="IsEnabled" HeaderText="是否启用" ReadOnly="true" SortExpression="IsEnabled" />
                                            <asp:BoundField DataField="Title" HeaderText="职位" ReadOnly="true" SortExpression="Title" />
                                            <asp:TemplateField HeaderText="操作">
                                                <ItemTemplate>
                                                    <asp:LinkButton ID="linkSee" runat="server" CommandArgument='<%#Eval("UserGuid") %>' CommandName="Select" Text="查看"></asp:LinkButton>
                                                    <asp:LinkButton ID="linEdit" runat="server" CommandArgument='<%#Eval("UserGuid") %>' CommandName="EditUpdate" Text="修改"></asp:LinkButton>
                                                    <asp:LinkButton ID="linkDel" runat="server" CommandArgument='<%#Eval("UserGuid") %>'   CommandName="UserGuid" Text="删除" OnClientClick="return confirm('确定删除吗?')"></asp:LinkButton>
                                                </ItemTemplate>
                                            </asp:TemplateField>
                                        </Columns>
                                        <FooterStyle ForeColor="#000066" />
                                        <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                                        <HeaderStyle BackColor="#006699" Font-Bold="true" ForeColor="White" />
                                    </asp:GridView>

后台:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Windows.Forms;
namespace 工程运维管理平台
{
    public partial class Index : System.Web.UI.Page
    {
        string conn = ConfigurationManager.AppSettings["conn"].ToString();
        SqlConnection con;
        SqlCommand com;
        DataSet ds;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                Bind();
            }
        }

        #region  绑定列表
        public void Bind()
        {
            if (ViewState["SortDirection"] == null)
            {
                RG.Data.DataLogicalEngine.BindGridView("Frame_User", GridView1, null, null);
            }
            else
            {
                RG.Data.DataLogicalEngine.BindGridView("Frame_User", GridView1, ViewState["SortExpression"].ToString(), ViewState["SortDirection"].ToString());            
            }

           //正在封装...暂用
            //string strsql = "select * from Frame_User";
            //con = new SqlConnection(conn);
            //con.Open();
            //com = new SqlCommand(strsql, con);
            //SqlDataAdapter da = new SqlDataAdapter(com);
            //ds = new DataSet();
            //da.Fill(ds, "Frame_User");
            //if ( ViewState["SortDirection"] == null)
            //{
            //    GridView1.DataSource = ds.Tables["Frame_User"].DefaultView;
            //}
            //else
            //{
            //    DataView SortedDV = new DataView(ds.Tables["Frame_User"]);
            //    SortedDV.Sort = ViewState["SortExpression"].ToString() + "  " + ViewState["SortDirection"].ToString();
            //    GridView1.DataSource = SortedDV;
            //}
            //GridView1.DataBind();
            //con.Close();
            //con.Dispose();
            //com.Dispose();
        }
        #endregion

        #region GridView操作(查看、修改、删除)
        protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Select" && e.CommandArgument.ToString() != "")
            {
                //查看操作
                string rowguid = e.CommandArgument.ToString();//获取主键
                Response.Write("<script>window.open('Pages/Users/UserDetails.aspx?UserGuid=" + rowguid + "')</script>");

            }
            if (e.CommandName == "EditUpdate" && e.CommandArgument.ToString() != "")
            {
                //修改操作
                string rowguid = e.CommandArgument.ToString();//获取主键
                Response.Write("<script>window.open('Pages/Users/EditUser.aspx?UserGuid=" + rowguid + "')</script>");
                Bind();

            }
            //注,生成前端界面的时候,若是删除列则:CommandArgument的值为主键列名,下面代码中的UserGuid须一致
            if (e.CommandName == "UserGuid" && e.CommandArgument.ToString() != "")
            {
                //删除操作
                string UserGuid = e.CommandArgument.ToString();//获取主键
                RG.Data.DataLogicalEngine.Delete("Frame_User", e.CommandName.ToString(), UserGuid);
                Bind();
            }
        }
        #endregion

        #region 分页事件
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            Bind();
        }
        #endregion

        #region  全选,反选
        protected void cbHead_CheckedChanged(object sender, EventArgs e)
        {
            string showText= ((System.Web.UI.WebControls.CheckBox)(GridView1.HeaderRow.Cells[0].FindControl("cbHead"))).Text;
            //bool isChecked = ((System.Web.UI.WebControls.CheckBox)(GridView1.HeaderRow.Cells[0].FindControl("CheckItem"))).Checked;           

            if (showText == "全选")
            {
                foreach (GridViewRow gvRow in GridView1.Rows)
                {
                    ((System.Web.UI.WebControls.CheckBox)(gvRow.Cells[0].FindControl("CheckItem"))).Checked = true;                    
                }
                ((System.Web.UI.WebControls.CheckBox)(GridView1.HeaderRow.Cells[0].FindControl("cbHead"))).Text = "反选";
            }
            else
            {
                foreach (GridViewRow gvRow in GridView1.Rows)
                {
                    if (((System.Web.UI.WebControls.CheckBox)(gvRow.Cells[0].FindControl("CheckItem"))).Checked)
                    {
                        ((System.Web.UI.WebControls.CheckBox)(gvRow.Cells[0].FindControl("CheckItem"))).Checked = false;
                    }
                    else
                    {
                        ((System.Web.UI.WebControls.CheckBox)(gvRow.Cells[0].FindControl("CheckItem"))).Checked = true;
                    }

                }

                ((System.Web.UI.WebControls.CheckBox)(GridView1.HeaderRow.Cells[0].FindControl("cbHead"))).Text = "全选";
            }
        }
        #endregion

        #region 新增
        protected void add_Click(object sender, EventArgs e)
        {
            Response.Write("<script language='javascript'>window.open('Pages/Users/AddUser.aspx','_blank')</script>");
        }
        #endregion

        #region 导入
        protected void btnExport_Click(object sender, EventArgs e)
        {

        }
        #endregion

        #region 导出
        protected void btnImport_Click(object sender, EventArgs e)
        {

        }
        #endregion

        #region 批量删除
        protected void btnDelAll_Click(object sender, EventArgs e)
        {
            string UserGuid = "";
            //获取所有选中的数据
            foreach (GridViewRow gvRow in GridView1.Rows)
            {
                if (((System.Web.UI.WebControls.CheckBox)(gvRow.Cells[0].FindControl("CheckItem"))).Checked)
                {
                    UserGuid += Convert.ToString(((System.Web.UI.WebControls.Label)(gvRow.Cells[1].FindControl("lblRowGuid"))).Text) + ",";
                }
            }

            if (UserGuid != "")
            {
                UserGuid = UserGuid.Substring(0, UserGuid.Length - 1);
                MessageBox.Show("确定删除", "批量删除", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                //批量删除
                if (RG.Data.DataLogicalEngine.Delete("Frame_User", "UserGuid", UserGuid))
                {
                    MessageBox.Show("删除成功!");
                    Bind();
                }
                else
                {
                    MessageBox.Show("删除失败!");
                }

            }
            else
            {
                MessageBox.Show("请选择要删除的数据!");
            }
        }
        #endregion


        #region 排序
        protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        {
            if (ViewState["SortDirection"] == null)
            {
                ViewState["SortDirection"] = "DESC";
            }
            if (ViewState["SortDirection"].ToString() == "ASC")
            {
                ViewState["SortDirection"] = "DESC";
            }
            else
            {
                ViewState["SortDirection"] = "ASC";
            }
            ViewState["SortExpression"] = e.SortExpression;
            Bind();
        }
        #endregion


    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值