我有一个Datatables没有正确使用其x轴滚动的问题.
我以前遇到过IE9’鬼细胞’问题,我能够解决这个问题.但是,现在我遇到的问题是我的overflow-x被显示,而不是隐藏它并使窗口可滚动.
我的数据表初始化:
var oTable = $('#tableBP').dataTable({ "bJQueryUI": true,"sScrollX": "100%","sScrollXInner": "200%","sScrollY": 300,"bScrollCollapse": false,"bFilter": true,"bSort": false,"bInfo": false,"bPaginate": false }); //This is a Datatables plugin. The issue occurs whether I comment this part or not. new FixedColumns(oTable,{ "iLeftWidth": 225 });
这就是我面临的问题:
它虽然在IE9兼容模式下工作.不幸的是,页面的其他部分不允许我运行这是一个较低版本的兼容性,但这显然标志着它只是一个IE9问题. Chrome,Safari,Opera,Firefox都没有问题.
由于其庞大的尺寸(在某些情况下为2000 td字段),我不打算在这里发布表格.它是一个完美有效的HTML表格,带有thead / tbody,并且标签之间的所有空格都被删除了(这就是修复我之前的ghost单元格问题).
任何人都有数据表的经验,并知道这个问题的根本原因?
PS:这是一个MVC2应用程序(C#.Net),但这个问题似乎与生成此网页的应用程序无关.
更新
我忘了提到以下部分:
该表曾经正确显示;但是由于IE9在大表中的ghost单元格问题,我被迫清除了table / thead / tbody / tr / td标签之间的所有空格.
我通过在我的aplication的HTML输出上强制使用正则表达式替换来解决这个问题:
// response is the string with my HTML output which will be written to the browser after this: string expression = @">[ \t\r\n\v\f]*<td"; response = Regex.Replace(response,expression,@"> <td");
如果我注释掉RegEx替换,数据表的溢出工作完美,但我面临鬼影问题导致错位和全面丑陋.
取消注释后,所有单元格都完全对齐,但溢出停止工作.
就像我说的那样,这个问题只适用于IE9.所有其他浏览器(包括兼容模式下的IE9)都会在注释/未注释状态下完美呈现表.