WorkItemGridItem.cs
资源名称:H3_OA.rar [点击查看]
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:4k
源码类别:
OA系统
开发平台:
C#
- using System;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.ComponentModel;
- namespace OThinker.H3.Portal
- {
- /// <summary>
- /// Summary description for WorkItemGridItem.
- /// </summary>
- [DefaultProperty("Text"),
- ToolboxData("<{0}:WorkItemGridItem runat=server></{0}:WorkItemGridItem>")]
- public class WorkItemGridItem : System.Web.UI.WebControls.WebControl
- {
- // 设置优先级的图标
- private Image imagePriority = new Image();
- // 标题行的标题名称单元
- private HyperLink linkTitle = new HyperLink();
- // Receive Time
- private Label labelReceiveTime = new Label();
- // Workflow Full Name
- private Label labelFullName = new Label();
- // Urgency
- private Label labelUrgency = new Label();
- // Participant
- private Label labelParticipant = new Label();
- public WorkItemGridItem(
- OThinker.H3.WorkItem.WorkItemState State,
- OThinker.H3.Instance.PriorityType Priority,
- string ParticipantFullName,
- System.DateTime ReceiveTime,
- System.DateTime FinishTime,
- string Text,
- string Url,
- string InstanceInfo,
- string Urgency)
- {
- this.imagePriority.ImageUrl = "images/Priority_" + Priority + ".GIF";
- this.imagePriority.ToolTip = OThinker.H3.Instance.PriorityTypeConvertor.ToString(Priority);
- this.linkTitle.Text = Text;
- this.linkTitle.Target = WorkItemGrid.Target;
- this.linkTitle.NavigateUrl = Url;
- this.labelParticipant = new Label();
- this.labelParticipant.Text = ParticipantFullName;
- System.TimeSpan stayTime;
- if(State == OThinker.H3.WorkItem.WorkItemState.Finished)
- {
- stayTime = FinishTime.Subtract(ReceiveTime);;
- }
- else
- {
- stayTime = System.DateTime.Now.Subtract(ReceiveTime);
- }
- // 设置颜色
- if (stayTime < OThinker.H3.Server.Engine.SettingManager.WorkItemYellowWarningTimeSpan)
- {
- linkTitle.ForeColor = System.Drawing.Color.Black;
- }
- else if (stayTime < OThinker.H3.Server.Engine.SettingManager.WorkItemRedWarningTimeSpan)
- {
- linkTitle.ForeColor = System.Drawing.Color.Brown;
- }
- else
- {
- linkTitle.ForeColor = System.Drawing.Color.Red;
- }
- this.labelReceiveTime.Text = ReceiveTime.ToShortDateString();
- this.labelFullName.Text = InstanceInfo;
- this.labelUrgency.Text = Urgency;
- }
- protected override void Render(HtmlTextWriter writer)
- {
- writer.Write("<TABLE WIDTH="100%" cellpadding="0" cellspacing="0">");
- writer.Write("<TR WIDTH="100%">");
- writer.Write("<TD WIDTH="15" VALIGN="TOP">");
- this.imagePriority.RenderControl(writer);
- writer.Write("</TD>");
- writer.Write("<TD WIDTH="100%">");
- writer.Write("<TABLE WIDTH="100%" cellpadding="0" cellspacing="0">");
- writer.Write("<TR WIDTH="100%">");
- writer.Write("<TD>");
- writer.Write("<TABLE WIDTH="100%" cellpadding="0" cellspacing="0">");
- writer.Write("<TR WIDTH="100%">");
- writer.Write("<TD>");
- this.linkTitle.RenderControl(writer);
- writer.Write("</TD>");
- writer.Write("<TD ALIGN="RIGHT">");
- this.labelReceiveTime.RenderControl(writer);
- writer.Write("</TD>");
- writer.Write("</TR>");
- writer.Write("</TABLE>");
- writer.Write("</TD>");
- writer.Write("</TR>");
- writer.Write("<TR>");
- writer.Write("<TD>");
- this.labelFullName.RenderControl(writer);
- writer.Write("</TD>");
- writer.Write("<TR>");
- writer.Write("<TR>");
- writer.Write("<TD>");
- this.labelParticipant.RenderControl(writer);
- writer.Write("</TD>");
- writer.Write("<TR>");
- if (this.labelUrgency.Text != null && this.labelUrgency.Text != "" && this.labelUrgency.Text != " ")
- {
- writer.Write("<TR>");
- writer.Write("<TD>");
- this.labelUrgency.RenderControl(writer);
- writer.Write("</TD>");
- writer.Write("<TR>");
- }
- writer.Write("</TABLE>");
- writer.Write("</TD>");
- writer.Write("</TR>");
- writer.Write("</TABLE>");
- }
- }
- }