[C#] 动态生成GridView的列

来源:互联网 发布:python就业班解压密码 编辑:程序博客网 时间:2024/04/28 05:56
在程序运行中使GridView动态生成列,而并不是将列固定写死在GridView上

写个绑定GrideView的方法

    /// <summary>
    
/// 绑定生成GridView
    
/// </summary>
    
/// <param name="gdv">要绑定的GridView</param>
    
/// <param name="dtblDataSource">GridView的数据源</param>
    
/// <param name="strDataKey">GridView的DataKeyNames</param>

    public static void GridViewBind(GridView gdv, DataTable dtblDataSource, string strDataKey)
    
{
        gdv.Columns.Clear();

        gdv.AutoGenerateColumns 
= false;
        gdv.DataSource 
= dtblDataSource;
        gdv.DataKeyNames 
= new string[] { strDataKey };

        
for (int i = 0; i < dtblDataSource.Columns.Count; i++)   //绑定普通数据列
        {
            BoundField bfColumn 
= new BoundField();
            bfColumn.DataField 
= dtblDataSource.Columns[i].ColumnName;
            bfColumn.HeaderText 
= dtblDataSource.Columns[i].Caption;
            gdv.Columns.Add(bfColumn);
        }


        gdv.Columns[
1].Visible = false;

        CommandField cfModify 
= new CommandField();  //绑定命令列
        cfModify.ButtonType = ButtonType.Button;
        cfModify.SelectText 
= "修改";
        cfModify.ShowSelectButton 
= true;
        gdv.Columns.Add(cfModify);

        gdv.DataBind();
    }

只要调用这个方法就可以啦!试试吧!