您当前的位置: 首页 > 

显示DataGrid序号的一个适用的方法

发布时间:2004-12-23 10:29:00 ,浏览量:0

作者Blog: http://blog.csdn.net/wangj2001/
如果数据量小的话没有问题,一旦数据量大,显示特别慢,还有个缺点就是拖动行高时行号不随行高的变化而变动,出现是几个序号在一个单元格中显示。我自己对他们的算法进行总结,写出一个效果比较不错的带序号的 DataGrid 。原理:只显示表格中显示行的序号,并且拖动行,行号一起移动。

override protected void OnPaint(PaintEventArgs e)

{

base.OnPaint(e);

    try

    {

        if(this.DataSource!=null)

        {          

        int yDelta;

        System.Drawing .Rectangle cell=this.GetCellBounds(0,0);

        int y=cell.Top +2;

        e.Graphics.DrawString("编号", this.Font, new SolidBrush(Color.Black), 8, y-18); //

        if(this.VisibleRowCount >0)//只在有记录集时在表格中显示序号

        {                  

            CurrencyManager cm;

            cm = (CurrencyManager) this.BindingContext[this.DataSource, this.DataMember];

            if(cm.Count >0)

            {                      

                int nRow=-1;

                y=41;           //为第一行默认高度

                while(nRow<0)

                {

nRow=this.HitTest (8,y).Row ;

                    y++;

                }

                int nCount=0;

                while(y

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    108697博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.2023s