📄 newdocument.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using UDS.Components;
using System.Data.SqlClient;
namespace UDS.SubModule.UnitiveDocument.DocumentFlow
{
/// <summary>
/// NewDocument 的摘要说明。
/// </summary>
public class NewDocument : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Table ht;
protected System.Web.UI.WebControls.TextBox TextBox1;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Button cmdDelete;
protected System.Web.UI.WebControls.Button cmdReturn;
protected System.Web.UI.WebControls.Button cmdSend;
protected System.Web.UI.WebControls.Button cmdSave;
private long StepID;
private long FlowID;
private long FieldNum=0;
private long DocID;
private bool bEditMode;
private string UserName;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.TextBox TextBox2;
private long ProjectID=-1;
protected System.Web.UI.HtmlControls.HtmlInputHidden PID;
protected System.Web.UI.HtmlControls.HtmlSelect ddlProject;
private ArrayList al = new ArrayList();
private void Page_Load(object sender, System.EventArgs e)
{
FlowID = Int32.Parse(Request.QueryString["FlowID"]==null?"0":Request.QueryString["FlowID"].ToString());
DocID = Int32.Parse(Request.QueryString["DocID"]==null?"0":Request.QueryString["DocID"].ToString());
UserName = Request.Cookies["UserName"].Value.ToString();
//动态添加控件
//if(!Page.IsPostBack)
Bind();
InitControl(DocID);
}
private void Bind()
{
UDS.Components.DocumentFlow df =new UDS.Components.DocumentFlow();
if(DocID>0)
{
//读取稿件内容
FlowID = df.GetDocumentFlowID(DocID);
StepID = df.GetDocumentStepID(DocID);
ProjectID = 0;
cmdSend.Enabled = true;
cmdDelete.Enabled = true;
bEditMode = true;
if(df.IsProject(UserName,DocID))
{
ProjectID = Int32.Parse(PID.Value);
if(!Page.IsPostBack)
{
DataTable dt;
ddlProject.Visible = true;
ddlProject.Items.Clear();
df.GetProject(UserName,out dt);
ddlProject.DataSource = dt.DefaultView;
ddlProject.DataTextField = "ClassName";
ddlProject.DataValueField = "ClassID";
ddlProject.DataBind();
// for(int i=0;i<ddlProject.Items.Count;i++)
// {
// if(ddlProject.Items[i].Value.ToString()==UDS.Components.DocumentFlow.GetDocumentProjectID(DocID).ToString())
// ddlProject.SelectedIndex = i;
// }
if(ddlProject.Items.Count>0)
{
PID.Value = ddlProject.Items[0].Value.ToString();
}
}
}
else
{
// StepID = 1;
// cmdSend.Enabled = false;
// cmdDelete.Enabled = false;
// bEditMode = false;
ddlProject.Visible = false;
ddlProject.EnableViewState = false;
}
}
else
{
StepID = 1;
cmdSend.Enabled = false;
cmdDelete.Enabled = false;
bEditMode = false;
ddlProject.EnableViewState = false;
ddlProject.Visible = false;
}
df = null;
}
private void InitControl(long DocID)
{
UDS.Components.DocumentFlow df = new UDS.Components.DocumentFlow();
SqlDataReader dr; //存放人物的数据
DataTable dt = null;
df.GetStyleDescription(FlowID,0,out dr);
if(DocID>0)
df.GetDocumentInfo(DocID,out dt);
ht.Style["Left"]="1px";
ht.Style["Top"]="1px";
al.Clear();
AddHeadlin();
while(dr.Read())
{
TextBox txt = new TextBox();
txt.ID ="txt" + dr["Field_Name"].ToString();
al.Add(dr["Field_Name"].ToString());
if(dr["MultiLine"].ToString()!="False")
{
txt.TextMode = TextBoxMode.MultiLine;
}
txt.Height = Int32.Parse( dr["Height"].ToString());
txt.Width = Int32.Parse( dr["Width"].ToString());
txt.CssClass = "Input3";
if(DocID>0)
{
if(dt.Rows.Count >0)
txt.Text = dt.Rows[0][dr["Field_Name"].ToString()].ToString();
else
txt.Text ="不存在";
}
else
txt.Text ="";
TableRow tr = new TableRow();
TableCell tl = new TableCell();
TableCell tc = new TableCell();
Literal lt = new Literal();
lt.Text = dr["Example"].ToString();
tc.Controls.Add(txt);
if(FieldNum==0||dr["judged"].ToString()=="True")
{
RequiredFieldValidator rfv = new RequiredFieldValidator();
rfv.ControlToValidate = txt.ID;
rfv.ErrorMessage = "(*)";
rfv.Display = ValidatorDisplay.Dynamic;
rfv.EnableClientScript = true;
tc.Controls.Add(rfv);
}
if(dr["judged"].ToString()=="True")
{
RegularExpressionValidator rev = new RegularExpressionValidator();
rev.ErrorMessage = "填写数字";
rev.ControlToValidate = txt.ID;
rev.ValidationExpression = @"\d+";
rev.Display = ValidatorDisplay.Dynamic;
tc.Controls.Add(rev);
}
tc.Controls.Add(lt);
tl.Text = dr["Field_Description"].ToString() + ":";
if(dr["MultiLine"].ToString()!="False")
tl.VerticalAlign = VerticalAlign.Top;
else
tl.VerticalAlign = VerticalAlign.Middle;
tl.HorizontalAlign = HorizontalAlign.Right;
tr.Cells.Add(tl);
tr.Cells.Add(tc);
ht.Rows.Add(tr);
tc = null;
tl = null;
tr = null;
FieldNum +=1;
}
dr.Close();
dr = null;
if(DocID>0)
AddAttach(DocID);
AddAttachControl();
AddProjectControl();
AddControl();
//=============================//
// 添加批注
//=============================//
DataTable dtPostil;
df.GetDocumentPostil(DocID,out dtPostil);
if(dtPostil!=null)
{
if(dtPostil.Rows.Count>0)
{
Table tb = new Table();
tb.CssClass ="GbText";
tb.Width = Unit.Percentage(98);
AddRow(tb,"审批意见");
AddPostitleHead(tb);
for(int i=0;i<dtPostil.Rows.Count;i++)
{
AddRow(tb,dtPostil.Rows[i]["RealName"].ToString(),dtPostil.Rows[i]["Postil_Date"].ToString(),dtPostil.Rows[i]["Postil_Content"].ToString(),Int32.Parse(dtPostil.Rows[i]["Postil_Type"].ToString() ),dtPostil.Rows[i]["FileName"].ToString(),dtPostil.Rows[i]["FileVisualPath"].ToString(),dtPostil.Rows[i]["UsedTime"].ToString());
}
AddTable(ht,tb);
}
}
dtPostil = null;
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.cmdSave.Click += new System.EventHandler(this.cmdSave_Click);
this.cmdSend.Click += new System.EventHandler(this.cmdSend_Click);
this.cmdDelete.Click += new System.EventHandler(this.cmdDelete_Click);
this.cmdReturn.Click += new System.EventHandler(this.cmdReturn_Click);
this.PID.ServerChange += new System.EventHandler(this.PID_ServerChange);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void AddTable(Table tab,Table tb)
{
TableRow tr = new TableRow();
TableCell tl = new TableCell();
tl.ColumnSpan = 2;
tl.Width = Unit.Percentage(100);
tl.HorizontalAlign = HorizontalAlign.Center;
//tl.Attributes["background"]="../../../Images/treetopbg.jpg";
tl.Controls.Add(tb);
//tl.BackColor = Color.FromArgb(0xff,0xff,0xef);
tr.Height = 28;
tr.Cells.Add(tl);
tab.Rows.Add(tr);
tl = null;
tr = null;
}
private void AddRow(Table tab,string Caption)
{
TableRow tr = new TableRow();
TableCell tl = new TableCell();
tl.Text = Caption;
tl.ColumnSpan = 6 ;
tl.Width = Unit.Percentage(100);
tl.HorizontalAlign = HorizontalAlign.Center;
tl.Attributes["background"]="../../../Images/treetopbg.jpg";
//tl.BackColor = Color.FromArgb(0xff,0xff,0xef);
tr.Height = 28;
tr.Cells.Add(tl);
tab.Rows.Add(tr);
tl = null;
tr = null;
}
private void AddRow(Table tab,string Postiler,string PostilTime,string PostilContent,int PostilType,string FileName,string FileVisualPath,string UsedTime)
{
TableRow tr = new TableRow();
TableCell tdPotiler = new TableCell();
TableCell tdPostilTime = new TableCell();
TableCell tdPotilType = new TableCell();
TableCell tdPotilContent = new TableCell();
TableCell tdAttachFiles = new TableCell();
TableCell tdTime = new TableCell();
tdPotiler.Text = Postiler;
tdPotiler.HorizontalAlign = HorizontalAlign.Center;
tdPotiler.Width = Unit.Percentage(20);
tdPostilTime.Text = PostilTime;
tdPostilTime.HorizontalAlign = HorizontalAlign.Center;
tdPostilTime.Width = Unit.Percentage(20);
switch(PostilType)
{
case 1:
tdPotilType.Text = "同意";
break;
case 2:
tdPotilType.Text = "拒绝";
break;
case 3:
tdPotilType.Text = "完成";
break;
case 4:
tdPotilType.Text = "回退";
break;
default:
break;
}
tdPotilType.HorizontalAlign = HorizontalAlign.Center;
tdPotilType.Width = Unit.Percentage(10);
tdPotilContent.Text = PostilContent;
tdPotilContent.HorizontalAlign = HorizontalAlign.Left;
tdPotilContent.Width = Unit.Percentage(30);
tr.Height =22;
tr.BackColor = Color.FromArgb(0xe8,0xf4,0xff);
string FilePath = FileVisualPath + FileName;
tdAttachFiles.Text = "<a href='" +"." + FilePath.Replace("\\","/") +"' target='_blank'>" + FileName + "</a>";
tdAttachFiles.HorizontalAlign = HorizontalAlign.Center ;
tdAttachFiles.Width = Unit.Percentage(10);
tdTime.Text = UsedTime;
tdTime.HorizontalAlign = HorizontalAlign.Center ;
tdTime.Width = Unit.Percentage(10);
tr.Cells.Add(tdPotiler);
tr.Cells.Add(tdPostilTime);
tr.Cells.Add(tdPotilType);
tr.Cells.Add(tdPotilContent);
tr.Cells.Add(tdAttachFiles);
tr.Cells.Add(tdTime);
tab.Rows.Add(tr);
tdPotiler = null;
tdPostilTime = null;
tdPotilType = null;
tdPotilContent = null;
tdAttachFiles = null;
tdTime = null;
tr = null;
}
private void AddPostitleHead(Table tab)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -