ASP.NET中为DataGrid动态创建模板列
来源:互联网 发布:第三方软件测评 编辑:程序博客网 时间:2024/05/07 00:16
为DataGrid动态创建模板列,首先要实现ITemplate接口:
public class MyDataGridTemplate : System.Web.UI.ITemplate
...{
ListItemType _litType;
object _objData;
public MyDataGridTemplate(ListItemType litType, object objData)
...{
_litType = litType;
_objData = objData;
}
public void InstantiateIn(System.Web.UI.Control container)
...{
Literal ltr = new Literal();
TextBox txt = new TextBox();
switch(_litType)
...{
case ListItemType.Header:
ltr.Text = "<b>" + _objData.ToString() + "</b>";
container.Controls.Add(ltr);
break;
case ListItemType.Item:
ltr.Text = _objData.ToString();
container.Controls.Add(ltr);
break;
case ListItemType.EditItem:
container.Controls.Add(txt);
break;
case ListItemType.Footer:
ltr.Text = "<i>" + _objData.ToString() + "</i>";
container.Controls.Add(ltr);
break;
}
}
}
...{
ListItemType _litType;
object _objData;
public MyDataGridTemplate(ListItemType litType, object objData)
...{
_litType = litType;
_objData = objData;
}
public void InstantiateIn(System.Web.UI.Control container)
...{
Literal ltr = new Literal();
TextBox txt = new TextBox();
switch(_litType)
...{
case ListItemType.Header:
ltr.Text = "<b>" + _objData.ToString() + "</b>";
container.Controls.Add(ltr);
break;
case ListItemType.Item:
ltr.Text = _objData.ToString();
container.Controls.Add(ltr);
break;
case ListItemType.EditItem:
container.Controls.Add(txt);
break;
case ListItemType.Footer:
ltr.Text = "<i>" + _objData.ToString() + "</i>";
container.Controls.Add(ltr);
break;
}
}
}
现在就可以动态创建模板列了:
TemplateColumn tc;
tc = new TemplateColumn();
tc.HeaderText = "列1";
tc.ItemTemplate = new MyDataGridTemplate(ListItemType.Item, "列1");
dg.Columns.Add(tc);
tc = new TemplateColumn();
tc.HeaderText = "列2";
tc.ItemTemplate = new MyDataGridTemplate(ListItemType.Item, "列2");
dg.Columns.Add(tc);
tc = new TemplateColumn();
tc.HeaderText = "列1";
tc.ItemTemplate = new MyDataGridTemplate(ListItemType.Item, "列1");
dg.Columns.Add(tc);
tc = new TemplateColumn();
tc.HeaderText = "列2";
tc.ItemTemplate = new MyDataGridTemplate(ListItemType.Item, "列2");
dg.Columns.Add(tc);
以上代码的效果与下列代码相同:
<asp:TemplateColumn HeaderText="列1">
<ItemTemplate>
<asp:Literal Runat="server" Text="列1"></asp:Literal>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="列2">
<ItemTemplate>
<asp:Literal Runat="server" Text="列2"></asp:Literal>
</ItemTemplate>
</asp:TemplateColumn>
<ItemTemplate>
<asp:Literal Runat="server" Text="列1"></asp:Literal>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="列2">
<ItemTemplate>
<asp:Literal Runat="server" Text="列2"></asp:Literal>
</ItemTemplate>
</asp:TemplateColumn>
- ASP.NET中为DataGrid动态创建模板列
- ASP.NET中为DataGrid动态创建模板列
- 为 ASP.NET Datagrid 创建自定义列
- 为 ASP.NET Datagrid 创建自定义列
- 为ASP.NET datagrid 创建自定义列
- 为 ASP.NET Datagrid 创建自定义列
- 为 ASP.NET Datagrid 创建自定义列
- 为 ASP.NET Datagrid 创建自定义列
- 为 ASP.NET Datagrid 创建自定义列
- 为 ASP.NET Datagrid创建自定义列
- asp.Net中Gridview动态创建模板列
- asp.Net中Gridview动态创建模板列 .
- asp.Net中Gridview动态创建模板列
- asp.Net中Gridview动态创建模板列
- 为 ASP.NET Datagrid 创建自定义列.VB
- ASP.NET Datagrid创建自定义列
- Asp.Net 中实现DataGrid指定列的聚合功能,支持模板列聚合
- ASP.NET中如何动态生成模板列
- Ajax 的 Java 对象序列化
- Java 开发中遇到的乱码问题
- Java正则表达式详解
- test
- .NET中获取HTML页面并提取其中的超链接
- ASP.NET中为DataGrid动态创建模板列
- .NET中将RichTextBox控件的内容存入数据库
- 这只是一个测试.
- 让程序进驻系统托盘
- CSS体系格局参考图
- 让程序在Windows启动时自动运行并自动隐藏
- Access数据字段内容去换行回车TAB符号函数
- 做编辑不能太CSDN了~~
- javascript函数库