1

1 ページに 4 つの asp.net グリッドビューがあります。Jquery スライダーを使用して、それらすべてを同時にスクロールします (垂直方向のみ)。スクロール中にヘッダー行を固定するにはどうすればよいですか?

すべてのグリッドは更新パネル内にあります。

各グリッドビューは Div 内にあります。div のスタイルの例を次に示します。

<div id="grid1Div" style="overflow-y:hidden;" class="gridHeight">

.gridHeight
{
    height:430px;
}

グリッド スタイルの例を次に示します (すべてのスタイルはほぼ同じです)。

<asp:GridView ID="grid1" runat="server" CssClass="exGrid1" AutoGenerateColumns="False" OnRowCreated="grid1_RowCreated" meta:resourcekey="grid1Resource1"  >

.exGrid1 { 
    width: 100%; 
    background-color: #DDE8EE; 
    margin: 0 0 0 0; 
    border: solid 1px #FFFFFF; 
    border-collapse:collapse; 
    color: #666666;
}
.exGrid1 td { 
    padding: 2px; 
    border: solid 1px #FFFFFF; 
    color: #666666/*#000000*/; 
    font-size: 0.8em; 
}
.exGrid1 th { 
    padding: 4px 2px; 
    color: #FFFFFF; 
    background: #76B7E2 url(grd_head.png) repeat-x top; 
    border-left: solid 1px #FFFFFF; 
    font-size: 0.8em; 
}
.exGrid1 .alt { background: #fcfcfc url(grd_alt.png) repeat-x top; }
.exGrid1 .pgr { background: #424242 url(grd_pgr.png) repeat-x top; }
.exGrid1 .pgr table { margin: 5px 0; }
.exGrid1 .pgr td { 
    border-width: 0; 
    padding: 0 6px; 
    border-left: solid 1px #666; 
    font-weight: bold; 
    color: #FFFFFF; 
    line-height: 12px; 
 }   
.exGrid1 .pgr a { color: #666; text-decoration: none; }
.exGrid1 .pgr a:hover { color: #000; text-decoration: none; }

そして、ここにすべてのグリッドのスクロールの高さを設定する Jquery 部分があります。

function setGridScroll() {
    var scrollPane = $('#divScroll');
    var scrollGrid1 = $('#grid1');
    var scrollGrid2 = $('#grid2');
    var scrollGrid3 = $('#grid3');
    var scrollGrid4 = $('#grid4');

    var scrollMaxHei = $('#grid1')[0].scrollHeight - 230;
    scrollPane.slider({
        orientation: "vertical",
        value: scrollMaxHei-200,
        min: 200,
        max: scrollMaxHei,
        slide: function (event, ui) {
            var setValue = scrollMaxHei - ui.value-200;
            scrollGrid1.scrollTop(setValue);
            scrollGrid3.scrollTop(setValue);
            scrollGrid4.scrollTop(setValue);
            scrollGrid2.scrollTop(setValue);

        }
    });
}

gridview(s) の fixedheader クラスに何かを設定するだけでヘッダーをフリーズできますか?

<HeaderStyle CssClass="fixedHeader" />


.fixedHeader
    {
     position: relative;
    }

これを行う簡単な方法はありますか? すべてのグリッドビューを個別に保持する必要があり、それらすべてにスクロールバーを使用することはできません。また、ユーザーは必要に応じてグリッドビューを非表示にできるため、スクロールバーは独自の div に配置する必要があります。

4

0 に答える 0