您的位置:首页 > 编程语言 > ASP

ASP.NET中如何动态生成模板列(转)

2005-01-11 12:36 501 查看
/// <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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: