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

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 AbstractInstanceGridView.
  9. /// </summary>
  10. [DefaultProperty("Text"), 
  11. ToolboxData("<{0}:AbstractInstanceGridView runat=server></{0}:AbstractInstanceGridView>")]
  12. public class AbstractInstanceGridView : InstanceGridView
  13. {
  14. protected TemplateColumn AbstractColumn = new TemplateColumn();
  15. protected int AbstractColumnIndex
  16. {
  17. get
  18. {
  19. return this.Columns.IndexOf(this.AbstractColumn);
  20. }
  21. }
  22. public AbstractInstanceGridView()
  23. {
  24. this.PageIndexChanged += new DataGridPageChangedEventHandler(InstanceGridView_PageIndexChanged);
  25. this.AllowPaging = true;
  26. this.PagerStyle.Mode = PagerMode.NumericPages;
  27. foreach(DataGridColumn column in this.Columns)
  28. {
  29. column.Visible = false;
  30. }
  31. this.AbstractColumn.HeaderText = "流程";
  32. this.Columns.Add(this.AbstractColumn);
  33. }
  34.         protected override void Grid_ItemDataBound(object sender, DataGridItemEventArgs e)
  35.         {
  36.             base.Grid_ItemDataBound(sender, e);
  37.             if (
  38.                 e.Item.ItemType != System.Web.UI.WebControls.ListItemType.Header &&
  39.                 e.Item.ItemType != System.Web.UI.WebControls.ListItemType.Footer)
  40.             {
  41.                 System.TimeSpan stayTime= new TimeSpan(1, 0, 0, 0);
  42.                 if (!this.DesignMode)
  43.                 {
  44.                     stayTime = this.GetStayTime(e);
  45.                 }
  46.                 OThinker.H3.Instance.PriorityType priority = OThinker.H3.Instance.PriorityType.Normal;
  47.                 if (!this.DesignMode)
  48.                 {
  49.                     priority = this.GetPriority(e);
  50.                 }
  51.                 string title = this.GetTitle(e);
  52.                 // 发起人
  53.                 string originator = e.Item.Cells[this.OriginatorColumnIndex].Text;
  54.                 System.DateTime originateTime = System.DateTime.Now;
  55.                 if (!this.DesignMode)
  56.                 {
  57.                     originateTime = this.GetCreatedTime(e);
  58.                 }
  59.                 string url = this.GetUrl(e);
  60.                 InstanceGridItem item = new InstanceGridItem(
  61.                     title,
  62.                     url,
  63.                     originateTime,
  64.                     stayTime,
  65.                     priority,
  66.                     originator);
  67.                 e.Item.Cells[AbstractColumnIndex].Controls.Add(item);
  68.             }
  69.         }
  70. private void InstanceGridView_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
  71. {
  72. this.CurrentPageIndex = e.NewPageIndex;
  73. this.DataBind();
  74. }
  75. }
  76. }