【发布时间】:2010-11-13 01:23:15
【问题描述】:
是否可以在带有 jqGrid 的列中包含 html 链接,我在文档中找不到任何示例?
【问题讨论】:
-
@djangofan jQuery 和 ExtJs 是两个不同的框架,与网格无关。我不明白你的评论与这个问题有什么关系。
是否可以在带有 jqGrid 的列中包含 html 链接,我在文档中找不到任何示例?
【问题讨论】:
这是来自 Craig 的链接到 jqGrid 格式帮助的示例 colModel 配置。它将格式化程序指定为 showLink,并使用 formatoptions 指定 url 和参数。
colModel: [ {name:'myname',
edittype:'select',
formatter:'showlink',
formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit'}
【讨论】:
很抱歉发布一个老问题,但这里有另一个对我有用的选项:只需创建一个 custom formatter 并返回一个锚标记(如果您需要对链接进行真正精细的控制,这是一个不错的选择):
function returnMyLink(cellValue, options, rowdata, action)
{
return "<a href='/Controller/Action/" + options.rowId + "' >Click here</a>";
}
在行数据中查找查询返回的数据。希望这对某人有帮助!
【讨论】:
是的,使用格式化程序,自定义格式化程序或Predefined Formatter。
【讨论】:
在我用于网格的 json 数据中,我只是发送带有 href 标记的 html 代码,这对我有用
【讨论】:
@"<a href=""" + Url.Content("~/People/Details/" + p.PeopleKey.ToString()) + @""">" + p.Name + "</a>" 然而,这会破坏排序,因为它在 Name 之前遇到 PeopleKey。但我敢肯定还有另一种解决方法。
{ name: 'Name', index: 'Name', hidden: true},,然后在可见列的索引中引用该列名:{width: 190, name: 'NameUrl', index: 'Name'},
如果你使用 xml 数据,你可以在你的查询中添加一个虚拟列来在网格中显示它
网格:
colModel :[{name:'EDIT',edittype:'select',formatter:'showlink', width:5,xmlmap:"Edit",formatoptions:{baseLinkUrl:'someurl.php', addParam: '&action=edit'}},
查询:
select f1,f2,f3, 'Edit' as Edit FROM table
【讨论】:
在 xml 中我使用实体 <而不是像这样的标签中的 我的链接</a> 并且在 jqgrid 3.6 上运行良好
【讨论】: