완전한 데이터 세트 가져 오기, Pagination과 함께 Yui 데이터 테이블로 정렬됩니다.

StackOverflow https://stackoverflow.com/questions/2017389

문제

내 문제를 충분히 묘사하기를 바랍니다. 여기에 간다 :

YUI 데이터 테이블이 있고 JSON을 통해 서버 측 레코드 세트를 가져온 다음 데이터를 채 웁니다.

사용자는 헤더를 클릭하여 6 개의 열 중 3 개 (각 열에 맞춤형 정렬 함수를 사용하는)로 데이터를 정렬 할 수 있습니다. 정렬은 클라이언트면에서 수행됩니다.

사용자가 데이터를 정렬하면 표시되는 열 중 하나에서 값의 전체 목록을 얻을 수 있어야합니다. 페이지에 렌더링 된 내용뿐만 아니라 사용 가능한 모든 데이터가 필요합니다. 페이지 매김을 통해 숨겨진 데이터가 포함되어야합니다.

어떤 아이디어? DataTable의 HandledAtAreturnPayload 및 doBeForEloadData 메소드를 시도했지만 원래의 미묘한 데이터를 제공했습니다.

나는 정말로 여기에 붙어 있었고, 나는이 정렬 된 목록을 얻는 것에 의존하는 기능에 따라 클라이언트가 있습니다.

미리 감사드립니다.

도움이 되었습니까?

해결책

Satyam, 유비 포럼 내 질문에 대답했습니다 아주.

데이터는 실제로 레코드 세트에 저장됩니다. 언제든지 가서 볼 수 있으며 화면에 표시된대로 정렬되지만 표시 여부에 관계없이 모든 데이터가 있습니다.

메소드 getRecordset ()은 귀하에게 참조를 제공 한 다음 해당 레코드를 반복 할 수 있습니다.

정렬이 발생했다는 사실을 알리기 위해 칼럼의 소식을들을 수 있습니다.

방금 ColumnSortevent 이벤트에 가입하고 DataTable.getRecordset (). getRecords ()에 의해 반환 된 배열을 통해 반복되었습니다.

다른 팁

YUI 포럼에 게시하는 것이 좋습니다. http://yuilibrary.com/forum/ - 데이터 가능한 문제에 대한 지원을받을 수있는 좋은 장소입니다.

나는이 질문을 우연히 발견했다. 나는 dataTable에 표시되지 않은 데이터 세트에서 정보를 검색하는 방법에 대한 정보를 찾았다. 표시하려는 필드 전에 숨겨진 데이터를 데이터 소스에 배치하면 비워 렌더링되지만 마지막 필드 후에 렌더링 된 (열 객체에 의해 정의 된대로) 배치하면 그렇지 않습니다. 레코드를 통해 렌더링하지만 여전히 액세스 할 수 있습니다).

var columns = [
    {key:"Whatchamacallits", children:[
        {key:"name" },
        {key:"price" }
    ]}
];
var ds = new YAHOO.util.DataSource('index.php...');
oDataSource.responseType = YAHOO.util.DataSource.TYPE_JSARRAY;
oDataSource.responseSchema = {
    fields:["name","price","id"]
};
var dt = new YAHOO.widget.DataTable("dt-id", columns, ds, {});
dt.subscribe("rowClickEvent", dt.onEventSelectRow);
dt.subscribe("rowSelectEvent", function(p){ alert(p.getData('id'); });
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top