1

javascript を使用して Sage Sdata でデータを生成しようとしています。その後、datatables プラグインでそのデータを処理しますが、エラーが発生します。

DataTables 警告: table id=example - 行 0 に対して不明なパラメーター '1' を要求しました。このエラーの詳細については、http://datatables.net/tn/4を参照してください。

if(aNode2)
{
    resultTextData += '[';
    resultTextData += "'" + aNode1.nodeValue + "'";
    resultTextData += ',';
    resultTextData += "'" +  aNode2.nodeValue + "'";
    resultTextData += ',';
    resultTextData += "'" + aNode3.nodeValue + "'";
    resultTextData += ']';
    resultTextData += ',';
}

var dataSet =   resultTextData ;

console.log(dataSet);

$('#example').dataTable({
    "data": dataSet,
    "aoColumns": [
        { "aDataSort": [ 0, 1 ] },
        { "aDataSort": [ 1, 0 ] },
        { "aDataSort": [ 2, 3 ] }
    ]

});
4

2 に答える 2

0

DataTables は、json でエンコードされた文字列からの読み込みをサポートしています。XML結果を配列に変換する例を次に示します。

function FormatDataByIolist($data,$IOlist) {
    $returnAray = array();
    $RecordCount = count($data);
    for($i = 0; $i < $RecordCount; $i++) { 
        $tmpSingleRow = array();
        foreach($IOlist as $colName) {
            $columVal = (string)$data[$i]->$colName;
            $tmpSingleRow[$colName] = $columVal;
        }
        array_push($returnAray,$tmpSingleRow);
        unset($tmpSingleRow);
    }
    return $returnAray;
}

その後、配列を DataTable が理解できる json_encoded 文字列に変換する必要があります。

$formatted = '{ "data": '.json_encode($returnAray).'}';

これをバックエンドに書き込んだ後、データテーブル定義に次の行を追加する必要があります

"ajax": "your.php?action=getJson"

your.php?action=getJson メソッドは GET である必要があり、フォーマットされた json-string (示されているように) を返す必要があります。

このリポジトリは、SData の操作に役立つと思います。( SData を扱うためのモデルです ) https://github.com/AramKocharyan/Sage-SData

于 2015-04-20T12:01:20.930 に答える
0

このdataオプションは文字列入力を受け入れません。https://datatables.net/reference/option/dataを参照してください

于 2014-06-17T23:57:03.397 に答える