当前位置:编程学习 > C#/ASP.NET >>

如何在DataGrid中为每一列的Header增加一个CheckBox控件,并获取其是否选中

我的datagrid控件的数据是由excel导入的(不固定大小),excel的第一行就是datagrid的Header,我想为每一个Header动态增加一个CheckBox控件,使用户能够选择需要的列,请大家帮忙 --------------------编程问答--------------------
    protected void DataList1_ItemCreated(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Footer)
        {
            for (int i = 1; i <=pageNum; i++)
            {
                LinkButton lbtn = new LinkButton();
                lbtn.ID = "lbtn" + i.ToString();
                lbtn.CommandName = "lbtn" + i.ToString();
                lbtn.Text = i.ToString()+" ";
                lbtn.Font.Underline = false;
                e.Item.Controls.Add(lbtn);
            }
        }
    }

这是datalist添加页码的代码,与datagrid类似 --------------------编程问答-------------------- 将Footer改为Header,LinkButton改为CheckBox等试试 --------------------编程问答-------------------- 在绑定DataGrid的时候动态创建 --------------------编程问答-------------------- 在绑定DataGrid的时候动态创建 --------------------编程问答-------------------- 这是一段我自己研究带checkbox功能DataGrid物件,给你参考一下
public override void InitializeCell(TableCell cell, 
int columnIndex, ListItemType itemType) 
{
//let the base class initialize the cell
base.InitializeCell(cell, columnIndex, itemType);
ViewState["_columnIndex"]=columnIndex;
if(    itemType == ListItemType.EditItem || 
itemType == ListItemType.Item || 
itemType == ListItemType.AlternatingItem || 
itemType == ListItemType.SelectedItem ||
itemType == ListItemType.Header)
{
CheckBox checkbox = new CheckBox();
//assign an ID that we can use to find the control later
//we don't want to add a normal checkbox to the header.
checkbox.ID = (itemType==ListItemType.Header)? ("checkboxHead"+"_"+columnIndex): ("checkboxCol"+"_"+columnIndex);
if(checkbox.ID==("checkboxHead"+"_"+columnIndex))
checkbox.Attributes.Add("onclick","CheckAll(this)");
else if(checkbox.ID==("checkboxCol"+"_"+columnIndex))
checkbox.Attributes.Add("onclick","CheckChanged(this)");
cell.Controls.Add(checkbox);
}
}
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,