您的位置:首页 > 其它

使用CheckboxList控件

2013-05-30 01:04 330 查看
//前台页面

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="myTest.aspx.cs"

Inherits="HealthWebSite.Admin.RoleFuncation" %>

<!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">

.btn_2k3

{

border: 1pt solid #A3BFE8;

border-collapse: collapse;

height: 25px;

width: 80px;

text-align: center;

filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#FFFFFF, EndColorStr=#9DBCEA);

}

.grdw

{

text-align: center;

}

.value

{

background-color: White;

text-align: left;

}

</style>

</head>

<body style="font-size: 12px">

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

<div style="float: left; border: 1px solid #808080; width: 100%">

<div style="float: left; width: 100%;">

<asp:GridView ID="GridView2" runat="server" CellPadding="4" GridLines="None" AutoGenerateColumns="False"

Width="100%" DataKeyNames="" AllowPaging="True" PageSize="8" OnPageIndexChanging="GridView2_PageIndexChanging"

OnRowCommand="GridView2_RowCommand">

<RowStyle BackColor="#EFF3FB" CssClass="grdw" />

<Columns>

<asp:TemplateField HeaderText="所有角色" HeaderStyle-HorizontalAlign="Left">

<ItemTemplate>

<asp:Label ID="lblname" runat="server" Text='<%# Eval("rolename") %>' />

</ItemTemplate>

</asp:TemplateField>

<asp:TemplateField HeaderText="">

<ItemTemplate>

<asp:Button ID="btnxgqx" runat="server" Text="查看权限" CssClass="btn_2k3" CommandName='fenpei'

CommandArgument='<%# bind("RoleId") %>' />

</ItemTemplate>

</asp:TemplateField>

</Columns>

<FooterStyle Font-Bold="True" ForeColor="White" />

<PagerStyle BackColor="#99CCFF" ForeColor="White" HorizontalAlign="Center" />

<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />

<HeaderStyle BackColor="#99CCFF" />

</asp:GridView>

</div>

<div style="text-align: right;width: 100%;">

<table>

<tr>

<td align="right">

角色名称:

</td>

<td class="value">

<asp:Label Visible="false" runat="server" ID="lblroleid"></asp:Label>

<asp:TextBox ID="txtrolename" runat="server" />

</td>

<td align="right">

<asp:Button ID="btnadd" runat="server" CssClass="btn_2k3" Text="添加" OnClick="btnadd_Click1" />

</td>

<td>

<asp:Button ID="btnupdate" runat="server" CssClass="btn_2k3" Text="修改" OnClick="btnupdate_Click" />

</td>

</tr>

</table>

</div>

</div>

<div style="float: left; border: 1px solid #808080; margin-top: 5px; width: 100%;">

<div style="float: left; width: 100%;">

<table style="width: 100%" cellpadding="0" cellspacing="0">

<tr>

<td style="background-color: #99CCFF; height: 25px; font-weight: bold;">

 角色功能:<asp:Label runat="server" ID="lblrolenameupdate" />

<asp:Label runat="server" ID="lblroleidupdate" Visible="false" />

</td>

</tr>

<tr>

<td>

<asp:CheckBoxList ID="CheckBoxList1" runat="server" DataTextField="jurisdictionname"

DataValueField="jurisdictionid" RepeatDirection="Horizontal" RepeatColumns="4"

AutoPostBack="false" Width="100%" BorderStyle="Solid">

</asp:CheckBoxList>

</td>

</tr>

<tr>

<td align="right">

<asp:Button ID="btnquanxian" runat="server" CssClass="btn_2k3" Text="保存权限" OnClick="btnquanxian_Click" />

</td>

</tr>

<tr>

<td>

</td>

</tr>

</table>

</div>

</div>

</form>

</body>

</html>

//后台:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using Common;

using System.Data;

using Platform;

namespace HealthWebSite.Admin

