XPages のビューでページダウンしてもヘッダーがそのままの位置に留まるように、ビューヘッダーを固定する非常に簡単な方法があるかどうかを確認するだけです。position=Fixed
のプロパティではありませんxp:viewColumnHeader
。
1299 次
3 に答える
1
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>
しかし、それだけではうまくいかないと思います。しばらく前に、Extension Library の Application Layout コントロールでフローティング バナー、タイトル バー、プレイス バーを作成する CSS スニペットを作成しました。そこからいくつかのアイデアを得ることができます。
于 2013-03-26T16:55:10.507 に答える
1
はい、可能ですが、JavaScript コーディングが必要です。最近、次のコードを使用して顧客のために解決しました。基本的な考え方は、TD の最初の行から列の幅を取得し、これを TH に適用して、後で TH を固定に設定することです。部分更新後もこの関数を実行する必要があります。幸運を。
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);
于 2013-03-28T08:12:47.667 に答える
0
先日、テーブル ヘッダーを修正できる jQuery コードを見ました。それがどこにあったか覚えていませんが、あなたを助けることができる何かがそこにあるはずです.
于 2013-03-27T18:17:19.013 に答える