ASP.NET中如何動態產生模板列

來源:互聯網
上載者:User

/// <summary>
 /// 實現ITemplate介面,用來列印
 /// </summary>
 public class ColumnTemplate : ITemplate
 {   
  public void InstantiateIn(Control container)
  {
   LinkButton lb = new LinkButton();
   lb.Text = "列印";  
   lb.CommandName = "Print";
   container.Controls.Add(lb);
  }
 }
 /// <summary>
 /// 實現ITemplate介面,用來匯出
 /// </summary>
 public class ColumnTemplateExport : ITemplate
 {   
  public void InstantiateIn(Control container)
  {
   LinkButton lb = new LinkButton();
   lb.Text = "匯出";  
   lb.CommandName = "Export";
   container.Controls.Add(lb);
  }
 }


 /// <summary>
  /// 清空GRID的COLUMN
  /// </summary>
  /// <param name="vardg"></param>
  private static void RefreshGrid(DataGrid vardg)
  {
   vardg.Columns.Clear();
  
   BoundColumn dc = new BoundColumn();  
   dc.HeaderText = "ID";
   dc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
   dc.DataField = "ID";
   dc.Visible = false;
   dc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;  
   vardg.Columns.AddAt(0,dc);

   dc = new BoundColumn();  
   dc.HeaderText = "序號";
   dc.HeaderStyle.Wrap = false;
   dc.HeaderStyle.Width = 30;
   dc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center; 
   dc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;  
   vardg.Columns.AddAt(1,dc);
  }

  /// <summary>
  /// 建立按專家列印的GRID
  /// </summary>
  /// <param name="vardg"></param>
  private static void CreateExpertDataGrid(DataGrid vardg)
  { 
   RefreshGrid(vardg);

   BoundColumn dc = new BoundColumn();  
   dc.HeaderText = "專家姓名";
   dc.HeaderStyle.Wrap = false;
   dc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
   dc.DataField = "EXPERT_NAME";
   dc.SortExpression = "EXPERT_NAME";
   dc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;  
   vardg.Columns.AddAt(2,dc);
  
   dc = new BoundColumn();
   dc.HeaderText = "所屬醫院";
   dc.HeaderStyle.Wrap = false;
   dc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
   dc.DataField = "HOSPITAL";
   dc.SortExpression = "HOSPITAL";  
   vardg.Columns.AddAt(3,dc);  
    
   TemplateColumn  tc = new TemplateColumn();
   tc.ItemTemplate = new ColumnTemplate();
   tc.HeaderText = "列印";
   dc.HeaderStyle.Wrap = false;
   tc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
   tc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
   tc.HeaderStyle.Width = 30;
   vardg.Columns.AddAt(4,tc); 
     
   tc = new TemplateColumn();
   tc.ItemTemplate = new ColumnTemplateExport();
   tc.HeaderText = "匯出";
   dc.HeaderStyle.Wrap = false;
   tc.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
   tc.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
   tc.HeaderStyle.Width = 30;
   vardg.Columns.AddAt(5,tc); 
  }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.