2016-06-14 156 views
0

A、B、C、Dの4つのエンティティがあります(BはAに依存し、CはBに依存し、DはCに依存します)。私は簡単に検索とフィルタリングができる1つのテーブルにすべての情報を表示したい。詳細につながるハイパーリンクであることを、私はテーブルには、各エンティティの名前を表示するための4つの列を持つようにしたいjQuery Datatable各セルをリンクにします

public class MyViewModel { 
    public Aname {get; set;} 
    public Alink {get; set;} 
    public Bname {get; set;} 
    public Blink {get; set;} 
    public Cname {get; set;} 
    public Dname {get; set;} 
    public Dlink {get; set;} 
} 

と、セル内の各データ:

は、だから私は、フォームのビューモデルを作成しました選択されたエンティティのページ(エンティティCを除く)。ここで

はjavascriptの

$('#myDataTable').DataTable({ 
    'bDestroy': true, 
    "bInfo": true, 
    "bProcessing": true, 
    "bDeferRender": true, 
    'iDisplayLength': 10, 
    'sPaginationType': 'full_numbers', 
    'sPageButtonActive': "paginate_active", 
    'sPageButtonStaticDisabled': "paginate_button", 
    'data': OptionsHandler.Data, 
    "columnDefs": [ 
     { 
      "render": function (data, type, row) { 
       return "<a href=" + row[1] + "'>" + row[0] + "</a>"; 
      }, 
     }, 
    ] 
}); 

ですが、それは

の詳細については、行0の要求未知パラメータ0このエラーは、http://datatables.net/tn/4

を参照してくださいと文句を言いデータはJson形式です:

data = [ 
     {"Aname":"PatriceBoyle", 
     "Alink":"/A/Details/00014", 
     "Bname":"Software Engineering", 
     "Blink":"/B/Details/2", 
     "Cname":"info", 
     "Dname":"Database Design", 
     "Dlink":"/D/Details/1" 
     }, etc.] 

どのように言うことができますか:return "<a href=" + link + "'>" + name + "</a>";は各セルに対応していますか?

答えて

1

row[1]は、配列インデックスまたはオブジェクトプロパティ名'1'のいずれかを示しますが、いずれも表示されません。

return "<a href=" + row.Alink + "'>" + row.Aname + "</a>"; 
1
私はあなたの代わりに列にcolumndefs変更されるまで、私は最小限にダウンあなたのコードを剥奪し、同じエラーを得た

columns: [ 
      { title: "Aname", data: "Aname", render: function (data, type, row) { return "<a href=" + row[1] + "'>" + row[0] + "</a>"; } }, 
      { title: "Alink", data: "Alink", render: function (data, type, row) { return "<a href=" + row[1] + "'>" + row[1] + "</a>"; } }, 
      { title: "Bname", data: "Bname", render: function (data, type, row) { return "<a href=" + row[1] + "'>" + row[2] + "</a>"; } }, 
      { title: "Blink", data: "Blink", render: function (data, type, row) { return "<a href=" + row[1] + "'>" + row[3] + "</a>"; } }, 
      { title: "Cname", data: "Cname", render: function (data, type, row) { return "<a href=" + row[1] + "'>" + row[4] + "</a>"; } }, 
      { title: "Dname", data: "Dname", render: function (data, type, row) { return "<a href=" + row[1] + "'>" + row[5] + "</a>"; } }, 
      { title: "Dlink", data: "Dlink", render: function (data, type, row) { return "<a href=" + row[1] + "'>" + row[6] + "</a>"; } } 
     ] 
0

私はそれを行うために管理

はあなたのようなものが必要2つの答えを組み合わせる:

columns: [ 
     { title: "Column A", data: "Aname", render: function (data, type, row) { return "<a href=" + row.Alink + "'>" + row.Aname + "</a>"; } }, 
     { title: "Column B", data: "Bname", render: function (data, type, row) { return "<a href=" + row.Blink + "'>" + row.Bname + "</a>"; } }, 
     { title: "Column C", data: "Cname", render: function (data, type, row) { return "<a href=" + row.Clink + "'>" + row.Cname + "</a>"; } }, 
     { title: "Column D", data: "Dname", render: function (data, type, row) { return "<a href=" + row.Dlink + "'>" + row.Dname + "</a>"; } }, 
    ] 
関連する問題