문제

여러 열의 데이터 열이있는 Datagrid를 사용하고 있으며 (MyDG라고 함)이 열 중 하나는 데이터 소스에 바인딩 한 데이터입니다. 그 값은 작업을 완료하고 날짜 시간 값을 할당하는 "작업"객체에 따라 다릅니다. 이것은 일반적으로 최대 1 분이 걸리므로 값은 처음에 할당되지 않은 상태로 남겨 둡니다.

열의 ASP.NET 정의는 다음과 같습니다.

<asp:boundcolumn 
  DataField="CompletedDate" 
  HeaderText="Date Completed" 
  DataFormatString="{0:dd-MMM-yyyy <br> hh:mm:ss tt}" />

따라서 "작업"이 완료되었을 때 기능이 잘 작동하고 시간이 설정됩니다. 그러나 그 전에 행이 표시되는 동안

01-Jan-0001 12:00:00 AM

나는 이것을 숨기고 싶고 가장 좋은 방법은 공백으로 특정 행과 열을 마스크하거나 일시적으로 값을 무시하는 것이라고 결정했습니다. 이 작업을 수행하고 해당 특정 행과 열에 액세스 할 수있는 방법을 찾는 데 문제가 있습니다.

그것은 데이터 그 리드의 [3] 열이며 항상 첫 번째 행에 있습니다 (새 행이 상단에 추가되기 때문에).

이 셀에 직접 액세스하고 내용물을 일시적으로 '숨기거나 마스킹하는 방법이 있습니까? 이상적으로는 열에서 이와 동일한 값을 가진 모든 행을 비워 버릴 수있는 방법이 있지만 특정 셀을 조작하는 방법도 작동합니다.

-미리 감사합니다!

도움이 되었습니까?

해결책

나는 과거에 비슷한 일을했고 여기에 내가 한 일이 있습니다.

데이터를 전혀 보이지 않는 열에 바인딩하십시오. 표시하려는 데이터에 눈에 보이는 열을 추가하십시오. 그리드를 채우는 시점에서 레코드를 통해 루프와 01-Jan-0001 12:00:00 am이 아닌 값이있는 것에 대해 눈에 보이는 행을 해당 값으로 설정하십시오. 01-Jan-0001 12:00:00 AM과 같으면 가시적 행의 값을 빈 문자열 또는 선택한 값으로 설정하십시오. (텍스트 색상을 배경색과 동일하게 설정하여 사용자에게 나타나지 않을 수도 있습니다).

다른 팁

아마도 onitemDatabound를 연결하고 값을 확인하고 필요한 경우 교체/개혁을 할 것입니다.

나는 열을 숨기는 것에 대해 비슷한 질문을했다 여기.

RowCreated 이벤트를 사용하여 사용자 (PK 열)의 특정 열을 숨겨야했으며 (특히 데이터가 숨겨져있는 경우)도 도움이 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top