14

JSONからのデータを表すためにDatatablesを使用しています。私のJSONは次のとおりです。

[{"name": "John Doe", "email": "john@gmail.com", "address" : "blah"}]

Datatablesでは、次を使用して、これら3つの情報を3つの差分列に簡単に表示できます。

columnDefs = [ 
                { "mData": "name", "aTargets":[0] },
                { "mData": "email", "aTargets":[1] },
                { "mData": "address", "aTargets":[2] }
             ]; 

しかし、問題は、1列目に「名前」と「メール」を表示し、2列目に「住所」を表示したいということです。どうやってやるの?ご案内ください。

4

4 に答える 4

14

名前または電子メールを列定義の最初の列に入れるのではなく、関数を使用して必要なデータを取得して出力できます。詳細については、このページの mData セクションを参照してください: https://datatables.net/usage/columns . 以下の例では、答えをそのようにテストしたため、aoColumns を使用しています。ただし、参照されているリンクでは、aoColumnDefs を使用し、type および dataToSet フィールドについて詳しく説明しています。このアプローチは、aoColumns または aoColumnDefs を使用するかどうかにかかわらず、この回答を読んでいる人に役立つはずです。

たとえば、aoColumnDefs ではなく aoColumns を使用します。

aoColumns = [ 
    { "mData": getNameAndEmail },
    { "mData": "address" }
]; 

次に、JavaScript スコープで getNameAndEmail 関数を定義します。この関数は、返されるデータ、データに対するアクションのタイプ、およびタイプが「設定」の場合は設定するデータの 3 つのパラメータを受け取ります。

function getNameAndEmail(data, type, dataToSet) {
    return data.name + "<br>" + data.email;
}
于 2014-02-19T12:50:04.360 に答える