Datatables FixedColumns with" nowrap"需求

时间:2015-09-03 22:23:22

标签: jquery datatables nowrap

我有大量的表格数据,其中最左边的列需要始终显示,每行只占一行 - 这可以通过CSS指令white-space: nowrap来实现。

我选择了DataTables jQuery plugin及其FixedColumns extension,这非常适合我期待的事情。

但是,Internet Explorer(版本11就是我手边的东西)我看到网格没有正确对齐 - 固定列有一个自己的滚动条,表头不再与它们对应的列完全对齐。

我创建了一个JSFiddle来演示问题 - http://jsfiddle.net/tczwysao/11/。您可以看到,如果您注释掉white-space指令,那么列就会排成一行。但我确实需要最左边的一栏留在一行。

我执行此操作的方式是否有错误,或者有人可以建议解决方法吗?

3 个答案:

答案 0 :(得分:0)

在您的某个插件中看起来(gdb) f 1 #1 0x00007ffff567d291 in __Pyx_GetStdout () at pysqlite_ext.c:6121 6121 PyObject *f = PySys_GetObject((char *)"stdout"); (gdb) l 6116 } 6117 } 6118 6119 #if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3 6120 static PyObject *__Pyx_GetStdout(void) { 6121 PyObject *f = PySys_GetObject((char *)"stdout"); 6122 if (!f) { 6123 PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout"); 6124 } 6125 return f; DTFC_LeftBodyWrapper的高度设置不正确(滚动条问题)。如果你带着萤火虫进入那里并移除这些元素上的设定高度,那么该栏就会消失..

至于列标题,这是一个非常糟糕的黑客,但我在标题周围添加了一些填充,并且能够正确设置标题的宽度。

DTFC_LeftBodyLiner

在这里小提一下:http://jsfiddle.net/tczwysao/7/对我来说看起来很好,但我对这种解决方法感到有点油腻。

答案 1 :(得分:0)

您忘记加载Bootstrap并添加适当的表类table table-striped table-bordered

请参阅this jsFiddle以了解更正后的代码。

答案 2 :(得分:0)

试试这个,对我有用,解决了nowrap问题

$('#table').DataTable( {
       bAutoWidth: false,
       fnCreatedRow: function( nRow, aData, iDataIndex ) {
          $(nRow).children("td").css("overflow", "hidden");
          $(nRow).children("td").css("white-space", "nowrap");
          $(nRow).children("td").css("text-overflow", "ellipsis");
          },
   });