jQuery 添加 2 列的数据表
jQuery Datatables adding 2 columns
我正在尝试在 return 数据 (Yarja)
的 ajax 中使用以下代码添加两列
public function AllUsersData(Request $request)
{
$us = DB::table('users')
->join('clients','users.client_id','=','clients.id')
->select('users.id as id','users.name as name','users.email as email','clients.companyName as company','users.active','users.operative','users.superAdmin')
->get();
return Datatables::of($us)
->addColumn('action', function($pubs){
$btn = '<div style="float:right"><i class="fas fa-book"></i></div>';
return $btn;
})
->addColumn('action2',function($pubs){
$editBtn = '<div style="float:right"><i class="fas fa-edit"></i></div>';
return $editBtn;
})
->make(true);
}
这将使我能够用 link.
呈现每一列
我的问题是 return 错误地添加了第二个 addColumn。
这是正在return编辑的内容:
"id": "3",
"name": "Jim Elliott",
"email": "webmaster@tdbcomputing.com",
"company": "Associated Locks Ltd",
"active": "1",
"operative": "0",
"superAdmin": "1",
"action": "<div style=\"float:right\"><i class=\"fas fa-book\"></i></div>",
"action2": "<div style="float:right"><i class="fas fa-edit"></i></div>"
如您所见,最后一列与前一列不同return
好的。我已经解决了。我在倒退思考!答案是 return 不同的数据然后重新渲染。我把它弄得太复杂了!
我的 ajax 通话(Laravel 使用 Yarja)现在
public function AllUsersData(Request $request)
{
$us = DB::table('users')
->join('clients','users.client_id','=','clients.id')
->select('users.id as id','users.name as name','users.email as email','clients.companyName as company','users.active','users.operative','users.superAdmin')
->get();
return Datatables::of($us)
/*->addColumn('action', function($pubs){
$btn = '<div style="float:right"><i class="fas fa-book"></i></div>';
return $btn;
})
->addColumn('action2',function($pubs){
$editBtn = '<div style="float:right"><i class="fas fa-edit"></i></div>';
return $editBtn;
})*/
->make(true);
}
我得到了两个用于编辑和显示的 URL 的名称:
$editR = url('admin/allUsers.edit');
$showR = url('admin/allUsers.show');
我必须将管理员添加到路由名称,我的视图现在有两个额外的列,这些列使用如下参数定义(在 colDefs 中):
{
"targets": 6,
"data": "id",
"render": function ( data, type, row, meta ) {
return '<a href="{{ $editR }}/' + data + '" title="edit"><i class="fas fa-edit"></i></a>';
}
},
{
"targets": 7,
"data": "id",
"render": function ( data, type, row, meta ) {
return '<a href="{{ $showR }}/' + data + '" title="detail"><i class="fas fa-book"></i></a>';
}
},
我正在尝试在 return 数据 (Yarja)
的 ajax 中使用以下代码添加两列 public function AllUsersData(Request $request)
{
$us = DB::table('users')
->join('clients','users.client_id','=','clients.id')
->select('users.id as id','users.name as name','users.email as email','clients.companyName as company','users.active','users.operative','users.superAdmin')
->get();
return Datatables::of($us)
->addColumn('action', function($pubs){
$btn = '<div style="float:right"><i class="fas fa-book"></i></div>';
return $btn;
})
->addColumn('action2',function($pubs){
$editBtn = '<div style="float:right"><i class="fas fa-edit"></i></div>';
return $editBtn;
})
->make(true);
}
这将使我能够用 link.
呈现每一列我的问题是 return 错误地添加了第二个 addColumn。
这是正在return编辑的内容:
"id": "3",
"name": "Jim Elliott",
"email": "webmaster@tdbcomputing.com",
"company": "Associated Locks Ltd",
"active": "1",
"operative": "0",
"superAdmin": "1",
"action": "<div style=\"float:right\"><i class=\"fas fa-book\"></i></div>",
"action2": "<div style="float:right"><i class="fas fa-edit"></i></div>"
如您所见,最后一列与前一列不同return
好的。我已经解决了。我在倒退思考!答案是 return 不同的数据然后重新渲染。我把它弄得太复杂了!
我的 ajax 通话(Laravel 使用 Yarja)现在
public function AllUsersData(Request $request)
{
$us = DB::table('users')
->join('clients','users.client_id','=','clients.id')
->select('users.id as id','users.name as name','users.email as email','clients.companyName as company','users.active','users.operative','users.superAdmin')
->get();
return Datatables::of($us)
/*->addColumn('action', function($pubs){
$btn = '<div style="float:right"><i class="fas fa-book"></i></div>';
return $btn;
})
->addColumn('action2',function($pubs){
$editBtn = '<div style="float:right"><i class="fas fa-edit"></i></div>';
return $editBtn;
})*/
->make(true);
}
我得到了两个用于编辑和显示的 URL 的名称:
$editR = url('admin/allUsers.edit');
$showR = url('admin/allUsers.show');
我必须将管理员添加到路由名称,我的视图现在有两个额外的列,这些列使用如下参数定义(在 colDefs 中):
{
"targets": 6,
"data": "id",
"render": function ( data, type, row, meta ) {
return '<a href="{{ $editR }}/' + data + '" title="edit"><i class="fas fa-edit"></i></a>';
}
},
{
"targets": 7,
"data": "id",
"render": function ( data, type, row, meta ) {
return '<a href="{{ $showR }}/' + data + '" title="detail"><i class="fas fa-book"></i></a>';
}
},