0

我正在使用 dhtmlxGrid,并且我有许多从 ColdFusion 中的查询返回的记录。然后我遍历该记录集并创建 JSON 并让网格解析它。

我感兴趣的是将 HTML 链接添加到一列,以便使用该链接转到该特定记录的不同页面。

这里有一个例子:http ://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/01_cell_types/04_link_grid.html

我的问题是我正在使用。

mygrid.parse(data, "json");

将数据加载到网格中并根据文档链接是通过将 XML 文件传递​​给网格来创建的,如下所示:

mygrid.loadXML("../common/grid_links.xml");

似乎如果我加载这个 XML,它会搞砸我用 JSON 创建的网格。

我很好奇是否有人遇到过同样的情况,或者我可以使用

mygrid.parse(somenewdata, "json"); 

在 HTML 信息中加载?

TIA

4

1 回答 1

0

你的 XML 是否有和标头

<?php  
header ("Content-Type:text/xml");  
echo '....your xml data.....';
exit();
?>

它搞砸了您的 DHTMLX 网格数据,因为您的 XML 数据与 DHTMLX 上显示的示例不正确。以 XML 格式正确设置数据为例:http ://www.dhtmlx.com/docs/products/docsExplorer/doc/dhtmlxxml/index.html

因此,请确保您的 XML 文件与上面一样简单正确。在 XML 标签下使用 ISO 数据时要小心:标签内<![CDATA[的封闭标签。如果不可读并且没有给出正确的结果,它将引发错误。]]><cell>

指向此文档可能对您有帮助:http ://docs.dhtmlx.com/doku.php?id=dhtmlxgrid:configuration_from_xml

希望这可以帮助。


对于 JSON,最好将其描述为示例: JSON PHP 文件:http ://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/12_initialization_loading/09_init_grid_json.html

和网格渲染布局:http ://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/12_initialization_loading/09_init_grid_json.html

如果您希望从 URI 调用的 JSON 文件以“http://...”开头,只需确保将其加载为 PHP 文件并在 PHP 文件内部呈现json_encode()数据或手动将其调用到 PHP 中的另一个源。所以你的文件只需要渲染示例:


JSON PHP FILE myjson.php?callsome=1

<?php 

if ($_GET["callsome"] == "1")
{
    header('Content-type: application/json');

    echo file_get_contents('http://www.somewhere.com/some.json');

    exit();
}

并调用解析:

 mygrid.parse("/myjson.php?callsome=1", "json");

或者,如果您需要直接分配作为包含数据的示例:

 <?php

 $var = file_get_contents('some_json_data.php');

 echo $var; // your returned JSON data from included
于 2013-04-18T19:08:17.727 回答