XPages-是否可以使视图列标题固定?
只需检查是否有一种非常简单的方法来固定视图标题,以便在XPages中向下翻页视图时,标题保持在原来的位置XPages-是否可以使视图列标题固定?,xpages,Xpages,只需检查是否有一种非常简单的方法来固定视图标题,以便在XPages中向下翻页视图时,标题保持在原来的位置position=Fixed不是xp:viewColumnHeader的属性。如果要将position的属性添加到xp:viewColumnHeader中,可以使用attrs属性(适用于8.5.3)。您的代码将如下所示: <xp:viewColumnHeader ......> <xp:this.attrs> <xp:attr name="
position=Fixed
不是xp:viewColumnHeader
的属性。如果要将position
的属性添加到xp:viewColumnHeader
中,可以使用attrs
属性(适用于8.5.3)。您的代码将如下所示:
<xp:viewColumnHeader ......>
<xp:this.attrs>
<xp:attr name="position" value="fixed"></xp:attr>
</xp:this.attrs>
</xp:viewColumnHeader>
但我不认为单凭这一点就能奏效。前一段时间,我创建了一个CSS代码片段,用于。你可以从中得到一些想法。前几天我看到了一些jQuery代码,可以修复表头。不记得它在哪里,但可以帮助您的东西应该在那里。是的,这是可能的,但需要一些JavaScript编码。 我最近用以下代码为一位客户解决了这个问题。基本思想是将列的宽度从TDs的第一行计算出来,然后将其应用于THs ad,然后将THs设置为固定。 您还需要在部分更新后运行此函数。祝你好运
var fixTableHeaders = function() {
var thead = dojo.query("thead")[0];
if (!thead) return;
thead.style.position = "static";
var THs = dojo.query('.xspDataTable th');
var firstTDs = dojo.query('.xspDataTable tr:first-child td');
var secondTDs = null;
if (firstTDs.length < 2) {
// categorized view, first line is a category with only one cell
// -> we need the second line
secondTDs = dojo.query('.xspDataTable tr:nth-child(2) td');
}
var w = 0;
for (var i = 0; i < THs.length; i++) {
w = dojo.coords(THs[i], true).w;
// console.log(i+" w="+w);
THs[i].style.width = (w)+"px";
if (firstTDs[i]) {
//if (secondTDs && secondTDs[i]) secondTDs[i].style.width = w+"px";
//else firstTDs[i].style.width = w+"px";
firstTDs[i].style.paddingTop = "3em";
}
}
thead.style.position = "fixed";
}
dojo.addOnLoad(fixTableHeaders);
var fixTableHeaders=function(){
var thead=dojo.query(“thead”)[0];
如果(!thead)返回;
thead.style.position=“静态”;
var THs=dojo.query('.xspDataTable th');
var firstTDs=dojo.query('.xspDataTable tr:first-child-td');
var secondTDs=null;
如果(第一个TDS.长度<2){
//分类视图,第一行是一个只有一个单元格的类别
//->我们需要第二条线路
secondTDs=dojo.query('.xspDataTable tr:nth child(2)td');
}
var w=0;
对于(变量i=0;i
成功了!我只是将视图中的类名替换为xspDataTableViewPanel
,只是做了一些调整。谢谢:)