Я использую DataTables с angular 7
Я могу получить сетку с DataTable, используя этот код:
ngOnInit(): void {
const that = this;
this.dtOptions = {
pagingType: 'full_numbers',
pageLength: 10,
serverSide: true,
processing: true,
select: true,
dom: '<lf<Bt>ip>',
ajax: (dataTablesParameters: any, callback) => {
this.myService.query ({
},this.param).subscribe((resp: HttpResponse<Person[]>) => {
this.temp = [...resp.body];
this.rows = resp.body;
callback({
recordsTotal:resp.body.length,
recordsFiltered: resp.body.length,
data: resp.body,
columnDefs: [
{ responsivePriority: 1, targets: 0 },
{ responsivePriority: 2, targets: -1 }
]
});
});
},
rowCallback: (row: Node, data: any[] | Object, index: number) => {
const self = this;
var activeRows :any;
$("thead tr").css("border-bottom","5px solid #000");
// below code will give you row click event data
$('tr', row).unbind('click');
// $("#table tr").css('cursor', 'pointer');
// $('td', row).css('background-color', 'blue');
$('td', row).bind('click', () => {
});
const elt = $('td', row).find('[type="checkbox"]');
if (elt) {
elt.unbind('click');
elt.bind('click', () => {
if (elt[0].checked) {
activeRows=data;
this.person=activeRows;
}
});
}
return row;
},
columns: [
{
targets: 0,
data: null,
searchable:false,
orderable:false,
className: 'dt-body-center',
render: function (data, type, full, meta){
return '<input type="checkbox" class="_check" name="check" value="' + data.id + '">';
}
},
{
title: "name",
data: 'name',
render: function (data, type, row) {
return row.name; },
defaultContent: '',
orderable: true,
searchable: true
},
],
};
}
Я хочу запретить множественный выбор флажка
так принять только один сплошной флажок в сетке
, как в этом примере с другой технологией (ext js)
<grid:column property="checked"
title=" "
sortable="false" resizable="false" menuDisabled="false" width="5">
<grid:selectcolumn fieldClass="x-grid3-check-col" multiselect="false" />
</grid:column>