320 lines
8.9 KiB
C#
320 lines
8.9 KiB
C#
using System;
|
||
using System.Data;
|
||
using System.IO;
|
||
using System.Text;
|
||
using System.Web;
|
||
using System.Web.UI;
|
||
using System.Web.UI.WebControls;
|
||
using DeiNiu.wms.Logical;
|
||
using DeiNiu.Utils;
|
||
|
||
public partial class LessonView : PageBase
|
||
{
|
||
private Llesson _logic;
|
||
protected void Page_Init()
|
||
{
|
||
|
||
PostBackTrigger trigger = new PostBackTrigger();
|
||
trigger.ControlID = Button1.UniqueID;
|
||
|
||
// (Button)pnGridViewProcess.FindControl("btnExcel")).UniqueID.ToString();
|
||
|
||
// (UpdatePanel)(Page.Controls[0].FindControl("UpdatePanel1")).Triggers.Add(trigger);
|
||
|
||
((UpdatePanel)Master.FindControl("UpdatePanel1")).Triggers.Add(trigger);
|
||
|
||
}
|
||
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
|
||
|
||
if (!IsPostBack)
|
||
{
|
||
_logic = new Llesson();
|
||
Databound();
|
||
}
|
||
SessionSeting();
|
||
}
|
||
|
||
/***************************************** private methods ******************************************/
|
||
|
||
/// <summary>
|
||
/// bound the query list.
|
||
/// </summary>
|
||
private void Databound()
|
||
{
|
||
//绑定课程分类
|
||
DataView dvDept = new DataView(_logic.GetAllActivedCategories());
|
||
|
||
|
||
TreeDept.SelectedNode.ChildNodes.Clear();
|
||
BindTree(TreeDept.SelectedNode.Value, TreeDept.SelectedNode, dvDept);
|
||
//绑定课程分类树选中的课程分类下的所有课程数据
|
||
DataView dv = TreeDept.SelectedValue != "0" ? new DataView(_logic.GetLessonsByCat(Convert.ToInt32(TreeDept.SelectedValue))) : new DataView(_logic.GetAllActiveData().Tables[0]);
|
||
GridView1.DataSource = dv;
|
||
GridView1.SelectedIndex = -1;
|
||
GridView1.DataBind();
|
||
|
||
|
||
|
||
UpdateSession();
|
||
// btnSubmit.Enabled = false;
|
||
ClearDetail();
|
||
}
|
||
|
||
private void SessionSeting()
|
||
{
|
||
if (IsPostBack)
|
||
{
|
||
_logic = (Llesson)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;
|
||
txtName.Text = _logic.GetLesson.le_name;
|
||
txtDesc.Text = _logic.GetLesson.le_desc;
|
||
txtLocation.Text = _logic.GetLesson.le_location;
|
||
// txtMaster.Text = _logic.GetLesson.le_master;
|
||
txtXunFen.Text = _logic.GetLesson.le_xuefen.ToString();
|
||
txtTrainer.Text = _logic.GetLesson.le_trainer;
|
||
// txtPasswd.Text = _logic.GetEmployee.em_passwd;
|
||
txtStartDate.Text = _logic.GetLesson.le_startdate;
|
||
txtEndDate.Text = _logic.GetLesson.le_enddate;
|
||
|
||
|
||
|
||
}
|
||
|
||
/************************************** protected methods (event listeners) ********************************/
|
||
|
||
protected void btnAddnew_Click(object sender, EventArgs e)
|
||
{
|
||
chgOperTxt(true);
|
||
_logic.Initialize();
|
||
ClearDetail();
|
||
// 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.GetLesson.ID > 0 ? _logic.GetLesson.Update() : _logic.GetLesson.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.GetLesson.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.GetLesson.ID > 0)
|
||
//{
|
||
// _logic.GetLesson.last_modified = DateTime.Now.ToString();
|
||
|
||
//}
|
||
_logic.GetLesson.le_category = Convert.ToInt32(TreeDept.SelectedValue);
|
||
|
||
|
||
_logic.GetLesson.le_name = txtName.Text ;
|
||
_logic.GetLesson.le_desc =txtDesc.Text ;
|
||
_logic.GetLesson.le_location =txtLocation.Text ;
|
||
// txtMaster.Text = _logic.GetLesson.le_master;
|
||
_logic.GetLesson.le_xuefen = Convert.ToInt32(txtXunFen.Text);
|
||
_logic.GetLesson.le_trainer = txtTrainer.Text;
|
||
_logic.GetLesson.le_startdate = txtStartDate.Text;
|
||
_logic.GetLesson.le_enddate =txtEndDate.Text ;
|
||
|
||
}
|
||
|
||
private void chgOperTxt(bool addNew)
|
||
{
|
||
|
||
}
|
||
|
||
private void ClearDetail()
|
||
{
|
||
txtName.Text = "";
|
||
txtDesc.Text = "";
|
||
txtLocation.Text = "";
|
||
// txtMaster.Text = _logic.GetLesson.le_master;
|
||
txtXunFen.Text = "";
|
||
txtTrainer.Text = "";
|
||
// txtPasswd.Text = _logic.GetEmployee.em_passwd;
|
||
txtStartDate.Text = "";
|
||
txtEndDate.Text = "";
|
||
|
||
}
|
||
|
||
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));
|
||
}
|
||
DetailDataBind();
|
||
}
|
||
|
||
|
||
|
||
public void BindTree(string id, TreeNode pNode, DataView dv)
|
||
{
|
||
|
||
|
||
dv.RowFilter = "lc_uplevel = '" + id + "'";
|
||
foreach (DataRowView row in dv)
|
||
{
|
||
TreeNode node = new TreeNode();
|
||
node.Text = row["lc_name"].ToString();
|
||
node.Value = row["ID"].ToString();
|
||
if (pNode == null)
|
||
//说明是根节点
|
||
{
|
||
|
||
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().Tables[0]);
|
||
if(TreeDept.SelectedValue !="0")
|
||
dv.RowFilter = "le_category = '" + TreeDept.SelectedValue + "'";
|
||
GridView1.DataSource = dv;
|
||
GridView1.DataBind();
|
||
ClearDetail();
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
//如果没有下面方法会报错类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内
|
||
public override void VerifyRenderingInServerForm(Control control)
|
||
{
|
||
}
|
||
protected void Excel_Click(object sender, EventArgs e)
|
||
{
|
||
|
||
Master.ScriptMgr.RegisterPostBackControl(this.Button1);
|
||
GridView1.AllowPaging = false;
|
||
GridView1.Columns[GridView1.Columns.Count-1].Visible = false;
|
||
Databound();
|
||
Export("application/ms-excel", "培训名单.xls");
|
||
GridView1.AllowPaging = false;
|
||
GridView1.Columns[GridView1.Columns.Count - 1].Visible = true;
|
||
Databound();
|
||
}
|
||
|
||
private void Export(string FileType, string FileName)
|
||
{
|
||
|
||
Response.Charset = "GB2312";
|
||
Response.ContentEncoding = Encoding.UTF7;
|
||
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
|
||
Response.ContentType = FileType;
|
||
EnableViewState = false;
|
||
StringWriter tw = new StringWriter();
|
||
HtmlTextWriter hw = new HtmlTextWriter(tw);
|
||
GridView1.RenderControl(hw);
|
||
Response.Write(tw.ToString());
|
||
Response.End();
|
||
|
||
}
|
||
|
||
} |