2012-03-08 3 views
0

asp.net, .aspx 페이지에 데이터 테이블을 표시하려면 asp : GridView를 사용하고 있습니다. 민감한 정보가 포함 된 열이 있습니다. 페이지/gridview로드 할 때이 데이터 열의 거대한 표시 가능한 목록이 없도록 데이터를 회색으로 표시된 열이나 숨길 수있는 다른 방법으로 표시하고 싶습니다.
그러나 특정 행에서 편집 버튼을 클릭하면 열의 민감한 데이터를 표시 및 편집 할 수 있습니다.편집시 asp.net GridView의 데이터 숨기기

달성 방법에 대한 아이디어가 있으십니까?

+1

그래서 숨겨진 용도는 무엇입니까? 편집 버튼을 클릭하면이 민감한 데이터가 표시됩니다. –

+0

무엇을 시도 했습니까? – Mubarek

+0

페이지/gridview로드시 모든 행에 데이터 표시를 원하지 않습니다. 동일한 사용자가 민감한 데이터를 입력 했으므로 한 번에 한 행을 보는 것이 좋습니다. 또한이 데이터의 전체 목록을 인쇄하지 못하도록하고 특히 편집하는 동안 한 행에서만 볼 수있는 경우이 데이터를보기 위해 어깨를 들여다 보는 것이 더 어려워집니다. – Baxter

답변

1

열을 템플릿으로 변환하십시오.

그런 다음 GridView 템플릿을 편집 할 수 있습니다. 보고 편집 할 수있는 다양한 템플릿이 있습니다.

0
  1. 데이터를 표시하고 싶지 않은 이유를 편집 모드로 표시 하시겠습니까? 사람들은 편집 모드에서 시선을 끌 수 있습니까?
  2. gridview에서 데이터의 세부적인 부분을 숨기려면 모달 대화 상자/팝업 창을 열 수 있습니다.
  3. 지금, 당신은 gridview에의 dataKey로이 열을 정의 DataKeys의 gridview &의을 사용할 수 있습니다
  4. 당신은 할 수도, true 또는 false로 설정 페이지의 속성을 설정 편집 버튼을 & 스위치 제어를 클릭
  5. (이 데이터 바인딩 이벤트 기간 동안 자동으로 작동합니다) 같은 가시성

    private bool isEdit; 
    protected bool IsEditMode 
         { 
          get {return isEdit;} 
         set {isEdit=value; 
         } 
    

그런 다음 귀하의 영문에서 단순히

원하는 컨트롤의 가시성을 전환합니다

Visible='<%# IsEditMode %>'

0

당신이 당신의 일을 할 수있는 gridview의 이벤트를 rowdatabound 사용할 수도 있습니다 6,. 현재 행에서 특정 컨트롤 (아마도 텍스트 상자)을 찾은 다음 단순히 disabled = true로 설정하십시오. 또는 visible = false를 설정하여 해당 행에서 특정 컨트롤을 숨길 수도 있습니다. 만약 내가 너를 올바르게 받으면이 일은 너의 일을해야 해.

관련 문제