Per impostazione predefinita, le griglie kendo si espandono per riempire il loro div contenente. È solo un elemento da tavolo, quindi per sua natura.Kendo Grid, scrolling orizzontale e ridimensionamento colonna
<table role="grid">
<colgroup>
<col style="width:200px"> // etc
<colgroup>
<thread>
// content
</thread>
</table>
Tuttavia quando si aggiungono altri colli (o aveva troppe), che scala avanti e indietro per adattarsi. Volevo barre di scorrimento orizzontali su overflow.
Per fare ciò, ho aggiunto del codice che è stato eseguito all'avvio, aggiunto e riordinato.
this._initWidths = function() {
var totalWidth = 0;
for (var i = 0; i < grid.columns.length; i++) {
var width = grid.columns[i].width;
$('#myGrid .k-grid-header-wrap colgroup col').eq(i).css('width', width + 'px');
$('#myGrid .k-grid-content colgroup col').eq(i).css('width', width + 'px');
totalWidth = totalWidth + width;
}
table.css('width', totalWidth + 'px');
};
Tuttavia il Kendo sembra avere una propria logica che si oppone a questo. Le voci di Colgroup inizieranno ad essere cancellate, rovinando tutto.
C'è qualcosa che posso fare per fermare questo? C'è un modo migliore per fare ciò che voglio?
Grazie.
Ok, grazie, questo è metà di quello che volevo. Come posso evitare che il kendo si espanda per riempire lo spazio se le larghezze delle colonne sono molto brevi? Supponiamo che tu abbia lasciato Time a 50 e datetime a 100. Kendo li espanderebbe. Come posso smettere? Grazie ancora. – Tim
Per favore, vedi ** EDIT ** fondamentalmente è quello che stavi facendo nel tuo ciclo 'for', ma un po 'semplificato. – OnaBai
Fammi sapere se non ha funzionato! – OnaBai