Sto provando a collegarmi a una griglia di kendo scorrevole da javascript e con alcuni problemi con le larghezze delle colonne. Questo fiddle dimostra il problema (codice alla fine della domanda). Sto specificando le intestazioni nel codice HTML e aggiungendo una larghezza a una delle intestazioni. Javascript imposta quindi dataSource (nel codice di produzione ciò avviene tramite una chiamata ajax).Larghezza colonna griglia Kendo + Scrollabile
Voglio evitare di dover impostare la proprietà columns.width in javascript perché
- Ho molti griglie che, dal momento che i miei ViewModels sono accuratamente costruite sono in grado di discernere automaticamente le colonne necessarie. Abbiamo oltre 100 gird nella nostra app e dover specificare l'elenco di colonne per tutti loro sarebbe poco maneggevole.
- Ci si sente comunque in errore, si tratta di informazioni sullo stile.
Capisco che la funzionalità è dovuta al kendo che crea due griglie, una per le intestazioni e una per il contenuto a scorrimento. Tuttavia, altre librerie di controllo che ho usato in passato che fanno cose simili hanno sempre copiato le informazioni di stile tra le due griglie per facilitare lo stile dichiarativo mantenendo le due tabelle sincronizzate - non sono sicuro di cosa sia il "kendo" modo per questo è.
HTML dal violino
<table>
<thead>
<th class="p20" data-field="status">Status</th>
<th data-field="description">Description</th>
</thead>
</table>
Javascript
$('table').kendoGrid({
dataSource: [
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' },
{ status: 'On', description: 'a longer description' }
],
scrollable: true
});
CSS
.k-grid-content {
height: 100px;
}
.p20 {
width: 20%;
}
Assolutamente, questo funzionerebbe, ma voglio specificare le mie larghezze nel mark-up non in javascript. Dover specificare i dettagli di ogni colonna per ogni griglia è di gran lunga un compito gravoso ed è il posto sbagliato (semanticamente parlando) a specificare lo stile. –
Sì, mi sono reso conto più tardi di cosa stai parlando, un po 'diverso dalla domanda di ieri. Come pensi di gestire la griglia in cui la larghezza del testo/valore è superiore al tuo 20%? Visualizzi sempre gli stessi dati nelle tue colonne. È possibile impostare la larghezza su tutte le colonne e le intestazioni come si desidera e distribuire i puntini di sospensione ("il mio valore incompleto ...") per evitare la differenza larghezza/sincronizzazione. – Vojtiik
Fondamentalmente, il kendo imposta il layout della tabella su "fisso" per le griglie scorrevoli (il che è fastidioso per iniziare) con il fatto che alcune delle nostre colonne sono troppo larghe. Abbiamo alcune colonne che sono solo icone di indicatori di stato e voglio impostarle solo per alcuni pixel di larghezza. Tutti gli altri ottengono i puntini di sospensione e anche la griglia può essere ridimensionata e le barre di scorrimento orizzontali appaiono se necessario (vedere la griglia sul portale di gestione azzurro per un esempio del tipo di funzionalità). È un peccato che il kendo segua l'approccio delle "due griglie" senza rendere la complessità invisibile ai consumatori –