您的位置:首页 > 其它

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

2016-03-04 10:43 459 查看
前台代码:

<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

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  分页 gridview