2008-10-01 64 views
9

Như trong một tiêu đề, không ai biết làm thế nào để đóng băng tiêu đề GridView trong ASP.NET?Làm cách nào để cố định tiêu đề GridView?

+0

Bạn có thể kiểm tra [this] (http://stackoverflow.com/questions/130564/i-need-my-html-tables-body-to-scroll-and-its-head-to-stay-put) câu hỏi. –

Trả lời

2

Tùy chọn (a) mua vào gói giao diện người dùng bao gồm GridView được tăng cường với chức năng này được tích hợp sẵn.

Tùy chọn (b) cuộn của riêng bạn - nó không đơn giản. Dino Esposito has one approach.

EDIT: Chỉ cần nhận thấy rằng bài viết Dino liên kết đến một khu vực chỉ dành cho người đăng ký trên trang web tạp chí ASPnetPro.

Đây là another approach sử dụng bộ mở rộng.

+0

Cách đóng băng nếu tiêu đề bao gồm tiêu đề chính và số lượng tiêu đề phụ? – bonCodigo

+0

@bonCodigo - có thể bạn sẽ nhận được phản hồi tốt hơn cho câu hỏi của mình nếu bạn đăng câu hỏi đó dưới dạng câu hỏi riêng. Trong trường hợp này, bạn có thể không sử dụng GridView ASP.NET, phải không? –

+0

Tôi có chế độ xem lưới trong ứng dụng web. Do việc duy trì phản hồi của phía máy chủ, chúng tôi chỉ cần dính vào GridView. Thách thức lớn nhất là các tiêu đề phụ. Trường hợp xấu nhất, chúng tôi dự định đặt tiêu đề vào html và ẩn tiêu đề khỏi GridView. Nhưng sau đó, tôi có một cảm giác xấu rằng DML/CRUD sẽ không hoạt động tốt. – bonCodigo

3

Bạn có thể làm điều đó trong css

Freeze Tiêu đề: 1. Xác định lớp .Freezing trong Stylesheet:

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

2.Assign Datagrid Tiêu đề để Freezing

+3

Nhưng nó dường như chỉ hoạt động dưới IE và không theo FF: (Dù sao, cảm ơn! :) – rafek

+2

Ngoài ra, các biểu thức không còn hoạt động trong IE8 nữa. –

+0

Cụ thể hơn, các biểu thức không hoạt động trong chế độ Tiêu chuẩn của IE8. – EricLaw

2

tôi cũng phải đối mặt với một vấn đề tương tự khi phát triển trong các ứng dụng web trong Asp.Net 2.0/3.5.

Một ngày tốt đẹp, tôi đã xem qua IdeaSparks ASP.NET CoolControls. Nó giúp hiển thị tiêu đề cột cố định, chân trang và máy nhắn tin.

Tôi đã sử dụng chúng cá nhân và tôi thực sự yêu thích nó!

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

Hy vọng điều này sẽ hữu ích!

2

Tôi nghĩ mình có giải pháp này. xin vui lòng xem bên dưới mã 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> 

nơi .header là lớp css header lưới của bạn.

Chỉ cần thêm tập lệnh này trên trang và thay thế header bằng tên lớp css bạn đã sử dụng cho tiêu đề của mình.

Các vấn đề liên quan