110,534
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using zp365.admin.BLL;
public partial class myadmin_sys_WebSiteAuthority : System.Web.UI.Page
{
DataTable dtTree = new DataTable();
DataTable dtCheck = new DataTable();
private Int32 SiteID = 0;
private ArrayList AuthorityID = new ArrayList();
protected void Page_Load(object sender, EventArgs e)
{
ASP.sysMaster sysM = (ASP.sysMaster)this.Master;
sysM.SetStateEnabled(true);
sysM.BtBack.Enabled = false;
sysM.ToolBarClick += new zp365.Lib.Web.CommandDelegate(sysM_ToolBarClick);
Int32.TryParse(Request["SiteID"], out SiteID);
if (!IsPostBack)
bindData();
}
void sysM_ToolBarClick(object sender, EventArgs e)
{
switch (((ImageButton)sender).CommandName)
{
case "save":
if (SiteID > 0)
{
AuthorityID.Clear();
collectNodes(null);
//if (websiteBll.save(model) > 0)
// dialog1.openMsg(WebsiteID == 0 ? "添加成功!" : "修改成功", "/myadmin/sys/Website.aspx", false);
//else
// dialog1.openMsg("操作失败!");
}
break;
}
}
private void bindData()
{
if (SiteID > 0)
{
dtTree = authorityBll.getAll();
dtCheck = websiteAuthorityBll.getAll(SiteID);
loadTree(null, "0");
}
}
/// <summary>
/// 加载树
/// </summary>
/// <param name="tbl"></param>
/// <param name="tn"></param>
/// <param name="preID"></param>
protected void loadTree(TreeNode tn, string preID)
{
DataView dv = dtTree.DefaultView;
dv.RowFilter = "ParentID=" + preID;
foreach (DataRowView row in dv)
{
TreeNode node = new TreeNode();
node.Text = row["name"].ToString();
node.Value = row["id"].ToString();
node.SelectAction = TreeNodeSelectAction.Expand;
if ((Int32)dtCheck.Compute("count(AuthorityID)","AuthorityID="+row["id"].ToString())>0)
node.Checked = true;
if (tn == null)
tree.Nodes.Add(node);
else
tn.ChildNodes.Add(node);
loadTree(node, row["id"].ToString());
}
}
/// <summary>
/// 获取选中的结点
/// </summary>
/// <param name="node"></param>
private void collectNodes(TreeNode node)
{
TreeNodeCollection tnc;
if (node == null)
tnc = this.tree.Nodes;
else
tnc = node.ChildNodes;
foreach (TreeNode tn in tnc)
{
if (tn.Checked)
AuthorityID.Add(tn.Value);
collectNodes(tn);
}
}
}