Вопрос

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

Это было полезно?

Решение

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

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

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

Вот другой подход с помощью расширителей.

Другие советы

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

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

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

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

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

В один прекрасный день я наткнулся 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 вашего заголовка Grid.

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

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

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

Зафиксировать столбцы GridView

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top