Asp.net 2.0 自定义控件开发[实现GridView多行表头固定表体滚动效果]

本文介绍了一种自定义控件GridViewExpendHeader,该控件扩展了GridView的功能,提供表头固定、表体滚动的效果,同时支持多行表头。通过设置控件属性和高度,可以实现滚动条的呈现。代码包括主控件、事件参数类和测试页面代码,并提供了示例代码下载链接。
摘要由CSDN通过智能技术生成

(一). 概述

        1. 实现GridView表头固定表体滚动效果

        2. 继承GridView的所有功能, 增加扩展功能, 表体滚动功能; 不需要另外加辅助滚动控件, 如<DIV>.

        3. 支持多行表头滚动, 此控件能够自动检测到使用者增加的表头的行数. 准确的实现表头滚动.

            有增加GridView多表头实现方案, 请看[多表头自定义控件].

(二). 运行如图

  

 

(三). 用法

   1. 将GridViewExpendHeader控件Dll添加引用到Web站点工程中

   2. 从工具箱拖动一个GridViewExpendHeader控件到设计器中

   3. 设置GridViewExpendHeader控件的属性.

                a.  设置属性窗口中新增的 "扩展" 类别中的两个属性,  这两个属性是指滚动区域的大小, 如下图所示:

                        

               b.  设置GridView本身的高度Height, 这个高度是指滚动区域内的GridView的实际高度, 这个高度数值设置

                     要大于ScrollHeight滚动条才能够呈现.  简单地说, 本自定义控件自动会实现一个GridView(自己)

                    的父控件<DIV>,  然后再把自己放在里面,  如果自己高度小于<DIV>高度了,  不用滚动就能够显示

                    全自己的数据, 滚动条就没有呈现的意义了.   这里讲得有点啰嗦.   .        

   4. F5运行即可

(四). 完整代码

    1. 主控件GridViewFixedMultiHeader类代码    

  1       ///   < summary >
  2       ///  Author: [ ChengKing(ZhengJian) ] 
  3       ///  Blog:   Http: // blog.csdn.net / ChengKing
  4       ///   Date :    2007 / 4 / 3
  5       ///   </ summary >     
  6       ///   < summary >
  7       ///  主控件类, 继承GridView的所有功能
  8       ///   </ summary >
  9      [ToolboxData( " <{0}:GridViewExpendHeader runat=server></{0}:GridViewExpendHeader> " )]
 10       public   class  GridViewFixedMultiHeader : GridView 
 11      {       
 12          [Description( " 当需要重新构造Header时触发此事件 " )]
 13           public   event  System.EventHandler RebuildHeader;
 14 
 15           private  System.Web.UI.WebControls.Panel pnlScroll  =   new  System.Web.UI.WebControls.Panel();
 16 
 17           #region  扩展
 18           ///   < summary >
 19           ///  设定滚动容器的宽度
 20           ///   </ summary >
 21          [Bindable( true )]
 22          [Category( " 扩展 " )]
 23          [DefaultValue( " 500px " )]
 24          [Localizable( true )]
 25          [TypeConverter( typeof (UnitConverter))]
 26           public  Unit ScrollWidth
 27          {
 28               get
 29              {
 30                   return  pnlScroll.Width;
 31              }
 32               set
 33              {
 34                  pnlScroll.Width  =  value;
 35              }
 36          }
 37 
 38           ///   < summary >
 39           ///  设定滚动容器的高度
 40           ///   </ summary >
 41          [Bindable( true )]
 42          [Category( " 扩展 " )]
 43          [DefaultValue( " 150px " )]
 44          [Localizable( true )]
 45          [TypeConverter( typeof (UnitConverter))]
 46           public  Unit ScrollHeight
 47          {
 48               get
 49              {
 50                   return  pnlScroll.Height;
 51              }
 52               set
 53              {
 54                  pnlScroll.Height  =  value;
 55              }
 56          }
 57          #endregion
 58 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值