문제
제목에서와 같이 ASP.NET에서 GridView 헤더를 동결하는 방법을 아는 사람이 있습니까?
해결책
옵션 (a)이 기능이 내장 된 수프 gridview가 포함 된 UI 패키지로 구매하십시오.
옵션 (b) 직접 굴립니다 - 간단하지 않습니다. 디노 에스포지토 하나의 접근 방식이 있습니다.
편집 : DINO 기사가 ASPNETPRO 잡지 사이트의 가입자 전용 영역과 연결되어 있음을 알았습니다.
여기에 있습니다 또 다른 접근법 익스텐더 사용.
다른 팁
CSS에서 할 수 있습니다
동결 헤더 :1. 스타일 시트에서 클래스 정의.
.Freezing
{
position:relative ;
top:expression(this.offsetParent.scrollTop);
z-index: 10;
}
2. DataGrid 헤더의 CSSCLASS를 동결에 할당합니다
ASP.NET 의이 오픈 소스 프로젝트를 사용해보십시오. GridView를 확장하여 고정 헤더, 바닥 글 및 호출기 및 RESIZABLE 열 폭을 제공합니다. 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 클래스입니다.
페이지 에이 스크립트를 추가하고 교체하십시오 header
헤더에 사용한 CSS 클래스 이름으로.
이것을 시도해 보면 문제를 해결해야합니다http://www.codeproject.com/kb/webforms/freezepanedatagrid.aspx
다음 샘플을 사용해 볼 수 있습니다