Ich verwende eine DataTable in meiner Webanwendung und ich versuche, die ersten 3 Spalten auf dem horizontalen Bildlauf zu beheben.Feste Spalten in Datentabelle
Nach dem Überprüfen der DataTable-Dokumentation wird empfohlen, das Attribut fixedColumns beim Initiieren der Datentabelle zu verwenden. Ich versuchte ihre Lösung, aber endete mit einer chaotischen und nicht gestylten Datentabelle, es scheint, dass die Datentabelle in 2 innere Tabellen umgewandelt wird, wo der feste Tisch nicht den gleichen Stil wie der bewegliche Tisch hat.
Unten ist, wie ich bin die Einleitung meiner Datentabelle:
table = $('#MailDataTable').DataTable({
'bJQueryUI' :true,
"processing": true,
"serverSide": true,
"fixedColumns": true,
"ajax": {
"url": "GetCTSRecords?DBName="+"${DBName}"+"&TableName="+"${TableName}",
"type":"POST",
"data": function (d) {
return $.extend({}, d, {
"DBName" : "${DBName}",
"TableName" : "${TableName}",
"Where" : Where,
"OrderBy" : "${OrderBy}",
"JSONCTS" : "true",
"Count" : "no",
"FieldList" : "min",
"totalDataTableRecords" : totalDataTableRecords,
"iconsToDisplay" : "${iconsToDisplay}",
"additionalFilter" : searchFields,
"additionalWhere" : additionalWhere,
"DocCount" : "${DocCount}",
"LinkType" : "both",
"fromWhere" :fromWhere
});
}
},
"scrollX": true,
//"bSort":true,
"scrollCollapse": true,
"iDisplayLength": 20,
"lengthMenu": [10,20, 25, 50, 75, 100],
"blength":true,
"pagingType": "input",
"language": {
"sSearch": " " + "${tr.Search}" + " ",
"zeroRecords": "${tr.NoMatchFound}",
"info": "_START_ "+"${tr.to}" + " _END_ " + "${tr.Items} " +"${tr.of}" +" _TOTAL_ ",
"infoFiltered": "${tr.of}" + " _TOTAL_ " + "${tr.Items}",
"sLengthMenu": " _MENU_ ",
"infoEmpty": "${tr.NoEntries}",
"sEmptyTable": "${tr.TableIsEmpty}",
"sProcessing": "<img src='apps/ctsc/images/Resources/Loading.gif' /><span class='GridLoadingMessage'>" + resources_Loading + " " + resources_PleaseWait + "</span>",
oPaginate: {
"sFirst": "",
"sLast": "",
"sNext": "",
"sPrevious": ""
}
},
"bAutoWidth": false,
"initComplete":function(settings,json){
$("#DataTable_wrapper .Header th > div > span").each(function(index){
if($(this).parent().text()!="")
$(this).addClass("icon");
});
$('.paginate_page').text(resources_Page+" ");
$('.paginate_of').text($('.paginate_of').text().replace(/of/gi,resources_Of));
addToolTips();
totalDataTableRecords = json.totalDataTableRecords;
$("#dataTableHeader1").css("opacity","1");
},
columns: columnsCust,
columnDefs: columnDef
,deferRender: true
, dom: '<"top">rt<"bottom">ilBp<"clear">'
,buttons: [
{
header: true,
text: "<img src='apps/ctsc/images/Resources/refresh.svg' style='width:16px;height:16px' title='"+ resources_Refresh+"'/>",
className: 'refreshbtn',
action: function(){
if ($('#MailDataTable tbody tr').length > 0)
{
totalDataTableRecords = "";
var table = $('#MailDataTable').DataTable();
table.destroy();
}
BuildDataTable();
}
},
{
extend: 'print',
header: true,
text: "<img src='apps/ctsc/images/Resources/Print.svg' style='width:16px;height:16px' title='"+resources_Print+"'/>"
},
{
extend: 'excel',
header: true,
text:"<img src='apps/ctsc/images/Resources/Excel.svg' style='width:16px;height:16px' title='"+ resources_Excel+"'/>"
},
{
extend: 'pdf',
header: true,
text: "<img src='apps/ctsc/images/Resources/PDF.svg' style='width:16px;height:16px' title='"+ resources_Pdf+"'/>",
orientation: 'landscape',
pageSize: 'LEGAL'
}
],
});
Unten ist meine erste Datentabelle durch den neuen gefolgt nach fixedColumns Anwendung Attribut:
Vorher:
Nachher:
Wie Sie sehen, verschwindet im zweiten Bild das horizontale Scrollen und das Styling der Datentabelle wurde beschädigt.
Jeder hat eine Idee, wie man Spalten in DataTable repariert. Bitte beachten Sie, dass ich nicht DataTable loswerden möchte, ich mag es und ich würde jede CSS-Lösung akzeptieren, wenn dieses Attribut nicht funktioniert.
Ich habe die besten Glück hatte von AUTOBREITE auf false, das Setzen von Spaltenbreiten für alle bis auf eine der Spalten dann setzen Sie die Tabelle in einem div und setzen Sie die div auf ein kleines bisschen größer als ich den Tisch wollen Sein. – Bindrid
Ich habe Ihren Kommentar nicht erhalten, hatten Sie schon einmal ein solches Problem? und wie hast du es repariert? –
Das Problem, das ich hatte, war, dass ich Spalten aus separaten Tabellen zur Aufstellung brauchte. Aufgrund der automatischen Größenanpassung wurden die Spaltenbreiten ignoriert und nicht aneinandergereiht. Ich werde meine Lösung ein wenig posten, damit Sie sehen können, was ich getan habe und sehen, ob es eine Hilfe ist. – Bindrid