Saya memiliki masalah dalam mengontrol lebar tabel menggunakan plugin jQuery DataTables. Tabel seharusnya berukuran 100% dari lebar penampung, tetapi akhirnya menjadi lebar yang berubah-ubah, bukan kurang dari lebar penampung.
Saran dihargai
Deklarasi tabel terlihat seperti ini
<table id="querytableDatasets" class="display" cellspacing="0"
cellpadding="3" width="100%">
Dan javascript
jQuery('#tab-datasets').load('/cgi-bin/qryDatasets', '', function (){
jQuery('#querytableDatasets').dataTable({
"bPaginate": false,
"bInfo": false,
"bFilter": false
});
}); `
Memeriksa HTML di Firebug, Anda melihat ini (perhatikan gaya yang ditambahkan = "width: 0px;")
<table id="querytableDatasets" class="display" cellspacing="0"
cellpadding="3" width="100%" style="width: 0px;">
Melihat gaya Firebug, gaya table.display telah diganti. Tidak bisa melihat dari mana asalnya
element.style {
width:0;}
-- dataTables.css (line 84
table.display {
margin:0 auto;
width:100%;
}
jquery
datatables
jquery-datatables
John Mac
sumber
sumber
max-width
set properti. Jelas IE8 tidak terlalu menyukai properti itu dan mengabaikannya dalam kaitannya dengan tabel data, meskipun gambar itu berukuran tepat di layar. Mengubahnya untukwidth
memperbaiki masalah.Jawaban:
Masalah ini disebabkan karena dataTable harus menghitung lebarnya - tetapi ketika digunakan di dalam tab, itu tidak terlihat, sehingga tidak dapat menghitung lebarnya. Solusinya adalah dengan memanggil 'fnAdjustColumnSizing' saat tab muncul.
Pembukaan
Kode inisialisasi
Lihat ini untuk info lebih lanjut.
sumber
window.resize
, lihat contoh legacy.datatables.net/ref#fnAdjustColumnSizingAnda akan ingin mengubah dua variabel saat Anda menginisialisasi dataTables:
bAutoWidth
danaoColumns.sWidth
Dengan asumsi Anda memiliki 4 kolom dengan lebar 50px, 100, 120px dan 30px, Anda akan melakukan:
Informasi lebih lanjut tentang inisialisasi dataTables dapat ditemukan di http://datatables.net/usage
Perhatikan interaksi antara pengaturan widhts dan CSS yang Anda terapkan. Anda dapat mengomentari CSS yang ada sebelum mencoba ini untuk melihat seberapa dekat Anda.
sumber
sumber
Yah, saya tidak terbiasa dengan plugin itu, tetapi bisakah Anda mengatur ulang gayanya setelah menambahkan datatable? Sesuatu seperti
setelah panggilan .dataTable?
sumber
Saya memiliki banyak masalah dengan lebar kolom tabel data. Perbaikan ajaib bagi saya termasuk garis
css ini sesuai dengan css tabel secara keseluruhan. Misalnya, jika Anda telah mendeklarasikan datatables seperti berikut:
maka baris css ajaib akan masuk ke kelas Loadtable
}
sumber
Solusi TokenMacGuys bekerja paling baik karena ini adalah hasil dari bug di jQdataTable. Apa yang terjadi adalah jika Anda menggunakan $ ('# sometabe'). DataTable (). FnDestroy () lebar tabel disetel ke 100px alih-alih 100%. Berikut ini perbaikan cepatnya:
sumber
Tambahkan kelas css ini ke halaman Anda, itu akan memperbaiki masalah:
sumber
Mengatur lebar secara eksplisit menggunakan
sWidth
untuk setiap kolom DANbAutoWidth: false
dalamdataTable
inisialisasi memecahkan masalah saya (serupa). Suka tumpukan yang meluap.sumber
Anda harus meninggalkan setidaknya satu bidang tanpa bidang tetap, misalnya:
Anda dapat mengubah semua, tetapi biarkan hanya satu sebagai nol, sehingga dapat meregang. Jika Anda meletakkan lebar pada SEMUA itu tidak akan berhasil. Semoga saya membantu seseorang hari ini!
sumber
Ini bekerja dengan baik untuk menyesuaikan lebar tabel secara keseluruhan. Terima kasih @Peter Drinnan!
sumber
Seperti pada Datatable 10.1, ini lurus ke depan. Cukup letakkan atribut lebar ke tabel Anda dalam HTML. yaitu width = "100%", ini akan menimpa semua gaya CSS yang disetel oleh DT.
Lihat http://www.datatables.net/examples/basic_init/flexible_width.html ini
sumber
Tidak ada solusi di sini yang berhasil untuk saya. Bahkan contoh di beranda datatables tidak berfungsi karenanya ke inisialisasi datatable dalam opsi pertunjukan.
Saya menemukan solusi untuk masalah tersebut. Triknya adalah dengan menggunakan opsi aktifkan untuk tab dan memanggil fnAdjustColumnSizing () pada tabel yang terlihat :
sumber
Hanya untuk mengatakan saya memiliki masalah yang persis sama dengan Anda, meskipun saya baru saja menerapkan JQuery ke tabel normal tanpa Ajax. Untuk beberapa alasan Firefox tidak memperluas tabel setelah memunculkannya. Saya memperbaiki masalah dengan meletakkan tabel di dalam DIV, dan menerapkan efek ke DIV sebagai gantinya.
sumber
Apakah Anda melakukan ini dalam acara yang sudah siap?
Ukurannya kemungkinan besar akan tergantung pada dokumen yang dimuat sepenuhnya.
sumber
Bagi siapa pun yang kesulitan menyesuaikan lebar tabel / sel menggunakan plugin header tetap:
Tabel data bergantung pada tagad untuk parameter lebar kolom. Ini karena ini benar-benar satu-satunya html asli karena sebagian besar html bagian dalam tabel dibuat secara otomatis.
Namun, yang terjadi adalah beberapa sel Anda bisa lebih besar dari lebar yang disimpan di dalam sel iklan.
Yaitu jika tabel Anda memiliki banyak kolom (tabel lebar) dan baris Anda memiliki banyak data, maka memanggil "sWidth": untuk mengubah ukuran sel td tidak akan berfungsi dengan baik karena baris anak secara otomatis mengubah ukuran td berdasarkan overflow konten dan ini terjadi setelah tabel diinisialisasi dan melewati parameter initnya.
Thead asli "sWidth": parameter diganti (menyusut) karena tabel data menganggap tabel Anda masih memiliki lebar default% 100 - ia tidak mengenali bahwa beberapa sel meluap.
Untuk memperbaikinya, saya menemukan lebar overflow dan memperhitungkannya dengan mengubah ukuran tabel sesuai setelah tabel diinisialisasi - sementara kita melakukannya, kita dapat memasukkan header tetap kita pada saat yang sama:
sumber
buat fixedheader Anda di dalam "keberhasilan" panggilan ajax Anda, Anda tidak akan mengalami masalah penyelarasan di header dan baris.
sumber
Semoga ini membantu seseorang yang masih berjuang.
Jangan simpan meja Anda di dalam wadah apa pun. Jadikan pembungkus tabel sebagai wadah Anda setelah tabel dirender. Saya tahu ini mungkin tidak valid di tempat di mana Anda memiliki sesuatu yang lain bersama dengan tabel tetapi kemudian Anda selalu dapat menambahkan kembali konten itu.
Bagi saya, masalah ini muncul jika Anda memiliki sidebar dan container yang sebenarnya merupakan offset ke sidebar tersebut.
(Saya menambahkan panel panel-default)
Dan kelas Anda:
sumber
temukan tautan lain yang berguna tentang masalah ini dan itu menyelesaikan masalah saya.
Tabel lebar gaya tabel data
sumber
Saya mengalami masalah serupa saat div melilit meja.
Menambahkan posisi: relatif memperbaikinya untuk saya.
sumber
Saya mengalami masalah serupa di mana isi tabel lebih besar dari header dan footer tabel. Menambahkan div di sekitar tabel dan menyetel x-overflow tampaknya telah menyelesaikan masalah ini:
sumber
Pastikan semua parameter lain sebelum bAutoWidth & aoColumns dimasukkan dengan benar. Parameter yang salah sebelumnya akan merusak fungsionalitas ini.
sumber
saya memiliki masalah yang sama dan menemukan bahwa teks di kolom tidak rusak dan menggunakan kode css ini memecahkan masalah
sumber
Ini cara saya melakukannya ..
sumber
Saya menemui masalah yang sama hari ini.
Saya menggunakan cara yang rumit untuk menyelesaikannya.
Kode Saya seperti di bawah ini.
sumber
Periksa solusi ini juga. ini memecahkan masalah lebar kolom DataTable saya dengan mudah
JQuery DataTables 1.10.20 memperkenalkan
columns.adjust()
metode yang memperbaiki masalah tab beralih BootstrapSilakan lihat dokumentasi: tab Scrolling dan Bootstrap
sumber
Ini bekerja dengan baik.
sumber