AbstractWorkItemGrid.cs
资源名称:H3_OA.rar [点击查看]
上传用户:li2971742
上传日期:2021-11-18
资源大小:39096k
文件大小:3k
源码类别:
OA系统
开发平台:
C#
- using System;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.ComponentModel;
- namespace OThinker.H3.Portal
- {
- /// <summary>
- /// Summary description for AbstractWorkItemGrid.
- /// </summary>
- [DefaultProperty("Text"),
- ToolboxData("<{0}:AbstractWorkItemGrid runat=server></{0}:AbstractWorkItemGrid>")]
- public class AbstractWorkItemGrid : WorkItemGrid
- {
- // 任务概述
- protected TemplateColumn AbstractColumn = new TemplateColumn();
- protected int AbstractColumnIndex
- {
- get
- {
- return this.Columns.IndexOf(this.AbstractColumn);
- }
- }
- public AbstractWorkItemGrid() : base()
- {
- foreach(DataGridColumn column in this.Columns)
- {
- column.Visible = false;
- }
- this.ShowHeader = false;
- this.AbstractColumn.HeaderText = "工作项";
- this.Columns.Add(this.AbstractColumn);
- }
- protected override void Grid_ItemDataBound(object sender, DataGridItemEventArgs e)
- {
- base.Grid_ItemDataBound(sender, e);
- if (e.Item.ItemType != ListItemType.Header && e.Item.ItemType != ListItemType.Footer)
- {
- // 状态
- OThinker.H3.WorkItem.WorkItemState state = OThinker.H3.WorkItem.WorkItemState.Working;
- if (!this.DesignMode)
- {
- state = this.GetState(e);
- }
- // 优先级别
- OThinker.H3.Instance.PriorityType priority = OThinker.H3.Instance.PriorityType.Normal;
- if (!this.DesignMode)
- {
- priority = this.GetPriority(e);
- }
- // 接收时间
- System.DateTime receiveTime = System.DateTime.Now;
- if (!this.DesignMode)
- {
- receiveTime = this.GetReceiveTime(e);
- }
- // 完成时间
- System.DateTime finishTime = System.DateTime.Now;
- if (!this.DesignMode)
- {
- finishTime = this.GetFinishTime(e);
- }
- // 滞留时间
- System.TimeSpan stayTime = new System.TimeSpan(1, 0, 0, 0, 0);
- if (!this.DesignMode)
- {
- stayTime = this.GetStayTime(e);
- }
- // 显示的名称
- string displayName = this.GetDisplayName(e);
- // Url
- string url = this.GetFullUrl(e);
- // Instance info
- string caseInfo = this.GetInstanceInfo(e);
- // Urgency
- string urgency = "Urgency";
- if (!this.DesignMode)
- {
- urgency = e.Item.Cells[this.UrgencyColumnIndex].Text;
- }
- WorkItemGridItem item = new WorkItemGridItem(
- state,
- priority,
- this.GetParticipantFullName(e),
- receiveTime,
- finishTime,
- displayName,
- url,
- caseInfo,
- urgency);
- e.Item.Cells[this.AbstractColumnIndex].Controls.Add(item);
- }
- }
- }
- }