2017-02-04 2 views
2

응용 프로그램 실행시 오류가 발생했습니다.GridView ASP.NET에서 열의 너비를 설정할 수 없습니다 (GridView의 DataSource 없음).

GridView의 첫 번째 열 너비를 설정하려고하지만 할 수 없습니다.

행, 열,이 GridView의 데이터는 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); 

이 코드를 사용하여 너비를 설정합니다. 다른 방법이 있습니까? 단지 폭 .. 오류의

bedStats.Columns[1].HeaderStyle.Width = new Unit(55, UnitType.Percentage); 

이미지

<code>enter image description here</code>

+0

스크린 샷을 보면 'bedStats.Columns [1]'이 (가) 문제가되는 것 같습니다. 이 줄의 중단 점을 제외하고 두 번째 열 ([1])에 액세스하기 전에'bedStats' 열을 검사하십시오. 너 뭐가 보이니? –

+0

나는 브레이크 포인트를 추가하여 자동차를 보면서 무엇이 필요한지 물어볼 수 있습니까? @FredrikLundin – domster

답변

1

설정 열 값은 TemplateFieldBoundField 열이 작동을 설정, 가치에 대해 방해하지 않습니다. 자동 생성 된 열은 GridView의 열 컬렉션에 속하지 않습니다. 헤더에 색을 지정하려면 OnRowDataBound 이벤트를 사용해야합니다. 그래야만 열에 액세스 할 수 있습니다.

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; 
    } 
} 
+0

고마워, 고마워! – domster

관련 문제