如何通过C#代码隐藏将带有复选框的模板字段添加到我的DetailsView对象?我无法通过阅读asp.net代码来弄清楚它。
我已经用分配给属性的值实例化了TemplateField和CheckBox对象。但是当我使用Fields.Add()时,该复选框没有显示。
TemplateField tf_ForMalls = new TemplateField();
tf_ForMalls.HeaderText = "For Malls";
CheckBox chk_ForMalls = new CheckBox();
chk_ForMalls.ID = "chkDelete";
tf_ForMalls.ItemTemplate = chk_ForMalls as ITemplate;
dv_SpotDetail.Fields.Add(tf_ForMalls);
最佳答案
您将需要一个派生自ITemplate的自定义类,以使其正常工作
public class MyTemplate : ITemplate
{
#region ITemplate Members
public void InstantiateIn(Control container)
{
CheckBox chk = new CheckBox();
chk.ID = "chk";
container.Controls.Add(chk);
}
#endregion
}
然后在代码中
TemplateField tf = new TemplateField();
tf.ItemTemplate = new MyTemplate();
detvw.Fields.Add(tf);
您可以让构造函数传入“控件ID”的参数或指定 ListItemType
希望这可以帮助
关于c# - 如何通过代码隐藏使带有复选框的TemplateField?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5785910/