2015-02-10 122 views
0

使用jqGrid 4.5.2 & jQuery 1.9.1并读取XML文件作为输入到网格中。一个单元格有一个指向文件的路径。该文件可能有几种不同的类型(.doc,.htm,.pdf等)。jqGrid单元格包含文件路径

在显示网格时,我需要让该单元成为该文件共享的超链接。使用链接的预定义的格式类型,但它确实提供了一个超链接,但它把在链接前面的Web服务器的信息,如:

http://localhost:55555/\\servername\filepath1\filepath2\thisdoc.doc 

\\上从检索到的一切XML。你如何使单元格的内容超链接,但压制网站信息?

回答

0

我会为它编写自定义格式,像这样的:

var urlFormatter = function (cellValue, options, rowObject) { 
    return '<a href="' + cellValue + '">' + cellValue + '</a>'; 
}; 

这样的结果应该是:

<a href="servername\filepath1\filepath2\thisdoc.doc"> 
    servername\filepath1\filepath2\thisdoc.doc 
</a> 

更新:

我不知道它是一个文件系统URL。在这种情况下修改这样的:

var urlFormatter = function (cellValue, options, rowObject) { 
    return '<a href="file:///' + cellValue + '">' + cellValue + '</a>'; 
}; 

其中产量:

<a href="file:///servername\filepath1\filepath2\thisdoc.doc"> 
    servername\filepath1\filepath2\thisdoc.doc 
</a> 

这应该工作。原因是因为之前没有工作,浏览器将链接解释为相对链接,但您希望将绝对链接添加到文件系统的一部分。

+0

我现在在colModel的格式化程序中具有该功能。 cellvalue是正确的,但如果您将鼠标悬停在链接上,它仍然具有http:// localhost/55555 /在文件路径之前,并且如果在新选项卡中右键单击并打开,则会返回404 Not Found错误。 – 2015-02-10 18:07:15

+0

等待,servername实际上是一个域? – meskobalazs 2015-02-10 18:15:06

+0

这是一个文件共享,其中包含各种文件(pdf,htm,doc等)。在网格中它看起来不错。我把一个console.log语句抛出cellvalue&它看起来也是正确的。但是,当您将鼠标悬停在链接上时,它在文件路径(\\ servername \ filepath1 \ filepath2 .....)之前有“http:// localhost:55555 /”。 – 2015-02-10 18:21:15