361 lines
11 KiB
Plaintext
361 lines
11 KiB
Plaintext
|
using System;
|
|||
|
using System.Data;
|
|||
|
using System.Web.UI;
|
|||
|
using System.Web.UI.WebControls;
|
|||
|
using ZhangPu.Gov.Logical;
|
|||
|
using Tracen.Utils;
|
|||
|
|
|||
|
public partial class DeptMain : PageBase
|
|||
|
{
|
|||
|
private LDepartment _logic;
|
|||
|
protected void Page_Load(object sender, EventArgs e)
|
|||
|
{
|
|||
|
|
|||
|
if (!IsPostBack)
|
|||
|
{
|
|||
|
_logic = new LDepartment();
|
|||
|
Databound();
|
|||
|
}
|
|||
|
SessionSeting();
|
|||
|
}
|
|||
|
|
|||
|
/***************************************** private methods ******************************************/
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// bound the query list.
|
|||
|
/// </summary>
|
|||
|
private void Databound()
|
|||
|
{
|
|||
|
//<2F><EFBFBD><F3B6A8B2><EFBFBD><EFBFBD>б<EFBFBD>
|
|||
|
drplstDept.DataSource = _logic.GetAllActiveData();
|
|||
|
drplstDept.DataTextField = "dep_name";
|
|||
|
drplstDept.DataValueField = "pk_department";
|
|||
|
drplstDept.DataBind();
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
drplstDept.Items.Insert(0, (new ListItem("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "0")));
|
|||
|
drplstDept.SelectedItem.Selected = false;
|
|||
|
drplstDept.Items.FindByText("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>").Selected = true;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//<2F><EFBFBD><F3B6A8B2><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD>б<EFBFBD>
|
|||
|
DropDownList1.DataSource = _logic.GetEmployees();
|
|||
|
DropDownList1.DataTextField = "em_name";
|
|||
|
DropDownList1.DataValueField = "pk_employee";
|
|||
|
DropDownList1.DataBind();
|
|||
|
DropDownList1.Items.Insert(0,(new ListItem("<22><>ѡ<EFBFBD><D1A1>...","0")));
|
|||
|
DropDownList1.SelectedItem.Selected = false;
|
|||
|
DropDownList1.Items.FindByText("<22><>ѡ<EFBFBD><D1A1>...").Selected = true;
|
|||
|
//װ<><D7B0>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD>Žڵ<C5BD><DAB5>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView dv = new DataView(_logic.GetAllActiveData());
|
|||
|
string selectedValue = TreeDept.SelectedValue;
|
|||
|
TreeDept.Nodes.Clear();
|
|||
|
TreeDept.Nodes.Add(new TreeNode("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","0"));
|
|||
|
TreeDept.Nodes[0].Expanded = true;
|
|||
|
BindTree("0", TreeDept.Nodes[0], dv);
|
|||
|
// TreeDept.SelectedNode.ChildNodes.Clear();
|
|||
|
// BindTree(TreeDept.SelectedValue, TreeDept.SelectedNode, dv);
|
|||
|
// TreeDept.Nodes.AddAt(0, new TreeNode("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "0"));
|
|||
|
if (selectedValue =="0") TreeDept.Nodes[0].Selected = true;
|
|||
|
else
|
|||
|
{
|
|||
|
setTreeDeptSelected(selectedValue, TreeDept.Nodes[0]);
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ѡ<EFBFBD>еIJ<D0B5><C4B2><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD>в<EFBFBD><D0B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dv.RowFilter = "dep_mastdept = '" + selectedValue + "'";
|
|||
|
GridView1.DataSource = dv;
|
|||
|
GridView1.DataBind();
|
|||
|
UpdateSession();
|
|||
|
// btnSubmit.Enabled = false;
|
|||
|
// ClearDetail();
|
|||
|
|
|||
|
|
|||
|
drplstDept.Items.Clear();
|
|||
|
initializeDrlstDept(TreeDept.Nodes, drplstDept ,"");
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void initializeDrlstDept(TreeNodeCollection nds, DropDownList drplist, string emptyString)
|
|||
|
{
|
|||
|
|
|||
|
|
|||
|
foreach (TreeNode nd in nds)
|
|||
|
{
|
|||
|
|
|||
|
ListItem li = new ListItem(emptyString + nd.Text,nd.Value);
|
|||
|
drplist.Items.Add(li);
|
|||
|
string NextemptyString = emptyString+ "----";
|
|||
|
foreach (TreeNode nd1 in nd.ChildNodes)
|
|||
|
{
|
|||
|
li = new ListItem(NextemptyString + nd1.Text, nd1.Value);
|
|||
|
drplist.Items.Add(li);
|
|||
|
|
|||
|
if (nd1.ChildNodes.Count > 0)
|
|||
|
{
|
|||
|
NextemptyString +="----";
|
|||
|
initializeDrlstDept(nd1.ChildNodes, drplist, NextemptyString);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void setTreeDeptSelected(string toFind,TreeNode nd)
|
|||
|
{
|
|||
|
foreach (TreeNode cnd in nd.ChildNodes)
|
|||
|
{
|
|||
|
if (cnd.Value == toFind)
|
|||
|
{
|
|||
|
cnd.Selected = true;
|
|||
|
break;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
setTreeDeptSelected(toFind,cnd);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
private void SessionSeting()
|
|||
|
{
|
|||
|
if (IsPostBack)
|
|||
|
{
|
|||
|
_logic = (LDepartment)Session[appScope.PagelevelObj];
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private void UpdateSession()
|
|||
|
{
|
|||
|
Session[appScope.PagelevelObj] = _logic;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// set data from shift object to page
|
|||
|
/// </summary>
|
|||
|
private void DetailDataBind()
|
|||
|
{
|
|||
|
DataDetail.Visible = true;
|
|||
|
txtDepName.Text = _logic.GetDepartment.dep_name ;
|
|||
|
txtDepcode.Text = _logic.GetDepartment.dep_code;
|
|||
|
txtDepDesc.Text = _logic.GetDepartment.dep_desc;
|
|||
|
txtDepType.Text = _logic.GetDepartment.dep_type;
|
|||
|
DropDownList1.SelectedItem.Selected = false;
|
|||
|
if(DropDownList1.Items.FindByValue(_logic.GetDepartment.dep_manager.ToString())!=null)
|
|||
|
{
|
|||
|
DropDownList1.Items.FindByValue(_logic.GetDepartment.dep_manager.ToString()).Selected = true;
|
|||
|
}
|
|||
|
drplstDept.SelectedItem.Selected = false;
|
|||
|
if (drplstDept.Items.FindByValue(_logic.GetDepartment.dep_mastdept.ToString()) != null)
|
|||
|
{
|
|||
|
drplstDept.Items.FindByValue(_logic.GetDepartment.dep_mastdept.ToString()).Selected = true;
|
|||
|
}
|
|||
|
|
|||
|
// chkStatus.Checked = _logic.GetRole.dr;
|
|||
|
}
|
|||
|
|
|||
|
/************************************** protected methods (event listeners) ********************************/
|
|||
|
|
|||
|
protected void btnAddnew_Click(object sender, EventArgs e)
|
|||
|
{
|
|||
|
chgOperTxt(true);
|
|||
|
_logic.Initialize();
|
|||
|
DetailDataBind();
|
|||
|
GridView1.SelectedIndex = -1;
|
|||
|
Databound();
|
|||
|
drplstDept.SelectedItem.Selected = false;
|
|||
|
if (drplstDept.Items.FindByValue(TreeDept.SelectedNode.Value) != null)
|
|||
|
{
|
|||
|
drplstDept.Items.FindByValue(TreeDept.SelectedNode.Value).Selected = true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
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.GetDepartment.ID > 0 ? _logic.GetDepartment.Update() : _logic.GetDepartment.Add();
|
|||
|
ClearDetail();
|
|||
|
Databound();
|
|||
|
}
|
|||
|
|
|||
|
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.GetDepartment.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_RowDataBound(object sender, GridViewRowEventArgs e)
|
|||
|
{
|
|||
|
/*
|
|||
|
CheckBox chk;
|
|||
|
if (e.Row.RowType == DataControlRowType.DataRow)
|
|||
|
{
|
|||
|
chk = new CheckBox();
|
|||
|
chk.Text = "<22><><EFBFBD><EFBFBD>";
|
|||
|
chk.Enabled = false;
|
|||
|
chk.Checked = e.Row.Cells[3].Text.Trim().Equals("1");
|
|||
|
e.Row.Cells[3].Controls.Add(chk);
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
|
|||
|
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.GetDepartment.ID > 0 ))
|
|||
|
{
|
|||
|
_logic.GetDepartment.lastmodified = DateTime.Now.ToString();
|
|||
|
_logic.GetDepartment.dep_mastdept = Convert.ToInt32(TreeDept.SelectedValue);
|
|||
|
}
|
|||
|
|
|||
|
_logic.GetDepartment.dr = true;
|
|||
|
_logic.GetDepartment.dep_name = txtDepName.Text;
|
|||
|
_logic.GetDepartment.dep_desc = txtDepDesc.Text;
|
|||
|
_logic.GetDepartment.dep_code = txtDepcode.Text;
|
|||
|
_logic.GetDepartment.dep_type = txtDepType.Text;
|
|||
|
if (DropDownList1.SelectedItem != null ) _logic.GetDepartment.dep_manager = Convert.ToInt32(DropDownList1.SelectedValue);
|
|||
|
if (drplstDept.SelectedItem != null) _logic.GetDepartment.dep_mastdept = Convert.ToInt32(drplstDept.SelectedValue);
|
|||
|
}
|
|||
|
|
|||
|
private void chgOperTxt(bool addNew)
|
|||
|
{
|
|||
|
DataDetail.Visible = true;
|
|||
|
lbEdit.Text = addNew ? "<22><><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>¼" : "<22><EFBFBD><DEB8><EFBFBD><EFBFBD>м<EFBFBD>¼";
|
|||
|
btnSubmit.Enabled = true;
|
|||
|
}
|
|||
|
|
|||
|
private void ClearDetail()
|
|||
|
{
|
|||
|
txtDepName.Text = "";
|
|||
|
txtDepcode.Text = "";
|
|||
|
txtDepDesc.Text = "";
|
|||
|
txtDepType.Text ="";
|
|||
|
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 = "dep_mastdept = '" + id + "'";
|
|||
|
foreach (DataRowView row in dv)
|
|||
|
{
|
|||
|
TreeNode node = new TreeNode();
|
|||
|
node.Text = row["dep_name"].ToString();
|
|||
|
node.Value = row["pk_department"].ToString();
|
|||
|
if (pNode == null)
|
|||
|
//˵<><CBB5><EFBFBD>Ǹ<EFBFBD><C7B8>ڵ<EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
TreeDept.Nodes.Add(node);
|
|||
|
node.Expanded = true;
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
pNode.ChildNodes.Add(node);
|
|||
|
node.Expanded = true;
|
|||
|
|
|||
|
}
|
|||
|
BindTree(node.Value, node, new DataView(dv.Table));
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
protected void TreeDept_SelectedNodeChanged(object sender, EventArgs e)
|
|||
|
{
|
|||
|
GridView1.SelectedIndex = -1;
|
|||
|
DataView dv = new DataView(_logic.GetAllActiveData());
|
|||
|
dv.RowFilter = "dep_mastdept = '" + TreeDept.SelectedValue + "'";
|
|||
|
GridView1.DataSource = dv;
|
|||
|
GridView1.DataBind();
|
|||
|
ClearDetail();
|
|||
|
}
|
|||
|
}
|