dojox.grid.DataGrid에 데이터가 저장소/서버에서 변경되었음을 알리는 방법은 무엇입니까?Dojo DataGrid 서버에서 데이터가 변경되었음을 뷰에 알리는 방법은 무엇입니까?
DataGrid에서 dojox.data.QueryReadStore를 사용하고 있습니다.
예를 들어, 내가 변경된 것으로 알고있는 서버 행에서 DataGrid를 다시로드해야합니다. 대답은 캐싱하는 경우에 여부 따라 도움
dojox.grid.DataGrid에 데이터가 저장소/서버에서 변경되었음을 알리는 방법은 무엇입니까?Dojo DataGrid 서버에서 데이터가 변경되었음을 뷰에 알리는 방법은 무엇입니까?
DataGrid에서 dojox.data.QueryReadStore를 사용하고 있습니다.
예를 들어, 내가 변경된 것으로 알고있는 서버 행에서 DataGrid를 다시로드해야합니다. 대답은 캐싱하는 경우에 여부 따라 도움
에 대한
감사는 다를 것이다. 대부분의 경우 아마도 "? id ="+ yourId + "& time ="+ new Date(). getTime()이라는 쿼리를 가져올 수 있습니다. 캐시 된 항목이되는 이유는 상점의 수명. 서버에 강제로 다시로드하는 유일한 방법은 다른 쿼리를 사용하는 것입니다 (적어도 JsonRestStore의 경우). 아마도 QueryReadStore는 더 영리하며 일부 기능을 사용할 때 서버에서 체계적으로 다시로드 할 수 있습니다.
나는 당신의 질문은 바로, 바로, 클라이언트에 서버 상태 변경을 추진하려는 이해한다면 :) 그래서
를 다시로드를 강제로 좋은 오래된 날짜 트릭? 따라서 서버에서 행이 변경된 경우 사용자 개입없이 해당 변경 사항을 자동으로 DataGrid에 반영하려고합니다 (데이터 그리드에 업데이트 된 데이터가 다시로드되어야 함)
이렇게하려면 폴링 또는 서버 측 중 하나가 필요합니다. 푸시 메커니즘 (예 : cometd 또는 html5 웹 소켓)
또한 QS (queryreadstore)를 사용하거나 간단한 IFWS (itemfilewritestore)를 사용해야합니까? 내가 묻는 이유는 페이징 및 지연로드와 같은 경우에 유용하지만, 변경된 행이 사용자의 현재보기에 없을 수도 있기 때문에 (특히 변경된 행을 표시하려고한다고 가정 할 때) 복잡성을 추가합니다 (특히 유스 케이스의 경우) .
qn itemfilewritestore를 사용할 수있는 경우 위의 메커니즘 중 하나를 사용하여이 서버 측 변경을 위해 JS 함수를 호출하면 저장소를이 데이터 값으로 업데이트하면 dojo 데이터 격자가 자동으로 업데이트됩니다 (dojo는 저장소 데이터가 변경 될 때마다 렌더링 된 DataGrid를 업데이트합니다.) 상점을 조작하는 f}의 예는 Add a row in Dojo datagrid을 참조하십시오.
QRS를 사용해야하는 경우, 현재 사용 가능한 데이터 세트에 삽입 된 행 (이 경우 쿼리를 다시 실행해야 함)과 새 행이 외부에있는 경우의 두 가지 용도가 있습니다. 현재 :) (사용자로부터 페이징 작업을 자동으로 행의 변화를 반영 할 경우) 데이터 세트
희망이 도움을
감사를하는 데 도움을 표시 – Seba