{

public partial class test

{

protected void Page_Load(object sender, EventArgs e)

{

if(!Page.IsPostBack){

string sqlcheck = @"select jurisdictionid,jurisdictionname from web_functiontable";

CheckBoxList1.DataSource = Temp.Find(sqlcheck).Tables[0];//对checkboxlist控件进行数据绑定

CheckBoxList1.DataBind();

Chushihuarole();

}

}

/// <summary>

/// 初始化GridView控件

/// </summary>

public void Chushihuarole()

{

string sqlrole = @"select RoleId,rolename from web_roletable";

GridView2.DataSource = Temp.Find(sqlrole).Tables[0];

GridView2.DataBind();

}

/// <summary>

/// 添加

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void btnadd_Click1(object sender, EventArgs e)

{

if (txtrolename.Text.ToString() == "")

{

ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称不能为空');", true);

return;

}

string selsql = @"select * from web_roletable where rolename='" + txtrolename.Text.ToString().Trim() + "'";

DataSet selset = Temp.Find(selsql);

if (selset.Tables.Count > 0 && selset.Tables[0].Rows.Count > 0)

{

ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称已存在');", true);

return;

}

else

{

string addsql = @"insert into web_roletable(RoleId,rolename)

values('" + Guid.NewGuid().ToString().ToUpper() + "','" + txtrolename.Text.ToString() + "')";

int result = Temp.Update(addsql);

if (result > 0)

{

Response.Write("<script language='javascript'>alert('添加成功');window.location.href ='test.aspx';</script>");

}

}

}

/// <summary>

/// 修改

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void btnupdate_Click(object sender, EventArgs e)

{

if (txtrolename.Text.ToString() == "")

{

ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称不能为空');", true);

return;

}

if(lblroleid.Text.ToString()==""){

ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('选择要修改的角色');", true);

return;

}

string selsql = @"select * from web_roletable where rolename='" + txtrolename.Text.ToString().Trim() + "' and RoleId!='" + lblroleid.Text.ToString().ToUpper() + "'";

DataSet selset = Temp.Find(selsql);

if (selset.Tables.Count > 0 && selset.Tables[0].Rows.Count > 0)

{

ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('角色名称已存在');", true);

return;

}

else

{

string addsql = @"update web_roletable set rolename='" + txtrolename.Text.ToString().Trim() + "' where RoleId='" + lblroleid.Text.ToString().ToUpper() + "'";

int result = Temp.Update(addsql);

if (result > 0)

{

Response.Write("<script language='javascript'>alert('修改成功');window.location.href ='RoleFuncation.aspx';</script>");

}

}

}

/// <summary>

/// 分页

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)

{

GridView2.PageIndex = e.NewPageIndex;

Chushihuarole();

}

/// <summary>

/// 操作

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)

{

string RoleId = e.CommandArgument.ToString();

if(e.CommandName=="fenpei"){//当点击GridView中分配权限按钮的时候

for (int j = 0; j < CheckBoxList1.Items.Count; j++)//对checkboxlist中的所有数据项进行遍历

{

CheckBoxList1.Items[j].Selected = false;//把checkboxlist中的所有数据项都设置为非选中状态

}

//获取该角色的所有权限 循环找 有就复选框为打钩状态

//获取所有权限功能

string selectrole = @"select RoleId,rolename from web_roletable where RoleId='" + RoleId + "'";

DataSet selectroleset = Temp.Find(selectrole);

lblrolenameupdate.Text = selectroleset.Tables[0].Rows[0]["rolename"].ToString();

lblroleidupdate.Text = RoleId;

txtrolename.Text = selectroleset.Tables[0].Rows[0]["rolename"].ToString();

lblroleid.Text = RoleId;

string sqlfenpei = @" select rolefuncationid,RoleId,funcationid

from web_rolefuncation where RoleId='" + RoleId + "'";

DataSet setfenpei = Temp.Find(sqlfenpei);

if (setfenpei.Tables.Count > 0 && setfenpei.Tables[0].Rows.Count > 0)

{

// string sqlcheckbox = @"select jurisdictionid,jurisdictionname from web_functiontable";

// DataSet setcheckbox = Temp.Find(sqlcheckbox);

foreach (DataRow row in setfenpei.Tables[0].Rows)

{

for (int j = 0; j < CheckBoxList1.Items.Count; j++)

{

if (CheckBoxList1.Items[j].Value == row["funcationid"].ToString())

{

CheckBoxList1.Items[j].Selected = true;//设置CheckboxList中的选项被选中

}

}

}

}

}

}

/// <summary>

/// 修改权限

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void btnquanxian_Click(object sender, EventArgs e)

{

//先删除所有权限然后 添加选择的权限

if (lblroleidupdate.Text.ToString()=="")

{

ClientScript.RegisterClientScriptBlock(GetType(), "OnLoad", "alert('选择要分配权限的角色');", true);

return;

}

string delcheck = @"delete from web_rolefuncation where RoleId='" + lblroleidupdate.Text.ToString().ToUpper() + "'";

int jiegou = 0;

int result = Temp.Update(delcheck);

for (int j = 0; j < CheckBoxList1.Items.Count;j++ )//遍历checkboxlist中的所有数据项

{

//打钩的复选框,取到复选框选中的数据

if (CheckBoxList1.Items[j].Selected)//如果取到的数据是被选中的话

{

string addsql = @"insert into web_rolefuncation(rolefuncationid,RoleId,funcationid)

values('" + Guid.NewGuid().ToString().ToUpper() + "','" + lblroleidupdate.Text.ToString().ToUpper()

+ "','" + CheckBoxList1.Items[j].Value.ToUpper() + "')";//取到更新的sql语句

jiegou = Temp.Update(addsql);//进行更新操作

}

}

if (jiegou>0)//如果更新的语句条数大于0条,则给出分配成功的提示

{

Response.Write("<script language='javascript'>alert('分配权限成功');window.location.href ='RoleFuncation.aspx';</script>");

}

}

}

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