350 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			350 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C#
		
	
	
	
| using System;
 | ||
| using System.Data;
 | ||
| using System.Web.UI;
 | ||
| using System.Web.UI.WebControls;
 | ||
| using DeiNiu.wms.Logical;
 | ||
| using DeiNiu.Utils;
 | ||
| 
 | ||
| namespace ajax.Dict
 | ||
| {
 | ||
|     public partial class AuthorityMain :PageBase
 | ||
|     {
 | ||
|         private LAuthority _logic;
 | ||
|         protected void Page_Load(object sender, EventArgs e)
 | ||
|         {
 | ||
|   
 | ||
|             if (!IsPostBack)
 | ||
|             {
 | ||
|                 _logic = new LAuthority();
 | ||
|                 Databound();
 | ||
|             }
 | ||
|             SessionSeting();
 | ||
|         }
 | ||
|  
 | ||
|         /*****************************************   private methods   ******************************************/
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// bound the query list.
 | ||
|         /// </summary>
 | ||
|         private void Databound()
 | ||
|         {
 | ||
|          
 | ||
|         
 | ||
|             //装载选定部门节点的部门数据
 | ||
|             DataView dv = new DataView(_logic.getAllActiveData().Tables[0]);
 | ||
| 
 | ||
|             if (TreeAuth.SelectedNode != null)
 | ||
|             {
 | ||
|                 TreeAuth.SelectedNode.ChildNodes.Clear();
 | ||
|                 BindTree(TreeAuth.SelectedNode.Value, TreeAuth.SelectedNode, dv);
 | ||
|           
 | ||
|             //绑定树列表里选中的部门下的所有部门数据
 | ||
|             dv.RowFilter = "auth_uplevel = '" + TreeAuth.SelectedValue + "'"; 
 | ||
|             }
 | ||
|             GridView1.DataSource = dv;
 | ||
|             GridView1.DataBind();
 | ||
|             UpdateSession();
 | ||
|             ClearDetail();
 | ||
|         }
 | ||
| 
 | ||
|         private void SessionSeting()
 | ||
|         {
 | ||
|             if (IsPostBack)
 | ||
|             {
 | ||
|                 _logic = (LAuthority)Session[appScope.PagelevelObj]; 
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         private void UpdateSession()
 | ||
|         {
 | ||
|            Session[appScope.PagelevelObj]  = _logic;
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// set data from shift object to page
 | ||
|         /// </summary>
 | ||
|         private void DetailDataBind()
 | ||
|         {
 | ||
|             //公共信息不可以有url,必须为public
 | ||
|             LAuthority ltmp = new LAuthority();
 | ||
|             ltmp.Initialize(Convert.ToInt32(TreeAuth.SelectedValue)); 
 | ||
|             chkPublic.Enabled = !ltmp.GetAuthority.auth_publicInfomation;
 | ||
|             chkPublicInfo.Enabled = !ltmp.GetAuthority.auth_publicInfomation;
 | ||
|             chkAlert.Enabled =!chkPublicInfo.Enabled;  //跑马灯的上级必须是公共信息
 | ||
|             if (chkPublicInfo.Checked)
 | ||
|             {
 | ||
|                 txtLink.Enabled = false;
 | ||
|                 txtFormClass.Enabled = false;
 | ||
|             }
 | ||
|             DataDetail.Visible = true;
 | ||
|             txtName.Text = _logic.GetAuthority.auth_name;
 | ||
|             txtDesc.Text = _logic.GetAuthority.auth_desc;
 | ||
|             txtLink.Text = _logic.GetAuthority.auth_link;
 | ||
|             txtFormClass.Text = _logic.GetAuthority.auth_class;
 | ||
|             chkPublic.Checked = _logic.GetAuthority.auth_public;
 | ||
|             chkPublicInfo.Checked = _logic.GetAuthority.auth_publicInfomation;
 | ||
|             chkSpecial.Checked = _logic.GetAuthority.auth_special;
 | ||
|             txtOrder.Text = _logic.GetAuthority.auth_order + "";
 | ||
|             //上级为公共信息,则下级也必须是
 | ||
|            if(ltmp.GetAuthority.auth_publicInfomation) 
 | ||
|             chkPublicInfo.Checked = ltmp.GetAuthority.auth_publicInfomation;
 | ||
|         if (ltmp.GetAuthority.auth_public) 
 | ||
|             chkPublic.Checked = ltmp.GetAuthority.auth_public;
 | ||
|             chkAlert.Checked = _logic.GetAuthority.auth_marqueen;
 | ||
|             chkPublic.Checked = _logic.GetAuthority.auth_public;
 | ||
|             chkEnable.Checked = _logic.GetAuthority.dr;
 | ||
|              ltmp = null;
 | ||
|          
 | ||
| //    chkStatus.Checked = _logic.GetRole.dr;
 | ||
|         }
 | ||
| 
 | ||
|         /************************************** protected methods (event listeners) ********************************/
 | ||
| 
 | ||
|         protected void btnAddnew_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             chgOperTxt(true);
 | ||
|             _logic.Initialize();
 | ||
|             GridView1.SelectedIndex = -1;
 | ||
|             Databound();
 | ||
|             DetailDataBind();
 | ||
|        
 | ||
| 
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         protected void DetailsView1_PageIndexChanging(object sender, DetailsViewPageEventArgs e)
 | ||
|         {
 | ||
|         }
 | ||
| 
 | ||
|         protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
 | ||
|         {
 | ||
|             chgOperTxt(false);
 | ||
|             if (GridView1.DataKeys != null)
 | ||
|             {
 | ||
|                 string id = GridView1.DataKeys[e.NewEditIndex].Value.ToString();
 | ||
|                 _logic.Initialize(int.Parse(id));
 | ||
|             }
 | ||
|             Databound();
 | ||
|             DetailDataBind();
 | ||
|         }
 | ||
| 
 | ||
|         protected void btnSubmit_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             SetDataBack();
 | ||
|             //shifts id eq 0 means this is new one,to add; else an old one, to update
 | ||
|     
 | ||
|             int oper = 0;
 | ||
|             oper = _logic.GetAuthority.ID > 0 ? _logic.GetAuthority.Update() : _logic.GetAuthority.Add();
 | ||
|             ClearDetail();
 | ||
|             Databound();
 | ||
|             lbEdit.Text = "";
 | ||
|         }
 | ||
| 
 | ||
|         protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
 | ||
|         {
 | ||
|         
 | ||
|             if (GridView1 != null)
 | ||
|             {
 | ||
|                 if (GridView1.DataKeys != null)
 | ||
|                 {
 | ||
|                     string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
 | ||
|                     _logic.Initialize(int.Parse(id));
 | ||
|                 }
 | ||
|             }
 | ||
|             /*
 | ||
|         _logic.GetRole.dr = false;
 | ||
|         _logic.GetRole.Update();
 | ||
|         
 | ||
|        */
 | ||
|             _logic.GetAuthority.Delete();
 | ||
|             ClearDetail();
 | ||
|             Databound();
 | ||
|         }
 | ||
| 
 | ||
|         protected void GridView1_PageIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|         }
 | ||
| 
 | ||
|         protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
 | ||
|         {
 | ||
|             GridView1.PageIndex = e.NewPageIndex;
 | ||
|             Databound();
 | ||
| 
 | ||
|             //GridView1.DataSource = shiftLgc.getAllShifts().Tables[0];
 | ||
|             //     GridView1.DataBind();    
 | ||
|         }
 | ||
| 
 | ||
|         protected void GridView1_DataBinding(object sender, EventArgs e)
 | ||
|         {
 | ||
|         }
 | ||
| 
 | ||
|     
 | ||
|         protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
 | ||
|         {
 | ||
|         }
 | ||
| 
 | ||
|         //reset the page
 | ||
|         protected void btnCancel_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             _logic.Initialize();
 | ||
|             Page_Load(this, e);
 | ||
|         }
 | ||
| 
 | ||
|         /***************************************** internal methods ********************************************/
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// set data from page to shift object
 | ||
|         /// </summary>
 | ||
|         private void SetDataBack()
 | ||
|         {
 | ||
|             //    _logic.GetRole.operater = Session["CurrentUserID"].ToString();  todo: write a public method to handle operater,createtime,lastmodfied ... log info.
 | ||
| 
 | ||
|             if (!(_logic.GetAuthority.ID > 0)) 
 | ||
|             {
 | ||
|                // _logic.GetAuthority.lastmodified = DateTime.Now.ToString();
 | ||
|                 _logic.GetAuthority.auth_uplevel = Convert.ToInt32(TreeAuth.SelectedValue);
 | ||
|             }
 | ||
| 
 | ||
|             _logic.GetAuthority.auth_name = txtName.Text;
 | ||
|             _logic.GetAuthority.auth_desc = txtDesc.Text; 
 | ||
|             _logic.GetAuthority.auth_link = txtLink.Text;
 | ||
|             _logic.GetAuthority.auth_class = txtFormClass.Text;
 | ||
|             _logic.GetAuthority.auth_public = chkPublic.Checked;
 | ||
|             _logic.GetAuthority.auth_publicInfomation =chkPublicInfo.Checked  ;
 | ||
|             _logic.GetAuthority.auth_marqueen =  chkAlert.Checked;             
 | ||
|             _logic.GetAuthority.auth_special = chkSpecial.Checked;
 | ||
|             _logic.GetAuthority.auth_order = Convert.ToInt16( txtOrder.Text.Trim());
 | ||
|             // _logic.GetAuthority.dr = chkEnable.Checked;
 | ||
| 
 | ||
| 
 | ||
|         }
 | ||
| 
 | ||
|         private void chgOperTxt(bool addNew)
 | ||
|         {
 | ||
|             DataDetail.Visible = true;
 | ||
|             lbEdit.Text = addNew ? "增加新记录" : "修改现有记录";
 | ||
|             btnSubmit.Enabled = true;
 | ||
|         }
 | ||
| 
 | ||
|         private void ClearDetail()
 | ||
|         {
 | ||
|             txtName.Text = ""; 
 | ||
|             txtDesc.Text = "";
 | ||
|             txtLink.Text ="";
 | ||
|             txtLink.Text = "";
 | ||
|             chkPublic.Checked = false;
 | ||
|             chkPublicInfo.Checked = false;
 | ||
|             DataDetail.Visible = false;
 | ||
|             chkSpecial.Checked = false;
 | ||
|         }
 | ||
| 
 | ||
|         protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             chgOperTxt(false);
 | ||
|             if (GridView1.DataKeys != null)
 | ||
|             {
 | ||
|                 string id = GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString();
 | ||
|                 _logic.Initialize(int.Parse(id));
 | ||
|             }
 | ||
|             Databound();
 | ||
|             DetailDataBind();
 | ||
|         }
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
|         public void BindTree(string id, TreeNode pNode, DataView dv)
 | ||
|         {
 | ||
| 
 | ||
|             dv.RowFilter = "auth_uplevel = '" + id + "'";
 | ||
|             foreach (DataRowView row in dv)
 | ||
|             {
 | ||
|                 TreeNode node = new TreeNode();
 | ||
|                 node.Text = row["auth_name"].ToString();
 | ||
|                 node.Value = row["ID"].ToString();
 | ||
|                 if (pNode == null)
 | ||
|                     //说明是根节点
 | ||
|                 {
 | ||
|             
 | ||
|                     TreeAuth.Nodes.Add(node);
 | ||
|                     node.Expanded = false;
 | ||
|       
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     pNode.ChildNodes.Add(node);
 | ||
|                     node.Expanded = false;
 | ||
|                 
 | ||
|                 }
 | ||
|                 BindTree(node.Value, node, new DataView(dv.Table));
 | ||
| 
 | ||
|             }
 | ||
|         }
 | ||
|    
 | ||
|         protected void TreeAuth_SelectedNodeChanged1(object sender, EventArgs e)
 | ||
|         {
 | ||
|             GridView1.SelectedIndex = -1;
 | ||
|             DataView dv = new DataView(_logic.getAllActiveData().Tables[0]);
 | ||
|             dv.RowFilter = "auth_uplevel = '" + TreeAuth.SelectedValue + "'";
 | ||
|             GridView1.DataSource = dv;
 | ||
|             GridView1.DataBind(); 
 | ||
|             ClearDetail();
 | ||
|             if(TreeAuth.SelectedNode.ChildNodes.Count>0)TreeAuth.SelectedNode.Expand();
 | ||
|         }
 | ||
| 
 | ||
|         protected void chkPublicInfo_CheckedChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             switch (chkPublicInfo.Checked)
 | ||
|             {
 | ||
|                 case true:
 | ||
|                     txtLink.Text = string.Empty;
 | ||
|                     txtLink.Enabled = false;
 | ||
|                     txtFormClass.Text = string.Empty;
 | ||
|                     txtFormClass.Enabled = false;
 | ||
|                     chkPublic.Checked = true;
 | ||
|                     chkPublic.Enabled = false;
 | ||
|                     break;
 | ||
| 
 | ||
|                 case false:
 | ||
|                     txtLink.Text = _logic.GetAuthority.auth_link;
 | ||
|                     txtFormClass.Text = _logic.GetAuthority.auth_class;
 | ||
|                     txtFormClass.Enabled = true;
 | ||
|                     txtLink.Enabled = true ;
 | ||
|                     chkPublic.Checked = false;
 | ||
|                     chkPublic.Enabled = true;
 | ||
|                     break;
 | ||
| 
 | ||
|             }
 | ||
|         
 | ||
|         }
 | ||
| 
 | ||
|         protected void chkSpecial_CheckedChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|              
 | ||
| 
 | ||
|         }
 | ||
|   
 | ||
| 
 | ||
|         protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
 | ||
|         {
 | ||
|     
 | ||
|             CheckBox chk;
 | ||
|             if (e.Row.RowType == DataControlRowType.DataRow)
 | ||
|             {
 | ||
|                 chk = new CheckBox();
 | ||
|                 chk.Text = "";
 | ||
|                 chk.Enabled = false;
 | ||
|                 chk.Checked = e.Row.Cells[4].Text.Trim().Equals("True");
 | ||
|                 e.Row.Cells[4].Controls.Add(chk);
 | ||
| 
 | ||
| 
 | ||
|                 chk = new CheckBox();
 | ||
|                 chk.Text = "";
 | ||
|                 chk.Enabled = false;
 | ||
|                 chk.Checked = e.Row.Cells[5].Text.Trim().Equals("True");
 | ||
|                 e.Row.Cells[5].Controls.Add(chk);
 | ||
| 
 | ||
| 
 | ||
|             }
 | ||
|         }
 | ||
|     }
 | ||
| } |