
<%...@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<!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">



<STYLE type=text/css>...BODY {...}{
MARGIN-TOP: 0px; FONT-SIZE: 9pt; MARGIN-LEFT: 4px; MARGIN-RIGHT: 0px; FONT-FAMILY: "宋体"
}
A {...}{
FONT-WEIGHT: 400; FONT-SIZE: 13px; COLOR: black; TEXT-DECORATION: none
}
A:hover {...}{
FONT-WEIGHT: 400; FONT-SIZE: 13px; COLOR: red; TEXT-DECORATION: underline
}
A:active {...}{
FONT: 9pt "宋体"; CURSOR: hand; COLOR: #ff0033
}
</style>
<title>无标题页</title>

<script type="text/javascript">...

function show(tips,flag,url)...{
var my_tips=document.all.mytips;
if(flag)...{
my_tips.style.display="";
if (url!=null)...{my_tips.innerHTML="<img src='"+url+"'align=left>"+tips;}
else...{ my_tips.innerHTML=tips;}
my_tips.style.left=event.clientX+10;
my_tips.style.top=event.clientY+10;
}
else 
...{
my_tips.style.display="none";
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
<a href="#" tips="请选择类别" onmousemove=show(this.tips,1) onmouseout=show(this.tips,0)>请选择类别</a>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>请选择</asp:ListItem>
<asp:ListItem Value="部门">部门/科室</asp:ListItem>
<asp:ListItem>学校</asp:ListItem>
</asp:DropDownList>
<asp:CheckBox ID="chk_All" runat="server" OnCheckedChanged="chk_All_CheckedChanged"
Text="全选" AutoPostBack="True" />
<asp:Button ID="btn_Submit" runat="server" OnClick="btn_Submit_Click" Text="确定" />
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:GridView ID="grv_DepartMent" runat="server" AutoGenerateColumns="False"
DataKeyNames="DepartmentID" OnRowDataBound="grv_DepartMent_RowDataBound" OnRowCommand="grv_DepartMent_RowCommand">
<Columns>
<asp:BoundField DataField="DepartmentID" HeaderText="DepartmentID" />
<asp:BoundField DataField="DepartMentName" HeaderText="部门名称" />
<asp:TemplateField>
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="chk_SelectDepartment" runat="server" AutoPostBack="True" OnCheckedChanged="chk_SelectDepartment_CheckedChanged"
Text="选择该部门" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:GridView ID="grv_User" runat="server" AutoGenerateColumns="False" Width="100%">
<Columns>
<asp:BoundField DataField="RealName" HeaderText="用户名" />
<asp:TemplateField>
<EditItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="chk_User" runat="server" />
</ItemTemplate>
<ItemStyle Width="15px" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
<asp:GridView ID="grv_User" runat="server" AutoGenerateColumns="False" ShowHeader="False">
<Columns>
<asp:BoundField DataField="RealName" />
<asp:TemplateField>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:CheckBox ID="chk_User" runat="server" Text="选择" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</EmptyDataTemplate>
</asp:GridView>
</td>
<td>
<asp:DataList ID="dlst_DepartMent" runat="server" DataKeyField="DepartMentID" OnItemDataBound="dlst_DepartMent_ItemDataBound">
<ItemTemplate>
<table style="width: 100%; height: 100%">
<tr>
<td>
<asp:Label ID="lbl_DepartMentName" runat="server" Text='<%# Eval("DepartMentName") %>'></asp:Label>
<asp:CheckBox ID="chk_DepartMent" runat="server" AutoPostBack="True" OnCheckedChanged="chk_DepartMent_CheckedChanged" /></td>
</tr>
<tr>
<td>
<asp:GridView ID="grv_UserView" runat="server" AutoGenerateColumns="False" Width="100%">
<Columns>
<asp:BoundField DataField="RealName" HeaderText="用户名" />
<asp:TemplateField>
<ItemStyle Width="15px" />
<ItemTemplate>
<asp:CheckBox ID="chk_SUser" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</td>
</tr>
<tr>
<td>
</td>
</tr>
</table>
</ItemTemplate>
<HeaderTemplate>
<asp:CheckBox ID="chk_SelectAll" runat="server" AutoPostBack="True" OnCheckedChanged="chk_SelectAll_CheckedChanged"
Text
后台代码:
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 BigOA.Logic;
using BigOA.Data;
public partial class test : System.Web.UI.Page
...{
protected void Page_Load(object sender, EventArgs e)
...{
if (!IsPostBack)
...{
SetList();
LoadDepartMentData();
}
if (Request["ID"] != null)
...{
}
}


/**//// <summary>
/// 用户列表
/// </summary>
private void SetList()
...{
if (DropDownList1.SelectedIndex > 0)
...{
chk_All.Enabled = true;
string dtype = DropDownList1.SelectedValue;
BigOA.Data.User_BasicInfoTableAdapters.User_BasicInfo_SelectDTypeTableAdapter Adapter = new BigOA.Data.User_BasicInfoTableAdapters.User_BasicInfo_SelectDTypeTableAdapter();
BigOA.Data.User_BasicInfo.User_BasicInfo_SelectDTypeDataTable Table = Adapter.GetDataByDType(dtype);
Adapter.Dispose();
dgv_SchoolDepartment.DataSource = Table;
dgv_SchoolDepartment.DataBind();
}
else
...{
chk_All.Enabled = false;
}
}


private void LoadDepartMentData()
...{
BigOA.Data.User_BasicInfoTableAdapters.User_BasicInfo_GetDepartmentTableAdapter adpt = new BigOA.Data.User_BasicInfoTableAdapters.User_BasicInfo_GetDepartmentTableAdapter();
BigOA.Data.User_BasicInfo.User_BasicInfo_GetDepartmentDataTable table = adpt.GetDepartMentNameGetData();
adpt.Dispose();
grv_DepartMent.DataSource = table;
grv_DepartMent.DataBind();
dlst_DepartMent.DataSource = table;
dlst_DepartMent.DataBind();
}
private void LoadUserData(int DepartmentID, GridView grv)
...{
BigOA.Data.User_BasicInfoTableAdapters.User_BasicInfoSimpleTableAdapter adpt = new BigOA.Data.User_BasicInfoTableAdapters.User_BasicInfoSimpleTableAdapter();
BigOA.Data.User_BasicInfo.User_BasicInfoSimpleDataTable table = adpt.GetDataByDepartmentID(DepartmentID);
grv.DataSource = table;
grv.DataBind();
}
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
...{
SetList();
}
protected void btn_Submit_Click(object sender, EventArgs e)
...{
foreach (GridViewRow grvRow in dgv_SchoolDepartment.Rows)
...{
CheckBox chk = (CheckBox)grvRow.FindControl("chk_Select");
if (chk.Checked)
...{
}
}
}
protected void chk_All_CheckedChanged(object sender, EventArgs e)
...{
bool flag = chk_All.Checked;
foreach (GridViewRow grvRow in dgv_SchoolDepartment.Rows)
...{
CheckBox chk = (CheckBox)grvRow.FindControl("chk_Select");
chk.Checked = flag;
}
foreach (GridViewRow grvDeptRow in grv_DepartMent.Rows)
...{
CheckBox chk = (CheckBox)grvDeptRow.FindControl("chk_SelectDepartment");
chk.Checked = flag;
GridView grv_User = (GridView)grvDeptRow.FindControl("grv_User");
foreach (GridViewRow grvUserRow in grv_User.Rows)
...{
CheckBox chk_user = (CheckBox)grvUserRow.FindControl("chk_User");
chk_user.Checked = flag;
}
}
}
protected void grv_DepartMent_RowDataBound(object sender, GridViewRowEventArgs e)
...{
if (e.Row.RowType == DataControlRowType.DataRow)
...{
//获取gridview主键
DataKey key = grv_DepartMent.DataKeys[e.Row.RowIndex];
//获取gridview一行中的数据
DataRowView _view = (DataRowView)e.Row.DataItem;
string DepartmentID2 = _view["DepartmentID"].ToString();
int DepartmentID = Convert.ToInt32(key.Value);
GridView grv = (GridView)e.Row.FindControl("grv_User");
LoadUserData(DepartmentID, grv);
//gridview鼠标经过改变行背景色
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='ivory'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='white' ");


}
}
protected void grv_DepartMent_RowCommand(object sender, GridViewCommandEventArgs e)
...{
}
protected void chk_SelectDepartment_CheckedChanged(object sender, EventArgs e)
...{
CheckBox chk = (CheckBox)sender;
bool flag = chk.Checked;
GridViewRow row = (GridViewRow)chk.NamingContainer;
GridViewRow curRow = (GridViewRow)chk.Parent.Parent;
DataKey key = grv_DepartMent.DataKeys[row.RowIndex];
GridView grv = (GridView)row.FindControl("grv_User");
foreach (GridViewRow grvrow in grv.Rows)
...{
CheckBox chk_user = (CheckBox)grvrow.FindControl("chk_User");
chk_user.Checked = flag;
}
}
protected void dlst_DepartMent_ItemDataBound(object sender, DataListItemEventArgs e)
...{
if (e.Item.ItemType == ListItemType.Item)
...{
object key = dlst_DepartMent.DataKeys[e.Item.ItemIndex];
int DepartmentID = Convert.ToInt32(key);
GridView grv = (GridView)e.Item.FindControl("grv_UserView");
LoadUserData(DepartmentID, grv);
}
}
protected void chk_SelectAll_CheckedChanged(object sender, EventArgs e)
...{
CheckBox chk_SelectAll = (CheckBox)sender;
bool flag = chk_SelectAll.Checked;
foreach (DataListItem item in dlst_DepartMent.Items)
...{
CheckBox chk_DepartMent = (CheckBox)item.FindControl("chk_DepartMent");
chk_DepartMent.Checked = flag;
GridView grv_UserView=(GridView)item.FindControl("grv_UserView");
foreach (GridViewRow row in grv_UserView.Rows)
...{
CheckBox chk_SUser =(CheckBox) row.FindControl("chk_SUser");
chk_SUser.Checked = flag;
}
}
}
protected void chk_DepartMent_CheckedChanged(object sender, EventArgs e)
...{
CheckBox chk_DepartMent = (CheckBox)sender;
bool flag = chk_DepartMent.Checked;
DataLi
本文介绍了一个使用 ASP.NET 实现的用户权限管理系统,通过下拉菜单选择部门或学校后,可以展示对应用户列表并进行全选操作。系统还支持根据部门筛选用户,并允许对用户进行选择标记。
1271

被折叠的 条评论
为什么被折叠?



