2010-02-11 3 views
0

'행'이있는 gridview가 있습니다. 사용자가 티켓을 '요구'할 수있는 능력을 갖추고 있으면이 카드가 모두 설정되어 작동합니다. 내가 원하는 것은 'claim'버튼을 변경/숨기고 'release'또는 'open'명령 버튼으로 바꿀 수 있다는 것입니다. rowdatabound 수준에서이 작업을 수행 할 수 있습니까? 내가 싫어하는 것은 매번 DB에 쿼리하여 티켓이 청구되었는지 확인하는 것입니다.Gridview 명령 단추를 숨기기

답변

1

셀에서 단추를 캐스팅 한 다음 필요한 경우 CommandName과 CommandArgs를 텍스트와 함께 변경할 수 있습니다. 예를 들어 여러 가지 목적으로 동일한 실제 버튼을 사용하십시오.

당신이 레코드로 할 수있는 일을 지시하는 몇 가지 상태 필드가 있습니까? 따라서 RowDataBound에서 데이터 키를 통해이를 가져 와서 버튼을 맞게 조정하십시오.

그런 다음 클릭하면 명령 이름을 확인하고 관련 기능/코드 블록을 실행 하시겠습니까?

편집 -이 같은 : 마음 숨겨진 행

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     Button btn = e.Row.Cells[YourButtonsColumIndex].FindControl("btnYourButtonsID") as Button; 
     btn.CommandName = "Release"; 

     //Or 

     ((Button)e.Row.Cells[YourButtonsColumIndex].FindControl("btnYourButtonsID")).CommandName = "Release"; 
    } 

베어링은 여전히 ​​제로 인덱스 컬럼 목록에서 계산합니다.

+0

감사합니다. – Dooie

관련 문제