在vb6中要显示数据虽然有datagrid、msflexgrid、mshflexgrid、vsflexgrid、True dbgrid7.0 可选,不过我在工作中用的最多的还是MSHFlexGrid,以下我会常分享一些使用这个控件的技巧、方法代码,保证拿了就可以用。

1、使用MSHFlexGrid的FormatString属性可以做到一次设置行标题和列标题
 
Dim sTitle As String
 
sTitle = "<Name |<Address |<Telephone |<Social Security>"
sTitle = sTitle + ";|Robert|Jimmy|Bonzo|John Paul"
 
MSHFlexGrid.FormatString = sTitle
 
 
    Dim sTitle As String  '列标题
    '设置数据源
    Set msh_Data.DataSource = AllRs
    msh_Data.Refresh
 
    '///解决不能单击鼠标指向行///
    If msh_Data.Rows > 1 Then
        msh_Data.FixedRows = 0
        msh_Data.FixedRows = 1
    End If
    
    With msh_Data
    
        '填充左边记录行数
        .TextMatrix(0, 0) = " 序号"
        
        Dim i As Long
        For i = .FixedRows To .Rows - .FixedRows
            .TextMatrix(i, 0) = i
        Next i
        
        .RowHeight(0) = 600  '设置首行也即标题栏高度
        
        '单击选择整行
        .FocusRect = flexFocusNone
        .SelectionMode = flexSelectionByRow
        'msh_Data.BackColorSel = vbYellow
        '固定第一列,不然再移动下一列的时候就会自动跳到最后一列了
        .Col = 1
        .FormatString = sTitle  '设置列标题内容
        .ColWidth(0) = 0
        .ColWidth(1) = 600
        
        
    End With
 
    '刷新后选取首行
    msh_Data.Row = msh_Data.FixedRows
    msh_Data.RowSel = msh_Data.FixedRows
    msh_Data.Col = 0
    msh_Data.ColSel = msh_Data.Cols - 1
 
     '刷新后选取最后一行
    MSFlexGrid1.Row = MSFlexGrid1.Rows - MSFlexGrid1.FixedRows
    MSFlexGrid1.RowSel = MSFlexGrid1.Rows - MSFlexGrid1.FixedRows
    MSFlexGrid1.Col = 0
    MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1
 

'禁止mshflexgrid选择多行记录

'第一种方法
Private Sub MSHFlexGrid1_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
  If MSHFlexGrid1.RowSel <> MSHFlexGrid1.Row Then MSHFlexGrid1.RowSel = MSHFlexGrid1.Row
End Sub

'第二种方法

Private Sub msh_Data_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If msh_Data.MouseRow = 0 Then Exit Sub

With msh_Data
.Row = .MouseRow
CURRENTROW = .Row
.Col = 0 '如果是0则可以不选择多行
.ColSel = .Cols - 1
End With

End Sub

Private Sub msh_Data_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If msh_Data.MouseRow = 0 Then Exit Sub

With msh_Data
.RowSel = CURRENTROW
.ColSel = .Cols - 1
End With

End Sub

 
 
 
 
 

