在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. IOS开发之——颜色设置

    颜色设置: 指定RGB,參数是:红.绿.黄.透明度,范围是0-1 + (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(C ...

  2. UITableView优化那点事

    forkingdog关于UITableView优化的框架其实已经能够应用在一般的场景,且有蛮多的知识点供我们借鉴,借此站在巨人的肩膀上来分析一把. 至于UITableView的瓶颈在哪里,我相信网上随 ...

  3. window.external.notify() 与 UglifyJS 压缩优化冲突

    近期研究了一下 UglifyJs 对 JS 代码的压缩,发现 UglifyJS 压缩后,无法调用 window.external.notify() 方法,JS 代码如下: function MyNot ...

  4. Service的启动与停止、绑定与解绑

    ---恢复内容开始--- Service的意义就在于当软件停止之后还可以在背景中进行运行,换句话也就是说,比如一个音乐播放器,当我们退出音乐播放器的时候,还是希望它在背景中运行,也就是一直播放着音乐, ...

  5. Oracle inactive session (last_call_et)

    注意last_call_et的值, select s.status,s.last_call_et,s.* from v$session s where username='DDD'; 在本例中,开了个 ...

  6. 让ubuntu使用root帐号并让winscp以root身份登录

    ubuntu 服务器默认的root账号是没有激活的,需要用初装的用户账号给root设置管理密码: $ sudo passwd root  //用sudo修改root帐户 Password: //输入密 ...

  7. [转]div里table居中的问题 Div与body顶部间隙

    本文转自:http://www.cnblogs.com/jinhui/archive/2008/09/24/1297729.html 将div的text-align设为center,然后将table的 ...

  8. win7 X64可用的单文件IE6

    由于日常调试需要用到老版本的ie,没有办法!用ietest老师感觉不好使,动不动就死了.就找到了ie的单文件版,有博主 小明爱切糕制作,IE6.7.8单文件版本 http://www.cnblogs. ...

  9. 为Debain &&Centos安装dig

    Debain&Ubuntu sudo apt-get install dnsutils Fdeoar&Centos yum install bind-utils

  10. .NET学习笔记(2) — IIS服务器环境搭建

    目录 一:开启Windows系统自带的IIS服务器方法 二:备注 三:常见问题     一:开启Windows系统自带的IIS服务器方法   第一步:安装IIS,控制面板->程序和功能-> ...