程序生成DataGrid,DataGrid中需要使用TemplateColumn、HyperLinkColumn

david2745 2004-11-04 11:48:34
查询结果生成的DataTable,列不定,用DataGrid显示,需要用到TemplateColumn、HyperLinkColumn
...全文
193 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightheroes 2004-11-04
  • 打赏
  • 举报
回复
HyperLinkColumn一样可以用模板列实现
brightheroes 2004-11-04
  • 打赏
  • 举报
回复
/// <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);
}
}
brightheroes 2004-11-04
  • 打赏
  • 举报
回复
/// <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);
}
david2745 2004-11-04
  • 打赏
  • 举报
回复
如何用程序添加TemplateColumn、HyperLinkColumn?有例子程序吗?
孟子E章 2004-11-04
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchtopquestionsaboutaspnetdatagridservercontrol.asp
WeeklyQLR 2004-11-04
  • 打赏
  • 举报
回复
在datagrid中添加模块,设置TemplateColumn、HyperLinkColumn!
red9152 2004-11-04
  • 打赏
  • 举报
回复
我也需要,帮你顶

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