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);
}
/// 实现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);
}
相关文章推荐
- ASP.NET中如何动态生成模板列
- asp.net如何获取页面动态生成的服务器控件
- Asp.net动态生成html页面(模板技术)
- ASP.NET如何批量保存动态生成的文本框?
- asp.net高级反射,动态生成的bean如何处理赋值问题?
- 如何在asp.net中动态生成验证码
- asp.net Repeater 动态添加模板列生成Table
- 如何在asp.net中动态生成验证码
- 如何在asp.net中动态生成验证码(转)
- asp.net根据条件动态生成GridView,并动态绑定列,且可对其进行编辑的实现
- Asp.net动态生成html页面(转)
- ASP.NET动态生成html页面
- Asp.net动态生成html页面
- asp.net如何生成图片验证码(简单)
- asp.net下用Aspose.Words for .NET动态生成word文档中的数据表格的方法
- ASP.NET在RENDER中加载HTML来动态生成或者修改页面
- asp.net 动态创建TextBox控件 如何加载状态信息
- 精彩:Asp.net动态生成html页面(转自太平洋电脑网)
- asp.net后台如何动态添加JS文件和css文件的引用
- Asp.net动态生成html页面