Reputation: 566
An error popped up upon running the application.
I'm trying to set the Width of the First Column of my GridView but i can't do it.
Rows, Columns, Data of this GridView is not bounded to any DataSource.
//By Class Statistics
int A1Available = get.countAvailA1();
int A1Alloted = get.countUnavailA1();
int B1Available = get.countAvailB1();
int B1Alloted = get.countUnavailB1();
int B2Available = get.countAvailB2();
int B2Alloted = get.countUnavailB2();
int C1Available = get.countAvailC1();
int C1Alloted = get.countUnavailC1();
DataTable dtClass = new DataTable();
dtClass.Columns.Add("Class");
dtClass.Columns.Add("A1");
dtClass.Columns.Add("B1");
dtClass.Columns.Add("B2");
dtClass.Columns.Add("C1");
DataRow r;
r = dtClass.NewRow();
r["Class"] = "Number of Available Beds";
r["A1"] = A1Available.ToString();
r["B1"] = B1Available.ToString();
r["B2"] = B2Available.ToString();
r["C1"] = C1Available.ToString();
dtClass.Rows.Add(r);
r = dtClass.NewRow();
r["Class"] = "Number of Unavailable Beds";
r["A1"] = A1Alloted.ToString();
r["B1"] = B1Alloted.ToString();
r["B2"] = B2Alloted.ToString();
r["C1"] = C1Alloted.ToString();
dtClass.Rows.Add(r);
bedStats.DataSource = dtClass;
bedStats.DataBind();
bedStats.Columns[1].HeaderStyle.Width = new Unit(55, UnitType.Percentage);
Used this code to set the Width. Is there any other way to? Doesn't have be bothered about the value, just setting the Width..
bedStats.Columns[1].HeaderStyle.Width = new Unit(55, UnitType.Percentage);
Image of Error
Upvotes: 2
Views: 1055
Reputation: 35554
Setting column values will only work with TemplateField
and BoundField
columns. Autogenerated columns are not part the column collection in the GridView. If you want to color the Headers you need to use the OnRowDataBound
event. Only then you can access the columns.
protected void bedStats_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[1].Width = new Unit(55, UnitType.Percentage);
e.Row.Cells[1].BackColor = Color.Pink;
}
}
Upvotes: 1