2016-07-08 6 views
3

격자에 계산 된 숫자 필드가 있습니다. 나는 그것을 위해 커스텀 에디터를 사용한다. 필터 편집기의 모든 필터 작업은 정상적으로 작동하지만 자동 필터 행은 표시 텍스트가 아닌 값에 따라 필터링됩니다. 나는 내가 DisplayText에 FilterMode를 설정할 수 있다는 것을 알고 있지만 이것도 또한 비교 등에 사용된다. 그래서 나는 자동 필터를위한 DisplayText, 다른 모든 것에 대한 Value를 사용할 필요가있다. 이것이 가능한가? 이미 사용자 정의 그리드 클래스에 많은 코드가 있으므로 추가 이벤트 핸들러 또는 다른 해결 방법을 사용하는 것이 좋습니다.DevExpress의 DisplayText에 의한 자동 필터

편집

나는 예를 들어, 저장 유로화로 표시된 가격은 사용자의 설정에 따라 다르게 표시됩니다. 그래서 예. 나는 값 100을 저장했고 "234 abc"를 표시해야합니다. FilterMode=DisplayText으로 설정하면 실제 값과 예를 비교할 수 없습니다. ><. 현재 FilterMode=Value을 사용하고 필터링을 위해 필터 편집기에서 표시된 값을 변환합니다. 유일한 문제는 StartsWith (자동 필터)이고 반올림하기 때문에 =입니다. 내가 어떻게 고칠 수 있니?

+0

자세한 정보를 제공해야합니다. 예를 들어 비교. 당신은 쉽게 이러한 것들 중 일부를 위해 커스텀 이벤트를 던질 수 있습니다. DisplayText로 FilterMode를 사용할 수없는 이유를 아는 것이 중요합니다. 예를 들어 자동 필터의 텍스트를 표시하도록 필터 모드를 설정할 수 있습니다. 이제 표시 텍스트를 보지 않고 무언가를 선택하면 기본 데이터 소스의 객체를 가져와 필요한 속성을 얻을 수 있습니다. – Tom

+0

예 : 상점 유로화로 표시된 가격은 사용자의 설정에 따라 다르게 표시됩니다. 그래서 예. 나는 값 100을 저장했고 "234 abc"를 표시해야합니다. 'FilterMode = DisplayText'를 설정할 때 실제 값과 예를 들어 비교할 수 없습니다. '>'와'<'. 현재는'FilterMode = Value'를 사용하고 필터링을 위해 필터 편집기에서 표시된 값을 변환합니다. 유일한 문제는'StartsWith' 즉, 자동 필터와 반올림 때문에'='로 인한 것입니다. 내가 어떻게 고칠 수 있니? – Antiohia

+0

https://documentation.devexpress.com/#CoreLibraries/clsDevExpressDataFilteringFunctionOperatortopic – Tom

답변

1

내 문제의 해결책을 찾았습니다 ... 값을 정확히 필터링하고 필터링하는 데 몇 가지 문제가 있어도 바인딩 된 열을 언 바운드 열로 변환했습니다. 변환을 수행하는 편집자를 제거하고 사용자 정의 함수 + 표시 형식으로 언 바운드 식으로 바꿨습니다. 실제로 내가 찾던 해결책은 아니지만 모든 종류의 필터링에 사용할 수 있습니다.