Как заморозить заголовок GridView? - PullRequest
10 голосов
/ 01 октября 2008

Как в заголовке, кто-нибудь знает, как заморозить заголовок GridView в ASP.NET?

Ответы [ 7 ]

3 голосов
/ 01 октября 2008

Вы можете сделать это в CSS

Заголовок замораживания: 1. Определите класс. Замораживание в таблице стилей:

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

2. Назначение класса заголовка Datagrid для замораживания

2 голосов
/ 24 сентября 2012

Я думаю, у меня есть решение этого. пожалуйста, смотрите ниже код 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 вашего заголовка Grid.

Просто добавьте этот скрипт на страницу и замените header именем класса css, которое вы использовали в качестве заголовка.

2 голосов
/ 12 ноября 2011

Я тоже сталкивался с подобной проблемой при разработке веб-приложений в Asp.Net 2.0 / 3.5.

В один прекрасный день я наткнулся на IdeaSparks ASP.NET CoolControls . Это помогает отображать фиксированные заголовки столбцов, нижний колонтитул и пейджер.

Я использовал их лично, и мне очень понравилось!

Чтобы проверить элемент управления, нажмите здесь: IdeaSparks ASP.NET CoolControls

Надеюсь, это поможет!

2 голосов
/ 04 февраля 2010

Попробуйте этот проект с открытым исходным кодом для 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

2 голосов
/ 01 октября 2008

Вариант (а) купить в пакете пользовательского интерфейса, который включает в себя расширенный GridView со встроенной функциональностью.

Вариант (б) катать самостоятельно - это не просто. Дино Эспозито имеет один подход .

РЕДАКТИРОВАТЬ: только что заметил, что статья Dino ссылается на область только для подписчиков на сайте журнала ASPnetPro.

Вот другой подход с использованием экстендеров.

1 голос
/ 28 июля 2010

Вы можете попробовать следующий образец

Заморозить столбцы GridView

1 голос
/ 13 января 2009

Попробуйте, это должно решить проблему http://www.codeproject.com/KB/webforms/FreezePaneDatagrid.aspx

...