DataGrid是ASP.NET开发中最常用的控件之一,我们知道,DataGrid中的列包括绑定列,按钮列,超级连接列,模板列等类型,模板列当然是最复杂也最灵活的一种了。在一些项目中,我们需要在DataGrid中显示的列在开发阶段并不能确定,而将其留到了运行时。比如,我们要在DataGrid中显示一张工资表,而各个公司的工资项目并不相同,为适合各不同公司的需要,我们要让用户可以自定义工资项目,这时我们就需要动态创建列。下面的代码演示如何动态生成各种列。
一、绑定列(BoundColumn)
二、按钮列(ButtonColumn)
三、超级连接列(HyperLinkColumn)
四、模板列(TemplateColumn)
1
}
我们很快发现,这个DataGridTextBoxTemplate类只能适用于创建内部存放TextBox的模板列,如果按照这样的方式,我们需要创建一个CheckBox列就需要创建一个DataGridCheckBoxTemplate,需要创建一个DropDownList列就需要创建一个DataGridDropDownListTemplate类,这样的话,有多少控件就需要多少个模板类,显然,这样的类不具备通用性。