Jquery DataTables.net如何使用多个数据源?
我使用复合词“”。 对于datatables,我使用ajax请求从服务器端获取数据。但是我有一个单元格的其他数据源(“列表角色”),它使用另一个ajax源 如何为单元格(“列表角色”)使用此源,以及如何为“列表角色”单元格显示“Jquery DataTables.net如何使用多个数据源?,jquery,datatables,jquery-datatables,datatables-1.10,Jquery,Datatables,Jquery Datatables,Datatables 1.10,我使用复合词“”。 对于datatables,我使用ajax请求从服务器端获取数据。但是我有一个单元格的其他数据源(“列表角色”),它使用另一个ajax源 如何为单元格(“列表角色”)使用此源,以及如何为“列表角色”单元格显示“” 我的代码示例: 笔名 登录 电子邮件 角色电流 列表角色 笔名 登录 电子邮件 角色电流 列表角色 $('#gridrole')。数据表({ “处理”:对, “服务器端”:正确, “ajax”:{ “url”:“/Role/ReadRole/”, “数据类型”:“
”
我的代码示例:
笔名
登录
电子邮件
角色电流
列表角色
笔名
登录
电子邮件
角色电流
列表角色
$('#gridrole')。数据表({
“处理”:对,
“服务器端”:正确,
“ajax”:{
“url”:“/Role/ReadRole/”,
“数据类型”:“json”
},
栏目:[
{“数据”:“用户名”},
{“数据”:“登录”},
{“数据”:“电子邮件”},
{“数据”:“RoleName”},
{
“数据”:“列表角色”
}
],
});
更新
示例列表角色:
[{"Id":"1","Name":"Admin"},{"Id":"2","Name":"Test"}]
我假设dataTables初始化的其他方面工作正常,第一个数据源的项看起来像
{
"UserName": "test",
"Login": "qwerty",
"Email": "b@test.com",
"RoleName": "Test",
"ListRole": 2
}
等等,listrole数据源如下所示
[{"Id":"1","Name":"Admin"},{"Id":"2","Name":"Test"}]
然后,我建议您只阅读一次listrole数据源,并创建一个jQuery对象,其中包含一个
“listrole”的源是什么样子的?我觉得ListRole也包含在第一个数据中,而另一个数据源是一个选项列表?@davidkonrad我在我的原始帖子中有一个ListRole的例子。listRoles不包括在第一个数据中。是的,另一个数据是一个选项列表我很糟糕,完全忽略了它。
var $select = $('<select></select>');
$.getJSON('listrole.json', function(json) {
for (var i=0;i<json.length;i++) {
$select.append('<option value="'+json[i].Id+'">'+json[i].Name+'</option>')
}
});
columns: [
...
{ data: "ListRole",
render: function(data, type, row, meta) {
var $clone = $select.clone();
$clone.find('option[value="'+data+'"]').attr('selected', 'selected');
return $clone.wrap('<div></div>').parent().html();
}
}
]