Flexigrid 适用于 Json 格式或 XML 格式。对于这两种类型,它们必须采用某种格式。
XML 格式必须完全像这样:
<rows>
<page>1</page>
<total>2</total>
<row id="reg1">
<cell>reg1-cell1</cell>
<cell>reg1-cell2</cell>
</row>
<row id="reg2">
<cell>reg2-cell1</cell>
<cell>reg2-cell2</cell>
</row>
</rows>
在您的服务器端,您必须解析原始 XML 文件并重新生成这种特定的 XML 格式。
关于排序问题:单击其中一列后,flexigrid 将一些参数发送到定义的url,如下所示:
$("#flex1").flexigrid({
url: 'staff.php'
});
它发送排好序的列、顺序等。在服务器端,您将获取传递的参数以重新排序您的行。
请查看文档页面以获取更多信息。
更新:假设您有一个保存数据的数组(Customers)。在这种情况下,我们将创建一个对象,该对象将保存您的数据,但采用 Json 格式,如下所示:
function formatCustomerResults(Customers){
var rows = Array();
for (i = 0; i < Customers.length; i++) {
var item = Customers[i];
rows.push({ cell: [item.CustomerId,
item.Name,
item.Phone,
item.Address]
});
}
return {
total: Customers.length,
page: 1,
rows: rows
};
}`
然后你会调用你的函数:
$("#FlexTable").flexAddData(formatCustomerResults(eval(data)));