WorkItemGridItem.cs
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:4k
源码类别:

OA系统

开发平台:

C#

  1. using System;
  2. using System.Web.UI;
  3. using System.Web.UI.WebControls;
  4. using System.ComponentModel;
  5. namespace OThinker.H3.Portal
  6. {
  7. /// <summary>
  8. /// Summary description for WorkItemGridItem.
  9. /// </summary>
  10. [DefaultProperty("Text"), 
  11. ToolboxData("<{0}:WorkItemGridItem runat=server></{0}:WorkItemGridItem>")]
  12. public class WorkItemGridItem : System.Web.UI.WebControls.WebControl
  13. {
  14.         // 设置优先级的图标
  15.         private Image imagePriority = new Image();
  16.         // 标题行的标题名称单元
  17.         private HyperLink linkTitle = new HyperLink();
  18. // Receive Time
  19.         private Label labelReceiveTime = new Label();
  20.         // Workflow Full Name
  21.         private Label labelFullName = new Label();
  22.         // Urgency
  23.         private Label labelUrgency = new Label();
  24.         // Participant
  25.         private Label labelParticipant = new Label();
  26. public WorkItemGridItem(
  27. OThinker.H3.WorkItem.WorkItemState State,
  28.             OThinker.H3.Instance.PriorityType Priority,
  29.             string ParticipantFullName, 
  30. System.DateTime ReceiveTime, 
  31. System.DateTime FinishTime, 
  32. string Text, 
  33. string Url, 
  34. string InstanceInfo,  
  35. string Urgency)
  36. {
  37. this.imagePriority.ImageUrl = "images/Priority_" + Priority + ".GIF";
  38. this.imagePriority.ToolTip = OThinker.H3.Instance.PriorityTypeConvertor.ToString(Priority);
  39.             this.linkTitle.Text = Text;
  40. this.linkTitle.Target = WorkItemGrid.Target;
  41. this.linkTitle.NavigateUrl = Url;
  42.             this.labelParticipant = new Label();
  43.             this.labelParticipant.Text = ParticipantFullName;
  44. System.TimeSpan stayTime;
  45. if(State == OThinker.H3.WorkItem.WorkItemState.Finished)
  46. {
  47. stayTime = FinishTime.Subtract(ReceiveTime);;
  48. }
  49. else
  50. {
  51. stayTime = System.DateTime.Now.Subtract(ReceiveTime);
  52. }
  53. // 设置颜色
  54.             if (stayTime < OThinker.H3.Server.Engine.SettingManager.WorkItemYellowWarningTimeSpan)
  55. {
  56. linkTitle.ForeColor = System.Drawing.Color.Black;
  57. }
  58.             else if (stayTime < OThinker.H3.Server.Engine.SettingManager.WorkItemRedWarningTimeSpan)
  59. {
  60. linkTitle.ForeColor = System.Drawing.Color.Brown;
  61. }
  62. else
  63. {
  64. linkTitle.ForeColor = System.Drawing.Color.Red;
  65. }
  66. this.labelReceiveTime.Text = ReceiveTime.ToShortDateString();
  67. this.labelFullName.Text = InstanceInfo;
  68. this.labelUrgency.Text = Urgency;
  69. }
  70.         protected override void Render(HtmlTextWriter writer)
  71.         {
  72.             writer.Write("<TABLE WIDTH="100%" cellpadding="0" cellspacing="0">");
  73.             writer.Write("<TR  WIDTH="100%">");
  74.             writer.Write("<TD WIDTH="15" VALIGN="TOP">");
  75.             this.imagePriority.RenderControl(writer);
  76.             writer.Write("</TD>");
  77.             writer.Write("<TD WIDTH="100%">");
  78.             writer.Write("<TABLE WIDTH="100%" cellpadding="0" cellspacing="0">");
  79.             writer.Write("<TR WIDTH="100%">");
  80.             writer.Write("<TD>");
  81.             writer.Write("<TABLE WIDTH="100%" cellpadding="0" cellspacing="0">");
  82.             writer.Write("<TR WIDTH="100%">");
  83.             writer.Write("<TD>");
  84.             this.linkTitle.RenderControl(writer);
  85.             writer.Write("</TD>");
  86.             writer.Write("<TD ALIGN="RIGHT">");
  87.             this.labelReceiveTime.RenderControl(writer);
  88.             writer.Write("</TD>");
  89.             writer.Write("</TR>");
  90.             writer.Write("</TABLE>");
  91.             writer.Write("</TD>");
  92.             writer.Write("</TR>");
  93.             writer.Write("<TR>");
  94.             writer.Write("<TD>");
  95.             this.labelFullName.RenderControl(writer);
  96.             writer.Write("</TD>");
  97.             writer.Write("<TR>");
  98.             writer.Write("<TR>");
  99.             writer.Write("<TD>");
  100.             this.labelParticipant.RenderControl(writer);
  101.             writer.Write("</TD>");
  102.             writer.Write("<TR>");
  103.             if (this.labelUrgency.Text != null && this.labelUrgency.Text != "" && this.labelUrgency.Text != "&nbsp;")
  104.             {
  105.                 writer.Write("<TR>");
  106.                 writer.Write("<TD>");
  107.                 this.labelUrgency.RenderControl(writer);
  108.                 writer.Write("</TD>");
  109.                 writer.Write("<TR>");
  110.             }
  111.             writer.Write("</TABLE>");
  112.             writer.Write("</TD>");
  113.             writer.Write("</TR>");
  114.             writer.Write("</TABLE>");
  115.         }
  116. }
  117. }