当前位置:  开发笔记 > 编程语言 > 正文

如何访问GridView的HeaderTemplate中的控件

如何解决《如何访问GridView的HeaderTemplate中的控件》经验,为你挑选了1个好方法。

我想在GridView的标题中有一个DropDownList.在我的代码隐藏中,我似乎无法访问它.这是HeaderTemplate:


    
        
        
        
    
    ...

这里是代码背后的部分,我试图访问控件'TypeFilter'.

protected void ObjectDataSource1_Selected(object sender, 
                                          ObjectDataSourceStatusEventArgs e)
{
    DataTable dt = (DataTable)e.ReturnValue;
    int NumberOfRows = dt.Rows.Count;
    TotalCount.Text = NumberOfRows.ToString();
    DataView dv = new DataView(dt);
    DataTable types = dv.ToTable(true, new string[] { "EXCEPTION_TYPE" });
    DropDownList typeFilter = (DropDownList)GridView1.FindControl("TypeFilter");
    typeFilter.DataSource = types;
    typeFilter.DataBind();

}

您会注意到我正在尝试使用FindControl来获取对DropDownList控件的引用.此调用返回null而不是返回控件.如何访问控件?



1> iZ...:

使用Repeater,您可以通过在OnItemDataBoundEvent中使用FindControl来访问headerTemplate项,如下所示:

RepeaterItem item = (RepeaterItem)e.Item;
if (item.ItemType == ListItemType.Header) {
    item.FindControl("control"); //goes here
}

这对GridViews也有用吗?

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有