2011-09-01 4 views
1

가 나는 의 GridView을 가지고 있고이 자동 생성 된 열에 대한 스타일을 설정 할 수 있어야합니다, 특히 나는 각 열의 을 설정해야합니다. 어떻게해야합니까?GridView의 자동 생성 된 열 스타일을 어떻게 사용자 정의 할 수 있습니까?

답장을 보내 주셔서 감사합니다.

해결 방법 업데이트 :

protected void ItemsBound(object sender, EventArgs e) 
{ 
    (sender as GridView).Rows[0].Cells[0].Width = Unit.Pixel(150); 
} 

또는 :

(스티븐 바우어 덕분에)

이벤트에서 데이터 그리드

OnDataBound="ItemsBound" 

에 이벤트를 추가 폭을 설정 할 수있다 :

(sender as GridView).Rows[0].Cells[0].Style.Add("width", "150px"); 

다른 CSS 속성을 설정할 수 있습니다. 의 GridView의 AutoGenerateColumns 속성이 true로 설정되어있는 경우 생성 된 열이의 GridView의 Columns 컬렉션에 추가되지 않기 때문에

답변

3

당신은 데이터 바인딩 이벤트의 GridView의 Columns 속성을 사용할 수 없습니다.

하지만 myGrid.Row[x].Cells[y]의 속성을 조작하는 시도 할 수 있었다 (지정된 행과 세포가 존재하는지 확인하는 것을 잊지 마십시오) :

protected void myGrid_DataBound(object sender, EventArgs e) 
{ 
    this.myGrid.Row[0].Cells[0].Width = Unit.Pixel(500); 
} 
+0

예를 들어 주시겠습니까? 해당 이벤트의 열에 어떻게 액세스 할 수 있습니까? –

+0

(보낸 사람 : System.Web.UI.WebControls.GridView) .Columns.Count는 0의 개수를 반환합니다. 어떻게 작동합니까? –

+0

업데이트 된 답변보기 –

0

당신은 예를 들어, 다양한 스타일의 속성을 사용할 수 있습니다

<asp:GridView runat="server" RowStyle-BackColor="AliceBlue" RowStyle-CssClass="SomeClassThatSetsTheColumnWidth" /> 

이 열은 자동 생성 여부에 관계없이 작동합니다.

+0

예, 각 열을 개별적으로 사용자 지정해야합니다. 예를 들어, 너비는 80 픽셀, 다른 열은 150 픽셀 등이 필요합니다. –

+0

특정 열에 특정 크기가 있으면 자동 생성 열을 사용하는 이유는 무엇입니까? –

+0

당신은 꽤 좋은 점을 가지고 있습니다 :) 페이징과 정렬을하는 방법을 연구하고 있습니다. 자동 생성 된 열의 너비를 설정할 수 있다면 궁금합니다. –

-1

작동 .. 감사합니다. 자동 생성 된 열에 머리글 스타일을 적용해야합니다. 다음은 Autogenrated 열에 헤더 CSS를 적용하기위한 코드는

protected void grvRequirement_DataBound(object sender, EventArgs e) 
{ 
    this.grv_RequirementList.HeaderRow.CssClass = "grid_sub_heading"; 
} 

그리고 스티븐이 실수이며이

this.myGrid.Rows [0] .Cells [0] .Width = 같아야입니다 Unit.Pixel (500);

관련 문제