2009-11-05 6 views
0

저장 프로 시저에서 반환되는 DataTable에서 동적 GridView를 만들고 있습니다. 내가 전화를 다음 코드로 바인딩 : 나는 특정 열을 스타일을 다시 할 필요가 있지만, 항상 같은 열 수 없습니다asp.net 동적 gridview에서 열 찾기

DataTable dt = Sql.reportData(Convert.ToInt32(Session["userID"])); 
this.GridView1.DataSource = dt.DefaultView; 
this.GridView1.DataBind(); 

, 단지 그것을 식별하는 헤더 텍스트 문자열이 있습니다. 이 속성을 편집 할 수 있도록 이처럼 열을 추적하는 쉬운 방법이 있습니까?

덕분에, 알렉스

답변

2

나는 이것으로 자신을 실행했습니다. 열 이름을 반복하고 색인을 얻은 다음 색인을 참조하여 스타일을 조작해야합니다.

무함마드는 타이밍에 관해서는 적절하지만 레이블을 검색하지 않을 것입니다. 전체 열의 스타일을 지정하려는 것 같습니다. 맞습니까?

http://forums.asp.net/p/1076872/1584635.aspx

는 상기 용액의 여러 버전을 갖는다.

+0

네는 http://aspadvice.com/blogs/joteke/archive/2007/02/19/Access-GridView-BoundFields-with-_2200_field-name_2200_.aspx보고, 전체 열 스타일을 다시해야하는 포함 된 링크에 언급되어 있습니다. 고마워, 일단 내가 소용돌이 그것을 준 업데이 트됩니다 :) – Alex

0

컨트롤을 찾고 사용하는 가장 좋은 장소는 RowCreated 이벤트입니다. 열을 바인딩하는 데 필요한 데이터를 조작하지 않아도되므로 RowDataBound를 사용하면 안됩니다. RowCreated 이벤트에서 요소를 검색하여 열의 요소를 다시 스타일을 지정합니다.

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) 
{ 
    e.Row.FindControl(""); 
}