如何通过代码隐藏使一个带有复选框的TemplateField

本文关键字:一个 复选框 TemplateField 代码 何通过 隐藏 | 更新日期: 2023-09-27 17:53:29

如何通过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);

如何通过代码隐藏使一个带有复选框的TemplateField

您将需要从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);

您可以让构造函数传递参数为'control id'或指定 listtitemtype

希望能有所帮助