zoukankan      html  css  js  c++  java
  • 可以显示行号的DataGrid(WinForm)

        关键字:WinForm DataGrid 显示行号

        近日在网上搜到一些如何在WinForm的DataGrid上显示行号的资料,因此自己也写了一段代码,因为是在前人实践的基础上做了些修改,所以不敢独享。如下:
    /// <summary>
    /// 可以显示行号的DataGrid
    /// </summary>

    public class HDataGrid : System.Windows.Forms.DataGrid
    {
        
    public HDataGrid():base()
        
    {}

        
    private bool _DisplayRowNumber = false;
        
    /// <summary>
        
    /// 控制是否显示行号
        
    /// </summary>

        [Browsable(true),DefaultValue(false),Description("是否显示行号")]
        
    public bool DisplayRowNumber
        
    {
            
    get return _DisplayRowNumber; }
            
    set 
                _DisplayRowNumber 
    = value; 
                
    this.Invalidate();
                
            }

        }



        
    /// <summary>
        
    /// 重载OnPaint方法显示行号
        
    /// </summary>
        
    /// <param name="e"></param>

        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        
    {
            
    base.OnPaint (e);

            
    //显示行号
            if (DisplayRowNumber && this.RowHeadersVisible && this.VisibleColumnCount > 0)
            
    {
                
    if (this.DataSource == nullreturn;
                
                
    int iRowNumStart = this.VertScrollBar.Value;
                
    int yPos = 0;
                
    int iRowNumEnd = iRowNumStart + this.VisibleRowCount;

                
    while(iRowNumStart < iRowNumEnd)
                
    {
                    yPos 
    = this.GetCellBounds(iRowNumStart++,0).Y + 2;

                    
    string strRowNum = string.Format(" {0}",iRowNumStart);

                    e.Graphics.DrawString(strRowNum,
    this.Font ,new System.Drawing.SolidBrush(System.Drawing.Color.Black), 6, yPos);
                }

            }


            
        }


    }
  • 相关阅读:
    Dom页面加载
    Redis
    Ubuntu下git的安装与使用
    类Xadmin插件--海豚插件
    Python基础指随笔
    前端必须掌握30个CSS3选择器
    SweetAlert插件示例
    Pylint在项目中的使用
    django Cookie、Session和自定义分页
    django创建超级用户
  • 原文地址:https://www.cnblogs.com/ZDJ/p/117000.html
Copyright © 2011-2022 走看看