1

常に位置が固定されているように見えるページに 2 つのグリッドがあります。

本文にオーバーフロー スクロールバーが表示されたときにページをスクロールさせたい。ただし、グリッドは常に同じ場所に留まり、残りのページ コンテンツと一緒にスクロールしません。

UltraWebGrid を相対的なものにして、ページの残りのコンテンツでページを上にスクロールする方法はありますか?

これはIE6では機能するようですが、IE8では機能しません。すべての jQuery/CSS ハッキングが成功したわけではありません。

4

2 に答える 2

0

念のため、誰にとっても役立つ可能性があります。何らかの理由で、コンポーネントによって作成されたテーブル内のすべてのオブジェクトに「位置: 相対」属性があることがわかりました。削除すると、テーブルは正常に動作します。

したがって、この属性を削除するためにこのコードを書きました。Infragistics で作成したテーブルの名前をコピーして貼り付けたので、変更します (または、より良い方法を見つけて取得します ^^)

function removeRelativePosition(item) {
    var elt;
    if(item == '') {
        elt = document.getElementById('ctl00xmasterContentPlaceHolderxwPanReportsxuwGridReport_main');
    }
    else {
        elt = item;
    }

    //Call this function recursively on every child
    if(elt.childNodes !== undefined) {
        for(var i=0;i< elt.childNodes.length; i++) {
            removeRelativePosition(elt.childNodes[i]);
        }
    }
    //Then remove the attribute
    if(elt.style !== undefined) {
        elt.style.position = '';
    }
}

//Run this function when your page is ready
$(document).ready(function() {
    removeRelativePosition('');
});
于 2011-01-28T15:10:50.023 に答える
0

非常によく似た問題と関連する参照リンクは、ここに着陸した人にも役立つ可能性があります。

これは私のためにそれをクラックし、に変更headrunat=server、魔法のようにオーバーフローとスクロールが再び機能するようになりました. これは良い方法ではありませんが、回避策です。それの訳は

「…。ページにインライン式がある場合、ページのコントロール コレクションは別の方法で作成されます。インライン式のないページでは、コントロール コレクションの最初の要素は、ページの上部と最初のサーバー コントロールの間のすべての html を持つリテラル コントロールです。インライン式がある場合、コントロール コレクションの最初の要素は、ページの最初のサーバー コントロールです (通常は要素または )。

グリッドは、ページが quirks モードか標準モードかによってレンダリングが少し異なるため、グリッドが持つ Doctype を把握するために、すべてのマークアップを含むリテラルが必要です。大きな違いの 1 つは、スクロール領域に「position:relative」スタイルを追加して、行がグリッドからはみ出す問題を回避することです。

これを修正する方法は、インライン コードをコード ビハインドに移動することです。Page.ClientScript.RegisterClientScriptBlock メソッドを使用して、Request.Params["expired"] 値に基づいて JavaScript を生成します。……」</p>

http://wagnerblog.com/2007/09/creative-terminology-and-an-infragistics-ultrawebgrid-bug/


これは私には役に立たなかったようですが、ymmv

http://blogs.infragistics.com/forums/p/21880/79596.aspx :

グリッドは相対位置を使用します。グリッドがはみ出さないように、コンテナーには position:relative も必要です。

于 2011-09-27T20:21:14.817 に答える