日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

我刚做的一个TreeView的CheckBox进行选中插入数据库,从数据库中读取数据后让CheckBox勾选的代码!...

發布時間:2024/1/17 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我刚做的一个TreeView的CheckBox进行选中插入数据库,从数据库中读取数据后让CheckBox勾选的代码!... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??? #region 綁定角色
??? /// <summary>
??? /// 綁定權限信息
??? /// </summary>
??? protected void BindgvRoles()
??? {
??????? string sql = "select * from GM_FileKind";
??????? DataTable dt = OADBHelper.GetDataTable(sql);
??????? this.gvRoles.DataSource = dt;
??????? this.DataBind();
??? }
??? #endregion


??? #region TreeView 表員工表的顯示至TreeView控件
??? /// <summary>
??? /// Tree綁定
??? /// </summary>
??? public void BindTree()
??? {
??????? this.tvUsers.Nodes.Clear();
??????? string sql = "select * from Accounts_UserDepartment";
??????? DataView dv = OADBHelper.GetDataTable(sql).DefaultView;
??????? //dv.RowFilter = "Kind=0";
??????? foreach (DataRowView drv in dv)
??????? {
??????????? TreeNode tn = new TreeNode();
??????????? tn.Text = drv["Dept"].ToString();
??????????? tn.Value = drv["AutoID"].ToString();
??????????? //tn.NavigateUrl = drv["KURL"].ToString();
??????????? tn.SelectAction = TreeNodeSelectAction.Expand;
??????????? tn.Expanded = false;
??????????? this.tvUsers.Nodes.Add(tn);
??????????? addChildNodes(tn);
??????? }
??? }


??? /// <summary>
??? /// 綁定子節點
??? /// </summary>
??? /// <param name="tn"></param>
??? public void addChildNodes(TreeNode tn)
??? {
??????? string sql = "select UserID,RealName from Accounts_Users where Dept='" + tn.Text + "'";
??????? DataView dv = OADBHelper.GetDataTable(sql).DefaultView;
??????? foreach (DataRowView drv in dv)
??????? {
??????????? TreeNode childtn = new TreeNode();
??????????? childtn.Text = drv["RealName"].ToString();
??????????? childtn.Value = drv["UserID"].ToString();
??????????? //childtn.NavigateUrl = drv["KURL"].ToString();
??????????? childtn.Expanded = false;
??????????? tn.ChildNodes.Add(childtn);
??????????? addChildNodes(childtn);
??????? }
??? }

??? #endregion


??? #region 從數據庫中讀取數據,然后勾選根節點的相應的CheckBox
??? /// <summary>
??? /// 從數據庫中讀取數據,然后勾選根節點的相應的CheckBox
??? /// </summary>
??? /// <param name="RoleId"></param>
??? protected void BindTreeRoot(int RoleId, TreeNodeCollection treenode)
??? {
??????? string sql = "";
??????? foreach (TreeNode nodes in treenode)
??????? {
??????????? if (nodes.ChildNodes.Count > 0)
??????????? {
??????????????? //查找所有權限的人的部門Id
??????????????? sql = "select Distinct[DepId] from GM_Roles where FKId=" + RoleId;

??????????????? DataView dv = OADBHelper.GetDataTable(sql).DefaultView;

??????????????? foreach (DataRowView drv in dv)
??????????????? {

??????????????????? foreach (TreeNode node in treenode)
??????????????????? {

??????????????????????? if (drv["DepId"].ToString() == node.Value.ToString())
??????????????????????? {
??????????????????????????? node.Checked = true;
??????????????????????? }

??????????????????????? BindTreeRoot(RoleId, node.ChildNodes);
??????????????????? }
??????????????? }
??????????? }
??????????? else
??????????? {
??????????????? //根據角色ID得到相應的的員工ID
??????????????? sql = "select UserID from GM_Roles where FKId='" + RoleId + "'";

??????????????? DataView dv = OADBHelper.GetDataTable(sql).DefaultView;

??????????????? foreach (DataRowView drv in dv)
??????????????? {

??????????????????? foreach (TreeNode node in treenode)
??????????????????? {

??????????????????????? if (drv["UserID"].ToString() == node.Value.ToString())
??????????????????????? {
??????????????????????????? node.Checked = true;
??????????????????????? }

??????????????????????? BindTreeRoot(RoleId, node.ChildNodes);
??????????????????? }
??????????????? }
??????????? }

??????? }
??? }
??? #endregion


??? #region 設置權限
??? /// <summary>
??? /// 設置權限
??? /// </summary>
??? /// <param name="sender"></param>
??? /// <param name="e"></param>
??? protected void lkbtnModify_Command(object sender, CommandEventArgs e)
??? {
??????? int Id = Convert.ToInt32(e.CommandArgument.ToString());

??????? ViewState["RoleId"] = Id;

??????? BindTree();

??????? string sql = "select FKName from GM_FileKind where FKId=" + Id;

??????? lblRoles.Text = OADBHelper.GetString(sql);

??????? BindTreeRoot(Id, this.tvUsers.Nodes);
??? }
??? #endregion


