【发布时间】:2012-11-29 14:36:23
【问题描述】:
我正在将模板文件动态添加到动态添加的 gridview 控件中。
我添加这样的模板文件:
TemplateField TmpCol = new TemplateField();
TmpCol.HeaderText = "";
TmpCol.ShowHeader = false;
rpt.Columns.Add(TmpCol);
TmpCol.ItemTemplate = new TemplateHandler();
类:
public class TemplateHandler : ITemplate
{
void ITemplate.InstantiateIn(Control container)
{
CheckBox cmd = new CheckBox();
cmd.ID = "ckSkill";
cmd.Text = -- want to give data text filed here or pass a custom text
container.Controls.Add(cmd);
}
}
所以模板字段中的复选框我想给容器值。
就像我们在 aspx 页面中所做的一样
<%# Eval("demo") %>
非常感谢任何帮助
【问题讨论】:
-
使用 container.DataItem.Eval("ColumnName")
-
@PrashantLakhlani 如何在代码中使用这个 container.DataItem.Eval("ColumnName")
-
@PrashantLakhlani 查看我的代码 - 所有控件、模板字段都是动态的
-
你是对的,你需要在添加 TemplateFields 的同时设置 headerText 以确保你可以确定要绑定哪一列,并且 DataItem 是你可以在代码中访问的容器对象的属性
-
@PrashantLakhlani 如何在模板处理程序中使用 DataItem 以及如何使用?您能否将代码发布到我可以在 InstantiateIn 中访问数据项的位置