77

以下の非常に単純な HTML ファイルの何が問題なのか、どなたかご存知でしょうか?

ここに画像の説明を入力

オブジェクトの配列を DataTables のデータ ソースとして使用しようとしています。

tests.html:

<html>
<head>
<link type="text/css" rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/redmond/jquery-ui.css">
<link type="text/css" rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.2/css/jquery.dataTables_themeroller.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js"></script>
<script type="text/javascript" src="https://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.2/jquery.dataTables.min.js"></script>
<script type="text/javascript">

var data = [
    {"Name":"UpdateBootProfile","Result":"PASS","ExecutionTime":"00:00:00","Measurement":[]},
    {"Name":"NRB Boot","Result":"PASS","ExecutionTime":"00:00:50.5000000","Measurement":[{"TestName":"TOTAL_TURN_ON_TIME","Result":"PASS","Value":"50.5","LowerLimit":"NaN","UpperLimit":"NaN","ComparisonType":"nctLOG","Units":"SECONDS"}]},
    {"Name":"NvMgrCommit","Result":"PASS","ExecutionTime":"00:00:00","Measurement":[]},
    {"Name":"SyncNvToEFS","Result":"PASS","ExecutionTime":"00:00:01.2500000","Measurement":[]}
];

$(function() {
        var testsTable = $('#tests').dataTable({
                bJQueryUI: true,
                aaData: data,
                aoColumns: [
                        { mData: 'Name' },
                        { mData: 'Result' },
                        { mData: 'ExecutionTime' }
                ]
        });
});

</script>
</head>
<body>

<table id="tests">
<thead>
<tr>
<th>Name</th>
<th>Result</th>
<th>ExecutionTime</th>
</tr>
</thead>
<tbody>
</tbody>
</table>

</body>
</html>

更新:わかりました、作成者から、新しいバージョンの DataTables を使用するか、mData の名前を mDataProp に変更するという回答が得られました

4

11 に答える 11

10

私は同じ問題を抱えていました。私の場合、最後の列の後にカンマがありませんでした。私の人生の 30 分は無駄にされた、私は決して戻ってこない!

ここに画像の説明を入力

于 2015-07-31T19:09:41.607 に答える
2

私が台無しreturn keywordにしcustom renderingたので、私はこの問題に直面していますColumns section

columns: [
    {....
        'data': function(row, type, val, meta) {
            if (row.LetterStatus)
                 return '@CultureHelper.GetCurrentCulture()' == 'ar'? row.LetterStatus.NameInArabic: row.LetterStatus.NameInEnglish;
            else row.LetterStatusID.toString();// here is the problem because I messed the Return key keyword
          },
     ......
    }

私のコードの問題は、私messedReturn keywordelse clause

だから私はそれを

....
else return row.LetterStatusID.toString();// messed return keyword added
.....
于 2016-09-27T08:05:04.090 に答える
2

DataTables Web サイトから:

DataTables の各セルはデータを要求します。DataTables がセルのデータを取得しようとして取得できない場合、警告がトリガーされ、データが期待された場所で利用できないことが通知されます。警告メッセージは次のとおりです。

DataTables 警告: テーブル id= -行の{id}不明なパラメータ ' ' が要求されました{parameter}{row-index}

どこ:

{id}エラーを引き起こしたテーブルの DOM ID に置き換えられます

{parameter}DataTables が要求しているデータ パラメータの名前です。

{row-index}エラーをトリガーした rwo の DataTables 内部行インデックスです。

分解すると、DataTables は{parameter}提供された の特定の行のデータを要求しましたが、そこにデータがないか、nullまたは undefinedです。

詳細については、DataTables Web サイトのこのテクニカル ノートを参照してください。

于 2015-05-07T21:29:32.927 に答える
1

使用している場合はknockout.bindings.dataTables.js、ファイルを編集してこの行を置き換えることができます

dataTable.fnAddData(unwrappedItems);

if (unwrappedItems.length > 0) {
    dataTable.fnAddData(unwrappedItems);
}

これは私を助けてくれました。

于 2015-09-25T12:56:01.947 に答える