Jquery和Dojo DataGrid问题

时间:2011-05-06 11:17:21

标签: jquery datagrid dojo load

当我想加载包含一些dojo代码的页面时,我遇到了问题。加载的页面不显示任何信息。

我的index.html加载页面,如下所示:

<html>
 <head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojo/dojo.xd.js" djConfig="parseOnLoad: true">
//to fill
</script>
    <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css"/>
    </head>
    <body>
    <div id="mainFrame">
<script type="text/javascript" >
$('#mainFrame').load('/Page.html');
</script>
</div>
    </body>
    <html>

我的第二页包含显示DataGrid的代码:Pahe.html

<html>
    <head>
    <link rel='stylesheet' type='text/css' href='http://ajax.googleapis.com/ajax/libs/dojo/1.5/dojox/grid/resources/claroGrid.css'/>
       <script type="text/javascript" >
       dojo.require("dojox.grid.DataGrid");
       dojo.require("dojo.data.ItemFileReadStore");
       function prepare() {
          var data0 =[{FristName:'jean',LastName:'edu',Course:'english'}];
          var store0 = new dojo.data.ItemFileReadStore({
          data: {
          items: data0
          }
          });
          var grid0  = new dojox.grid.DataGrid({
          store: store0,
          structure: [
          {field: 'FirstName', name: 'FirstName', width:'auto'},
          {field: 'LastName', name: 'LastName', width:'auto'},
          {field: 'Course', name: 'Course', width:'auto'}
          ],
          rowsPerPage: 20,
          clientSort : true,
          rowSelector : '10px'
          }, "grid0");
          grid0.startup();
       }
       dojo.addOnLoad(prepare);
    </script>
    </head>
    <body>
    <div id="grid0"/>
    </body>
    </html>

当我在浏览器中运行此代码时,我看到nohting。但是,我看到google chrome prospect工具浏览器加载了dojo的dataGrid ......

我认为这是jquery加载的一个问题,因为如果我添加代码来加载'Page.html'中的dojo脚本,我就能看到一些东西......我发现了一些问题jquery和道场......

你能帮我解决一下吗?

提前致谢,

蝙蝠

3 个答案:

答案 0 :(得分:0)

也许在这里大声思考,但是你在相应的“大型机”div上方的文档中内联$('#mainFrame')。那会有用吗?我认为js调用需要在文档中的“大型机”div之下。

我会尝试将该调用移出“head”并将其置于“mainframe”div之后的某个内部。

答案 1 :(得分:0)

我去寻找JQuery加载的API文档,但它会显示一个空页: - )

我不确定它究竟是做什么的,特别是对于HEAD元素,但是如果它只是做类似innerHTML赋值的事情,那么这将无法与Dojo的代码加载器或正在进行的CDN跨域加载一起使用。您可能希望在页面加载时执行的Dojo代码。

答案 2 :(得分:0)

2条建议:

1-您可能需要为dojo网格导入“基础”网格CSS。

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

2-您还可能需要在数据网格上设置高度(以像素为单位...百分比不适用于数据网格)。