数据网格 Dojo 中的 href 单元格
Posted
技术标签:
【中文标题】数据网格 Dojo 中的 href 单元格【英文标题】:href cell in a data grid Dojo 【发布时间】:2011-10-13 00:39:50 【问题描述】:我找不到如何在 dojo 工具包数据网格中放置一个带 href 的单元格,我使用的 od dojo 版本是 1.6 这是我的桌子
<table id="billsGrid" dojoType="dojox.grid.DataGrid" data-dojo-props="escapehtmlInData:false">
<thead>
<tr>
<th field="name" >name</th>
<th field="description" >Description</th>
<th field="activity" >activity</th>
</tr>
</thead>
</table>
我正在使用 Json 获取数据。
【问题讨论】:
【参考方案1】:您可以使用格式化函数来格式化单元格。例如,您可以声明一个包含所有格式化函数的 javascript 对象。
var myFormatters =
formatLink : function(value, index)
return "<a href='#'>" + value + "</a>";
;
然后在网格中,
<table id="billsGrid" dojoType="dojox.grid.DataGrid" data-dojo-props="escapeHTMLInData:false" formatterScope="myFormatters" >
<thead>
<tr>
<th formatter="formatLink" field="name" >name</th>
<th field="description" >Description</th>
<th field="activity" >activity</th>
</tr>
</thead>
</table>
你不需要为格式化程序创建一个范围对象,那么这个格式化函数应该在全局范围内,然后你可以省略网格中的formatterScope
属性。
【讨论】:
我还有一个问题,如何从 url 中获取参数,我的意思是如果有 page1.html?id=12345 ,我需要从 url 中获取 id,我知道在 Jquery 中是$.url.param("id");但在道场怎么样? 您需要先使用window.location.href
获取url,然后提取?
之后的查询部分。得到查询字符串后,如id=12345&name=alex
,可以使用dojo.queryToObject
将其转换为JSON对象id:'12345', name:'alex'
【参考方案2】:
出于安全原因,dojo 网格默认会转义 html 标签,您只需启用 html 标签即可:
<table dojoType="dojox.grid.DataGrid" escapeHTMLInData="false" ...>
或者如果你的网格是通过编程方式添加的
escapeHTMLInData: false
更多信息在这里: http://dojotoolkit.org/reference-guide/dojox/grid/DataGrid.html
【讨论】:
以上是关于数据网格 Dojo 中的 href 单元格的主要内容,如果未能解决你的问题,请参考以下文章
如何处理 dojo 数据网格单元更新,以便我可以将它们自动发布回服务器?
Dojo DataGrid - 从格式化程序获取数据存储项?
dojo 工具包 - 增强网格 - 我们可以有单元格边框吗?