Dojo 网格:从 html 标记加载数据

Dojo grid: load data from html markup

我目前正在使用 dojox.grid.DataGrid 显示数据,其中向服务器发送了第二个数据请求。我正在使用 spring MVC,因此我可以使用视图中的模型数据(准确地说是使用 JSTL)填充数据(来自标记)。而且我离实现这一目标还差得很远,因为我找不到通过 html 标记获取网格内数据的方法。 dojo grid是否支持只通过脚本(store)填充数据?

我找到了dojox.data.HtmlStore可以利用。但只是确保没有更好的解决方案。

是的,dojox.grid.DataGrid 可以使用 HTML 标记定义。

示例代码:

<table data-dojo-type="dojox.grid.DataGrid" >
  <thead>
    <tr>
      <th field="fieldName" >Col1</th>
      <th field="fieldName" >Col2</th>
    </tr>
  </thead>
</table>

所以在你的jsp中有生成上述结构的逻辑。

可以找到更多信息here

对于数据部分,您可以这样做:

 <table data-dojo-type="dojox.grid.DataGrid" >
      <thead>
        <tr>
          <th field="fieldName" get="myData.getCol1">Col1</th>
          <th field="fieldName" get="myData.getCol2">Col2</th>
        </tr>
      </thead>
    </table>

Javascript函数:

myData.getCol1 = function(colIndex,item){
  return "<place the actual content from your jstl variables here>";
};

While 

上述解决方案不是更聪明的方法,请使用商店和 return 从服务器构建的 json 对象。

dojox.data.HtmlStore可以利用。这不是一个简单的解决方案,但它是最简单的解决方案。

可在此处找到包含示例的文档:http://dojotoolkit.org/reference-guide/1.10/dojox/data/HtmlStore.html