如何对数据表中的多列应用switch语句
How to apply switch statement for multi columns in datatables
我有一个 laravel 项目实现数据 tables 来显示数据。我想使用一些标签来格式化 table.
上的一些列
现在的问题是有第二个 switch 语句,第一个工作正常并且格式显示正常。
columns: [
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'role_id', name: 'role_id' },
{ data: 'phone', name: 'phone' },
{ data: 'email', name: 'email' },
{ data: 'status', name: 'status' },
{ data: 'created_at', name: 'created_at' },
{ data: 'action', name: 'action' }
],
columnDefs : [
{ targets : [5],
render : function (data, type, row) {
switch(data) {
case 0 : return '<span class="label label-danger">Inactive</span>';
break;
case 1 : return '<span class="label label-primary">Active</span>';
break;
case 2 : return '<span class="label label-danger">Suspended</span>';
break;
}
}
},
我想用标签格式化第 2 列和第 5 列,如何实现?
我设法解决了。
在控制器的初始调用中,我不得不使用 table 中的默认值,然后更改数据table 代码以按原样调用 table 名称。
来自这个
return $user->role['name'];
})
到这个
return $user->role_id;
})
然后我不得不像这样在索引视图上调用我的 columnDefs
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'role_id', name: 'role_id' },
{ data: 'phone', name: 'phone' },
{ data: 'email', name: 'email' },
{ data: 'status', name: 'status' },
{ data: 'created_at', name: 'created_at' },
{ data: 'action', name: 'action' }
],
columnDefs : [
{ targets : [5],
render : function (data, type, row) {
switch(data) {
case 0 : return '<span class="label label-danger">Inactive</span>';
break;
case 1 : return '<span class="label label-primary">Active</span>';
break;
case 2 : return '<span class="label label-danger">Suspended</span>';
break;
}
}
},
{ targets : [2],
render : function (data, type, row) {
switch(data) {
case 1 : return '<span class="label label-danger"> SuperAdmin </span>';
break;
case 2 : return '<span class="label label-primary"> Admin </span>';
break;
case 3 : return '<span class="label label-success"> Support </span>';
break;
case 4 : return '<span class="label label-info">Customer Admin </span>';
break;
case 5 : return '<span class="label label-dark"> Customer Support </span>';
break;
case 6 : return '<span class="label label-yellow">Customer Technician </span>';
break;
case 7 : return '<span class="label label-purple"> App User </span>';
break;
}
}
}
],
我有一个 laravel 项目实现数据 tables 来显示数据。我想使用一些标签来格式化 table.
上的一些列现在的问题是有第二个 switch 语句,第一个工作正常并且格式显示正常。
columns: [
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'role_id', name: 'role_id' },
{ data: 'phone', name: 'phone' },
{ data: 'email', name: 'email' },
{ data: 'status', name: 'status' },
{ data: 'created_at', name: 'created_at' },
{ data: 'action', name: 'action' }
],
columnDefs : [
{ targets : [5],
render : function (data, type, row) {
switch(data) {
case 0 : return '<span class="label label-danger">Inactive</span>';
break;
case 1 : return '<span class="label label-primary">Active</span>';
break;
case 2 : return '<span class="label label-danger">Suspended</span>';
break;
}
}
},
我想用标签格式化第 2 列和第 5 列,如何实现?
我设法解决了。
在控制器的初始调用中,我不得不使用 table 中的默认值,然后更改数据table 代码以按原样调用 table 名称。
来自这个
return $user->role['name'];
})
到这个
return $user->role_id;
})
然后我不得不像这样在索引视图上调用我的 columnDefs
{ data: 'id', name: 'id' },
{ data: 'name', name: 'name' },
{ data: 'role_id', name: 'role_id' },
{ data: 'phone', name: 'phone' },
{ data: 'email', name: 'email' },
{ data: 'status', name: 'status' },
{ data: 'created_at', name: 'created_at' },
{ data: 'action', name: 'action' }
],
columnDefs : [
{ targets : [5],
render : function (data, type, row) {
switch(data) {
case 0 : return '<span class="label label-danger">Inactive</span>';
break;
case 1 : return '<span class="label label-primary">Active</span>';
break;
case 2 : return '<span class="label label-danger">Suspended</span>';
break;
}
}
},
{ targets : [2],
render : function (data, type, row) {
switch(data) {
case 1 : return '<span class="label label-danger"> SuperAdmin </span>';
break;
case 2 : return '<span class="label label-primary"> Admin </span>';
break;
case 3 : return '<span class="label label-success"> Support </span>';
break;
case 4 : return '<span class="label label-info">Customer Admin </span>';
break;
case 5 : return '<span class="label label-dark"> Customer Support </span>';
break;
case 6 : return '<span class="label label-yellow">Customer Technician </span>';
break;
case 7 : return '<span class="label label-purple"> App User </span>';
break;
}
}
}
],