GridView的列,通常都是通过设置的方法,固定好列的。
但,只要你会使用代码,其列是可以动态添加或随时修改的。
参数说明:gdv是GridView的ID号;dtblDataSource是数据库源名称;strDataKey是GridView的关键字段名称。
代码如下:
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();
}
在需要的地方,调用上面的方法即可实现动态列的生成。