2008-10-01 6 views
9

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

+0

Вы можете проверить [это] (http://stackoverflow.com/questions/130564/i-need-my-html-tables-body-to-scroll-and-its-head-to-stay-put) вопрос. – 2008-10-01 20:21:36

ответ

2

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

Вариант (b) катите свой собственный - это не просто. Dino Esposito has one approach.

EDIT: Только что заметил, что статья Dino связана с сайтом только для подписчиков на сайте журнала ASPnetPro.

Адрес another approach с использованием удлинителей.

+0

Как заморозить, если заголовок состоит из основного заголовка и количества подзаголовков? – bonCodigo 2014-09-02 07:00:56

+0

@bonCodigo - вы, вероятно, получите ответы на свой вопрос, если вы разместите его как отдельный вопрос. В этом случае вы, вероятно, не используете ASP.NET GridView, верно? – 2014-09-02 15:44:11

3

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

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

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

2.Assign DataGrid Header к Замораживание

2

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

я тоже столкнулся с аналогичной проблемой при разработке в веб-приложений ASP.NET 2.0/3.5.

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

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

To check the control click here : IdeaSparks ASP.NET CoolControls

Надеется, что это помогает!

2

Думаю, у меня есть решение этого. смотрите ниже код яваскрипта

<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, которое вы использовали для своего заголовка.