??? #region? 權限設置操作
??? /// <summary>
??? /// 權限設置操作
??? /// </summary>
??? /// <param name="sender"></param>
??? /// <param name="e"></param>
??? protected void btnModify_Click(object sender, EventArgs e)
??? {
??????? if (this.lblRoles.Text == "沒有選擇角色")
??????? {
??????????? Response.Write("<script>alert('請選擇一個角色名稱!');</script>");
??????? }
??????? else
??????? {
??????????? int RoleId = Convert.ToInt32(ViewState["RoleId"].ToString());

??????????? string sql = "select UserId from UserId where FKId=" + RoleId;

??????????? DeleteRoles(Convert.ToInt32(ViewState["RoleId"].ToString()));

??????????? this.GetCheckBoxChecked(this.tvUsers.Nodes);

??????????? Response.Write("<script>alert('角色設置成功!');</script>");

??????? }
??? }
??? #endregion

??? #region? 添加選定的人到角色表(checkbox選中的,插入數據庫)

??? /// <summary>
??? /// 選擇要添加的角色
??? /// </summary>
??? /// <param name="treeNode"></param>
??? private void GetCheckBoxChecked(TreeNodeCollection treeNode)
??? {
??????? foreach (TreeNode node in treeNode)
??????? {
??????????? if (node.Checked)
??????????? {

??????????????? if (node.ChildNodes.Count == 0)
??????????????? {
??????????????????? //執行保存???
??????????????????? int UserId = Convert.ToInt32(node.Value.ToString());

??????????????????? InertRoleMember(Convert.ToInt32(ViewState["RoleId"].ToString()), UserId, Convert.ToInt32(ViewState["DepatId"].ToString()));

??????????????????? this.GetCheckBoxChecked(node.ChildNodes);
??????????????? }
??????????????? else
??????????????? {

??????????????????? ViewState["DepatId"] = node.Value.ToString();

??????????????????? GetCheckBoxChecked(node.ChildNodes);

??????????????? }

??????????? }
??????????? else
??????????? {
??????????????? if (node.ChildNodes.Count > 0)
??????????????? {
??????????????????? this.GetCheckBoxChecked(node.ChildNodes);
??????????????? }
??????????? }
??????? }
??? }
??? #endregion

??? #region 通過部門ID得到所有的人員Id
??? /// <summary>
??? /// 通過部門ID得到所有的人員Id
??? /// </summary>
??? /// <param name="DeptId"></param>
??? /// <returns></returns>
??? protected int GetUserIdByDeptId(int DeptId)
??? {
??????? string strSql = "select Dept from Accounts_UserDepartment where AutoID=" + DeptId;

??????? string DeptName = OADBHelper.GetString(strSql);? //得到部門名稱

??????? strSql = "select UserID from Accounts_Users where Dept='" + DeptName + "'";

??????? int UserId = Convert.ToInt32(OADBHelper.GetString(strSql));

??????? return UserId;
??? }
??? #endregion

??? #region 根據選中的節點設置相應的權限人到數據庫
??? /// <summary>
??? /// 根據選中的節點設置相應的權限人
??? /// </summary>
??? /// <param name="classId"></param>
??? /// <param name="RoleId"></param>
??? protected void InertRoleMember(int FKId, int UserId,int DeptId)
??? {
??????? string sql = @"insert into GM_Roles(FKId,UserId,DepId)values('" + FKId + "','" + UserId + "','" + DeptId + "')";
??????? OADBHelper.GetInt(sql);
??? }
??? #endregion

??? #region 根據角色Id刪除相應的權限
??? /// <summary>
??? /// 根據角色Id刪除相應的權限
??? /// </summary>
??? /// <param name="RoleId"></param>
??? protected void DeleteRoles(int RoleId)
??? {
??????? string sql = @"delete from GM_Roles where FKId=" + RoleId;
??????? OADBHelper.GetInt(sql);
??? }
??? #endregion

??? #region C#復選框的操作
??? /// <summary>
??? /// 復選框改變時的操作
??? /// </summary>
??? /// <param name="sender"></param>
??? /// <param name="e"></param>
??? protected void tvUsers_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
??? {
??????? SetChildChecked(e.Node);
??? }

??? /// <summary>

??? /// 根據父節點情況來選擇子節點

??? /// </summary>

??? /// <param name="parentNode"></param>

??? private void SetChildChecked(TreeNode parentNode)
??? {
??????? foreach (TreeNode node in parentNode.ChildNodes)
??????? {
??????????? node.Checked = parentNode.Checked;
??????????? if (node.ChildNodes.Count > 0)
??????????? {
??????????????? SetChildChecked(node);
??????????? }
??????? }
??? }
??? #endregion

總結

以上是生活随笔為你收集整理的我刚做的一个TreeView的CheckBox进行选中插入数据库,从数据库中读取数据后让CheckBox勾选的代码!...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。