Jquery EasyUI数据网格中的动态列
我有一组预定义的MySQL查询,我想在EasyUI datagrid jQuery上显示这些查询的结果 问题是每个查询返回不同的结果列,因此我不能使用类似于jQuery教程部分的内容,因为在PHP文件中执行查询之前,列标题是未知的 但是,PHP脚本返回的每个JSON结果都包含数据列的名称。是否有任何方法可以在不事先知道列字段名称的情况下将结果集映射到datagrid,或者我的方法是错误的?我是jQuery的初学者,试图理解它 HTML: PHPJquery EasyUI数据网格中的动态列,jquery,mysql,datagrid,jquery-easyui,Jquery,Mysql,Datagrid,Jquery Easyui,我有一组预定义的MySQL查询,我想在EasyUI datagrid jQuery上显示这些查询的结果 问题是每个查询返回不同的结果列,因此我不能使用类似于jQuery教程部分的内容,因为在PHP文件中执行查询之前,列标题是未知的 但是,PHP脚本返回的每个JSON结果都包含数据列的名称。是否有任何方法可以在不事先知道列字段名称的情况下将结果集映射到datagrid,或者我的方法是错误的?我是jQuery的初学者,试图理解它 HTML: PHP 请参考下面的链接,您可以动态生成列 请参考下面的链
请参考下面的链接,您可以动态生成列
请参考下面的链接,您可以动态生成列 您可以使用以下代码:
$.ajax({
url:"data/getHeader.php?mo="+node.text,
cache: false,
timeout: 5000,
async: false,
success: function(data){
var objekJSON=jQuery.parseJSON(data);
$('#dg').datagrid({
url:urlData,
fit:true,
columns:objekJSON
});
}
});
这是JSON数据输出:
[[{"field":"CELLID","title":"CELLID"},{"field":"WEIGHTFORUSEDFREQ","title":"WEIGHTFORUSEDFREQ"},{"field":"TGL","title":"TGL"},{"field":"RNC_NAME","title":"RNC_NAME"}]]
PHP代码:
$result = array();
$mo=$_GET['mo'];
$sql="SHOW FIELDS FROM NPT.".$mo;
$rs = mysql_query($sql);
$nodeParent = array();
while($row = mysql_fetch_array($rs)){
$node = array();
$node['field'] = $row['Field'];
$node['title'] = $row['Field'];
array_push($nodeParent,$node);
}
array_push($result,$nodeParent);
echo json_encode($result);
`
等等,HTMLcode:`
<table id="dg" border="false" rownumbers="true" pagination="true"
fit="true" fitColumns="true" singleSelect="true">
</table>
您可以使用以下代码:
$.ajax({
url:"data/getHeader.php?mo="+node.text,
cache: false,
timeout: 5000,
async: false,
success: function(data){
var objekJSON=jQuery.parseJSON(data);
$('#dg').datagrid({
url:urlData,
fit:true,
columns:objekJSON
});
}
});
这是JSON数据输出:
[[{"field":"CELLID","title":"CELLID"},{"field":"WEIGHTFORUSEDFREQ","title":"WEIGHTFORUSEDFREQ"},{"field":"TGL","title":"TGL"},{"field":"RNC_NAME","title":"RNC_NAME"}]]
PHP代码:
$result = array();
$mo=$_GET['mo'];
$sql="SHOW FIELDS FROM NPT.".$mo;
$rs = mysql_query($sql);
$nodeParent = array();
while($row = mysql_fetch_array($rs)){
$node = array();
$node['field'] = $row['Field'];
$node['title'] = $row['Field'];
array_push($nodeParent,$node);
}
array_push($result,$nodeParent);
echo json_encode($result);
`
等等,HTMLcode:`
<table id="dg" border="false" rownumbers="true" pagination="true"
fit="true" fitColumns="true" singleSelect="true">
</table>