2012-02-28 2 views
1

Asp.Net GridView에서 Name 또는 Id로 셀을 식별하고 참조하는 방법이 있는지 궁금합니다.인덱스를 사용하지 않고 ASP.NET GridView에서 셀을 참조하는 방법은 무엇입니까?

내 경우에는 TemplateField 내부에서 ImageButton 컨트롤에 액세스하려는 상황이 있습니다.

ImageButton ibtStatus = (ImageButton)e.Row.Cells[8].FindControl(ibtIDStatus); 

하지만이 같은 셀을 참조하고 싶습니다 :

내 코드는 다음과 같다

ImageButton ibtStatus = (ImageButton)e.Row.Cells["MyCell"].FindControl(ibtIDStatus); 
이름, HeaderText에 또는에서 셀을 참조하는 방법

그것의 색인에 의해 아닌 다른 방법?

편집 : Visual Studio 2005 및 .NET 2.0을 사용하고 있습니다.

+2

왜 특정 셀 내부에서 컨트롤을 찾으려고합니까? Row 요소를 검색하여 동일한 결과를 얻을 수 있습니다 (e.Row.FindControl ("yourControlID")). – Meryovi

+0

흠 ... 내 생각에 내가 행복하지 않았던 것 같아. 또한 'e.Row.Cells [4] .Visible = false'와 같이 특정 Cell을 숨기고 싶습니다. 어떻게해야합니까? –

답변

1

셀 인덱스를 모두 무시하고 아무 문제없이이 작업을 수행 할 수 있어야합니다.

ImageButton ibtStatus = (ImageButton)e.Row.FindControl(ibtIDStatus); 
0

나는이 코드를 GridView_RowDataBound 이벤트에 작성하고 있다고 생각합니다. ?

코드를 작성하는 더 좋은 방법은 다음과 같습니다.

ImageButton ibtStatus = e.Row.FindControl("ibtIDStatus") as ImageButton; 
if(ibtStatus !=null) 
{ 
// Write your code here. 
} 

희망이 도움이 될 것입니다.

관련 문제