2012-02-23 3 views
0

dojo와 관련된 몇 가지 질문이 있습니다. 첫째로 나는 온라인에서 복사 한 예제를 가지고 있으며 완벽하게 작동합니다. 그건 그렇고 난 비주얼 스튜디오 2010 년 웹 응용 프로그램에서 일하고 있습니다. 괜찮아요,하지만 내 질문에 내가 URL을 (ajax.googleapis.com에서 1.5을 사용하여 URL을 사용하고 작동하지만 최대한 빨리 src = "/folder/dojo.js.uncompressed.js"를 내 웹 응용 프로그램의 내 폴더에있는 로컬 복사본 (버전 1.7.1)과 함께 사용하면 작동하지 않습니다. 이것에 대한 아이디어.dojo 데이터 그리드에 데이터 추가

두 번째 질문은 데이터 격자의 값을 하드 코딩하는 대신 데이터 격자 예제를 사용하는 것입니다. 데이터베이스에서 SQL 쿼리의 결과를 DataGrid로 전달하고 싶습니다. 누구든지 이것에 대한 아이디어가 있습니까? 이 JScript의 오류가 자르기 작동하지 않습니다

<title>The Simplest Dojo DataGrid Example of All Time</title> 
<link rel="stylesheet" type="text/css" 
    href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css" /> 

<link rel="stylesheet" type="text/css" 
    href="/Styles/Grid.css" /> 

<link rel="stylesheet" type="text/css" 
href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojox/grid/ 
    resources/claroGrid.css" /> 

</head> 
<body class="claro"> 
<div style="width: 600px; height: 200px"> 
    <table id="billsGrid" dojoType="dojox.grid.DataGrid"> 
     <thead> 
      <tr> 
       <th field="number">Number</th> 
       <th field="name">Name</th> 
       <th field="position">Position</th> 
       <th field="victories" width="180px">Super Bowl Victories</th> 
      </tr> 
     </thead> 
    </table> 
    </div> 

    <script type="text/javascript" 
    src="/Styles/dojo.js.uncompresses.js" 
     djConfig="parseOnLoad:true"></script> 

    <script type="text/javascript"> 
    dojo.require("dojox.grid.DataGrid"); 
    dojo.require("dojo.data.ItemFileReadStore"); 
    </script> 

    <script type="text/javascript"> 
    dojo.ready(function() { 
    var theGreatestTeamOfAllTime = { 
     items: [{ 
      "number": "12", 
      "name": "Jim Kelly", 
      "position": "QB", 
      "victories": "0" 
     }, 
      { 
       "number": "34", 
       "name": "Thurman Thomas", 
       "position": "RB", 
       "victories": "0" 
      }, 
      { 
       "number": "89", 
       "name": "Steve Tasker", 
       "position": "WR", 
       "victories": "0" 
      }, 
     { 
      "number": "78", 
      "name": "Bruce Smith", 
      "position": "DE", 
      "victories": "0" 
     } 
      ], 
     identifier: "number" 
    }; 

    var dataStore = 
    new dojo.data.ItemFileReadStore(
    { data: theGreatestTeamOfAllTime } 
    ); 
    var grid = dijit.byId("billsGrid"); 
    grid.setStore(dataStore); 
    }); 
    </script> 

    </body> 
    </html> 

: 여기

코드는 로컬로 저장된 파일을 사용하려는 시도를 보이고있다.

답변

1

, 그것은 로컬로 작동하도록하여 djConfig를 검사하려면/DataGrid.js/그리드를 DojoX는로드 할 수 없습니다하고 스크립트가 경로, 특히 base을 또한

djConfig = { 
      parseOnLoad: true, 
      baseUrl: "../dojoroot/dojo/" 
      } 

올바른지 확인하기 위해 도장을위한 포함 올바른 스타일 시트를 포함하고 있는지 확인하십시오 (모든 포함 및 스타일 시트는 동일한 도장 ​​버전을 가리켜 야합니다).

URL의 오류를 확인하려면 네트워크 탭을 조사하십시오.

두 번째 질문과 관련하여 dojo에는 데이터 스토어 개념이 있습니다. 이는 데이터의 클라이언트 (자바 스크립트) 측 소유자입니다. 서버 측에서는 쿼리 결과를 JSON (선호), XML 또는 다른 형식으로 반환 할 수 있습니다. 클라이언트 (javascript/html)는 AJAX를 사용하여이 데이터를 가져 와서 DataGrid에서 렌더링 할 수 있습니다. 여기

+0

죄송합니다. 늦어서 반갑습니다. 의견을 보내 주셔서 감사합니다. 로컬로 저장된 dojo 파일의 예제를 찾을 수 없어서 코드 구문을 도울 수 있습니까? 위의 편집을 참조하십시오. – vbNewbie

+0

아래의 답변을 게시했습니다 (코멘트에는 글자 수 제한이 있으므로 답변을 따르므로) –

1

http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/ 내가 따르는 단계는 다음과 같습니다 :

도장은

도장에 대한 야간 테스트입니다 시작하는 좋은 장소를 lazyloading 페이징을 지원 queryreadstore/공상 매장을 확보하고있다

1) dojo 툴킷을 http://dojotoolkit.org/download/

에서 다운로드하십시오. 2) 함께 설치하십시오. 귀하의 응용 프로그램 루트. 일반적으로 내 응용 프로그램 루트 디렉토리에 dojoroot라는 디렉토리가 있습니다. dojoroot라는 도구 상자가 있습니다.

3) HTML 섹션의 헤드 섹션에서 CSS 링크가 로컬 dojoroot를 가리키고 있는지 확인하십시오.

4) djConfig가 올바르게 설정되어 있는지 확인합니다 : djConfig = { parseOnLoad : 사실, base을 "../../../dojoroot/dojo/" 을} xample에 대한; baseUrl은 중요합니다. dojo.js가 위치한 디렉토리입니다.

5) dojo.js src include의 경우 경로가 올바른지 확인하십시오. 오류가있는 경우 네트워크 탭에 방화 벽이 표시됩니다. 일반적으로 경로 문제와 관련됩니다.

+0

다시 한 번 감사드립니다. – vbNewbie

+0

위대한 - 도와 드리겠습니다. 이 답변을 승인 된 것으로 표시하여 해결 된 것으로 기록 될 수 있습니까? 감사합니다 –

+0

안녕 당신은 DataGrid의 쉬운 예제를 알고 계십니까. 예제에서 소스를 정확히 복사했지만 여전히 오류가 발생합니다. – vbNewbie

관련 문제