2010-07-07 5 views
1

현재 현재 프로젝트에서 데이터를 표시하는 데 flexigrid를 사용하고 있지만 날짜 또는 숫자가 포함 된 특정 열을 올바르게 정렬 할 수있는 문제가 있습니다. 적절한 데이터를 선택하고 적절한 "json"형식으로 전달하는 ColdFusion CFC에서 데이터가 전송됩니다. 날짜/시간 스탬프 및 숫자가 들어있는 다른 필드는 "문자열"로 보내지기 때문에 데이터 격자에서 제대로 정렬되지 않습니다."json"데이터로 flexigrid의 정렬 문제

이것은 Flexigrid의 제한 사항입니까, 아니면 Flexigrid에 부적절하게 데이터를 보내고 있습니까? 도움이된다면 제 코드 예제를 제공 할 수 있습니다.

+0

글쎄, 나는이 문제를 좀더 들여다 보았다. 그리고 내가 말하기를 "틀린 나무를 짖고있다"고 결정했다. 문제는 필자가 그리드로 전달하기 전에 데이터 형식을 지정하기 위해 일부 MySql 함수를 사용하고 있으며 정렬을 위반하는 것으로 보입니다. –

+0

DATEFORMAT 함수를 사용하여 날짜의 서식을 지정하고 일반 FORMAT 함수를 사용하여 모든 값을 소수 둘째 자리로 표시하도록합니다. 이 값을 문자열로 변환하는 것으로 보이며 그에 따라 정렬이 수행됩니다. 나는 정렬 목적으로 필드를 선택하는 것에 대해 생각했지만, 쿼리와 JSON이 쿼리 선택 열과 데이터 그리드 열이 일대일 관계를 가지기 위해 데이터를 반환하는 데 사용하는 코드가 나타납니다. –

답변

0

Flexigrid는 내가 기억하는 한 정렬 작업을 전혀 수행하지 않습니다. 그냥 정렬 정보를 서버로 전달합니다. 따라서 데이터 정렬과 관련된 모든 문제는 서버 측에서 발생합니다. 당신이 할 수 있도록 SQL은 쿼리에서 두 번 열을 선택 금지하지 않습니다 -

당신은 기록 대신에 N (N 페이지 당) 선택 및 정렬에 관해서는

모든 데이터를 전송해야 클라이언트 측을 정렬하려면 당신은 단지 flexigrid에 대한 JSON을 반환 할 때 my_date를 건너가 이런 식으로 데이터를 선택한 후

SELECT sth, DATEFORMAT(my_date, sth) as when, my_date ORDER BY my_date; 

.