动态删除GridView指定列
方法一:
protected void Button2_Click(object sender, EventArgs e)
{
this.GridView1.Columns.RemoveAt(1);
this.GridView1.DataSource = GridViewDataSource();
this.GridView1.DataBind();
}
方法二:
protected void Button1_Click(object sender, EventArgs e)
{
//GridView1.Columns.RemoveAt(2);//column index
GridView1.Columns.RemoveAt(GetIndex(GridView1, "ProductName"));
GridView1.DataBind();
}
public static int GetIndex(GridView grd, string fieldName)
{
for (int i = 0; i < grd.Columns.Count; i++)
{
DataControlField field = grd.Columns[i];
//BoundField bfield = field as BoundField;
HyperLinkField hfield = field as HyperLinkField;
//if (bfield != null && bfield.DataField == fieldName)
// return i;
//if (hfield != null && hfield.DataTextField == fieldName)
if (hfield != null && hfield.HeaderText == fieldName)return i;
}
return -1;
}