2010-04-25 3 views

답변

3

좋은 질문 -이 5 분에서 구현 될 수있는 하나의 좋은 기능이지만 없습니다.

어떤 방식 으로든 (너무 많은 작업) 표준 데이터 그리드의 렌더링을 재정의하고 싶지 않으므로 약간 다른 접근 방식을 취할 필요가 있습니다. 이를 수행하는 한 가지 방법은 그리드 상단에 자신 만의 '머리글'을 그리는 것입니다. 경계선과 스택 패널이있는 그리드 만 있으면 시작할 수 있습니다. 그리드의 가시 열을 열거하고 각 열에 해당하는 드롭 다운을 만들고 해당 드롭 다운을 스택 패널에 추가해야합니다. 간단한 linq 문을 사용하여 각 열의 고유 한 값 목록을 얻을 수 있습니다. 사용자가 드롭 다운에서 값을 선택하면 LINQ 문에서 그 값을 사용하여 그리드의 데이터 소스를 필터링 할 수 있습니다.

현실적으로 이것은 적어도 일주일에 걸친 작업 일 것입니다. 개발 비용과 테스트 비용을 취하고 이미 필터링 기능이 내장되어있는 훌륭한 구성 요소 제품군의 비용 (대부분의 주요 공급 업체가 제공하는 비용) 대비 측정하면, 낮은 시간당 요금은 구성 요소를 구입하는 것이 더 저렴하다는 것을 알 수 있습니다. 구성 요소가 잘 테스트되고 실시간으로 버그가 없으므로 아마 안전 할 것입니다.

편집(시간 이상) : 내가 뭘도 불구하고 언급해야하는 경우에만 열 몇에서이 작업을 수행하려면 다음 열 머리글 템플릿을 사용하여 고려할 수 있다는 것입니다. 이 접근법을 취하는 경우 원래의 콜럼 헤더에 포함될 수있는 다양한 마우스 관련 애니메이션이나 전환을 복사해야하므로 그리드 상단에 일관성을 유지할 수 있습니다. 개인적으로 나는 옵션 1을 사용하여 사용자가 열을 필터링 할 수있는 기능을 제공합니다.

관련 문제