319 lines
10 KiB
Plaintext
319 lines
10 KiB
Plaintext
using System;
|
||
using System.Data;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using ZhangPu.Gov.Logical;
|
||
using Tracen.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;
|
||
|
||
DataDetail.Visible = true;
|
||
txtName.Text = _logic.GetAuthority.auth_name;
|
||
txtDesc.Text = _logic.GetAuthority.auth_desc;
|
||
txtLink.Text = _logic.GetAuthority.auth_link;
|
||
chkPublic.Checked = _logic.GetAuthority.auth_public;
|
||
chkPublicInfo.Checked = _logic.GetAuthority.auth_publicInfomation;
|
||
//上级为公共信息,则下级也必须是
|
||
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;
|
||
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_public = chkPublic.Checked;
|
||
_logic.GetAuthority.auth_publicInfomation =chkPublicInfo.Checked ;
|
||
_logic.GetAuthority.auth_marqueen = chkAlert.Checked;
|
||
|
||
}
|
||
|
||
private void chgOperTxt(bool addNew)
|
||
{
|
||
DataDetail.Visible = true;
|
||
lbEdit.Text = addNew ? "增加新记录" : "修改现有记录";
|
||
btnSubmit.Enabled = true;
|
||
}
|
||
|
||
private void ClearDetail()
|
||
{
|
||
txtName.Text = "";
|
||
txtDesc.Text = "";
|
||
txtLink.Text ="";
|
||
chkPublic.Checked = false;
|
||
chkPublicInfo.Checked = false;
|
||
DataDetail.Visible = 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["pk_authority"].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;
|
||
chkPublic.Checked = true;
|
||
chkPublic.Enabled = false;
|
||
break;
|
||
|
||
case false:
|
||
txtLink.Text = _logic.GetAuthority.auth_link;
|
||
txtLink.Enabled = false;
|
||
chkPublic.Checked = false;
|
||
chkPublic.Enabled = true;
|
||
break;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
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);
|
||
}
|
||
}
|
||
}
|
||
} |