質問

タイトルのように、ASP.NETでGridViewヘッダーをフリーズする方法を知っている人はいますか?

役に立ちましたか?

解決

オプション(a)この機能が組み込まれたスープアップされたGridViewを含むUIパッケージを購入します。

オプション(b)独自のロール-それは簡単ではありません。 Dino Esposito 1つのアプローチがあります。

編集:Dinoの記事がASPnetProマガジンサイトの購読者専用エリアにリンクしていることに気づきました。

エクステンダーを使用する別のアプローチ

他のヒント

CSSで実行できます

ヘッダーの固定: 1.スタイルシートでクラス.Freezingを定義します:

.Freezing
{
   position:relative ;
   top:expression(this.offsetParent.scrollTop);
   z-index: 10;
}   

2.DatagridヘッダーのcssClassをフリーズに割り当てる

ASP.NET用のこのオープンソースプロジェクトを試してください。 GridViewを拡張して、固定ヘッダー、フッター、およびページャーとサイズ変更可能な列幅を提供します。 IE 6/7/8、Firefox 3.0 / 3.5、Chrome、およびSafariで正常に動作します。

http://johnsobrepena.blogspot.com /2009/09/extending-aspnet-gridview-for-fixed.html

私も、Asp.Net 2.0 / 3.5のWebアプリケーションで開発中に同様の問題に直面しました。

ある晴れた日、 IdeaSparks ASP.NET CoolControls に出会いました。修正列ヘッダー、フッター、およびページャーを表示するのに役立ちます。

私はそれらを個人的に使用し、本当に気に入りました!

コントロールを確認するには、ここをクリックしてください:IdeaSparks ASP.NET CoolControls

これがお役に立てば幸いです!

これには解決策があると思います。 以下のjavascriptコードをご覧ください

<script type="text/javascript" language="javascript">
    var orgTop = 0;
    $(document).scroll(function () {
        var id = $("tr:.header").get(0);
        var offset = $(id).offset();
        var elPosition = $(id).position();
        var elWidth = $(id).width();
        var elHeight = $(id).height();
        if (orgTop == 0) {
            orgTop = elPosition.top;
        }
        if ($(window).scrollTop() <= orgTop) {
            id.style.position = 'relative';
            id.style.top = 'auto';
            id.style.width = 'auto';
            id.style.height = 'auto';
        }
        else {
            id.style.position = 'absolute';
            id.style.top = $(window).scrollTop() + 'px';
            id.style.width = elWidth + 'px';
            id.style.height = elHeight + 'px';

        }
    });
</script>

.header は、グリッドヘッダーのcssクラスです。

このスクリプトをページに追加し、 header をヘッダーに使用したcssクラス名に置き換えてください。

これを試して問題を解決する必要があります http://www.codeproject.com/KB/webforms/FreezePaneDatagrid.aspx

次のサンプルを試すことができます

GridViewをフリーズする列

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top