VB6-表格控件MSHFlexGrid 实用代码的更多相关文章

  1. k/3cloud表格控件块粘贴代码逻辑

    大家可以在表单插件EntityBlockPasting事件中自己处理,然后将cancel设置为true.以下代码可以参考一下,插件代码中需要将其中一些属性或方法修改,例如this.BusinessIn ...

  2. SNF快速开发平台MVC-EasyUI3.9之-DataGrid表格控件如何增加右键菜单

    如题,我们在项目开发当中会遇到需要,表格控件增加右键菜单的使用. 下面我们就以SNF框架增加右键菜单步骤如下: 1.在加载页面当中增加如下菜单定义 <div id="mm" ...

  3. QRowTable表格控件-支持hover整行、checked整行、指定列排序等

    目录 一.开心一刻 二.嘴一嘴 三.效果展示 四.浅谈实现 五.自定义数据源 1.data函数 2.flags函数 六.自定义视图 1.目的 2.问题分析 七.测试 八.相关文章 原文链接:QRowT ...

  4. QRowTable表格控件(二)-红涨绿跌

    目录 一.开心一刻 二.概述 三.效果展示 四.任务需求 五.指定列排序 六.排序 七.列对其方式 八.相关文章 原文链接:QRowTable表格控件(二)-红涨绿跌 一.开心一刻 一天,五娃和六娃去 ...

  5. QRowTable表格控件(三)-效率优化之-合理使用QStandardItem

    目录 一.开心一刻 二.概述 三.效果展示 四.QStandardItem 1.QStandardItem是什么鬼 2.性能分析 3.QStandardItem使用上的坑 五.相关文章 原文链接:QR ...

  6. QTableView表格控件区域选择-自绘选择区域

    目录 一.开心一刻 二.概述 三.效果展示 四.实现思路 1.绘制区域 2.绘制边框 3.绘制 五.相关文章 原文链接:QTableView表格控件区域选择-自绘选择区域 一.开心一刻 陪完客户回到家 ...

  7. QRowTable表格控件(四)-效率优化之-优化数据源

    目录 一.开心一刻 二.问题分析 三.重写数据源 1.自己存储数据 2.重写data接口 四.比较 五.相关文章 原文链接:QRowTable表格控件(四)-效率优化之-优化数据源 一.开心一刻 一程 ...

  8. QRowTable表格控件(五)-重写表头排序、支持第三次单击恢复默认排序

    目录 一.原生表格 二.效果展示 三.实现方式 1.排序列定制 2.排序交互修改 四.相关文章 原文链接:QRowTable表格控件(五)-重写表头排序.支持第三次单击恢复默认排序 一.原生表格 开发 ...

  9. Spread.NET 表格控件 V12.1 正式发布

    Spread.NET 表格控件 V12.1 正式发布 加入动态数组,让公式运算更具效率 Spread.NET 是一个在功能和布局上与 Excel 高度类似的 .NET表格控件,目前已广泛应用于财务.预 ...

随机推荐

  1. [C++知识点]2015.4.18

    1.“static_cast/强制转换”后普通函数.虚函数的表现 A基类 B子类 实例aPtr:将B实例强制抓换得到的A实例 实例bPtr:将A实例强制转换得到的B实例 总结: (1) aPtr因为是 ...

  2. RecyclerView, ListView 只显示一行内容 问题解决

    Adapter 中的data有多行,但是RecyclerView只显示一行. 原因出在item的layout xml, 用了自动生成的RelativeLayout, 她的默认高度height属性是ma ...

  3. C语言进行CGI程序设计

    一.CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程序)的接口协议标准.Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序接受Web浏览器发送给 ...

  4. Entity Framework 配置

    Entity Framework的核心 – EDM(Entity Data Model) EDM概述 实体数据模型,简称EDM,由三个概念组成.概念模型由概念架构定义语言文件 (.csdl)来定义,映 ...

  5. ASP长文章分页的两个方法,函数

    '按标识手动分页 function manualPage(str) pages=request.QueryString("page") contentstr=split(str,& ...

  6. [转]Windows Shell 编程 第四章 【来源 http://blog.csdn.net/wangqiulin123456/article/details/7987933】

    第四章 文件的本质 以前,所有文件和目录都有一个确定的属性集:时间,日期,尺寸,以及表示‘只读的’,‘隐藏的,‘存档的’,或‘系统的’状态标志.然而,Windos95(及后来的WindowsNT4.0 ...

  7. Mysql主从配置+读写分离

    Mysql主从配置+读写分离     MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具.因此,我们首先要在系统中源码编译安装cmake工具. ...

  8. ora 32021 设置参数时参数值长度超过255处理办法

    alter system set db_file_name_convert='AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-.' scope=spfi ...

  9. ###Linux基础 - 1

    点击查看Evernote原文. #@author: gr #@date: 2014-10-11 #@email: forgerui@gmail.com 前言 为什么学习Linux?:-) 酷Cool ...

  10. mybatis关联查询

    场景:一个人有多个手机号,一个手机号对应一个人 CREATE TABLE test.mobile ( mid INT NOT NULL auto_increment, tel ), pid INT, ...