marting 发表于 2019-1-13 14:11:27

VSFlexGrid Pro 8.0 中文手册


作者原话:
VSFlexGrid Pro 8.0 是一款功能强大的数据表格控件,无须依赖任何应用工具,便可高效、灵活地处理表格,广泛应用于数据库前端、ERP系统设计。VSFlexGrid并没有中文版的使用手册,网上极为少见的列举其属性、方法的“强帖”,也不过是机器翻译的结果(Range能翻译成“山脉”,我想也不会有几个人看得懂),且只翻译了这些属性、方法的名称,到底这些属性、方法是什么意思,怎么使用,则没有任何信息。这对于英文不好的人来说,要翻看密密麻麻的英文手册,不得不说是件痛苦的事。于是我利用空余时间,每天翻译几条,花费数月,终于完成了VSFlexGrid英文用户手册的翻译。本手册为全文翻译,并经过全文复查,内容没有遗漏,但限于本人的英语水平和计算机知识水平(均未达到业余爱好的水平),文中错误在所难免,在此,希望大方之家不吝斧正。

附件已经设置好完整的目录和书签,方便大家查找和阅读。作者见pdf







marting 发表于 2019-1-13 14:14:24


1,为什么使用vsFlexGrid控件?
首选要选择一款支持ADO绑定数据库的表格控件,Ultimate Grid可以,免费,但使用起来过于繁琐,所有操作都要深入到Grid控件内部,这种写法不同于常规的开发方法,我们习惯了通过外部属性、事件、方法控制表格,而不是钻到控件派生类里书写数据库代码。
sFlexGrid控件与MSHFlexGrid类似,只是增加了一些功能。缺点是VC的函数没有详解,只有VB的函数支持。大概OCX控件都这德行?
OCX控件使用前需要在系统中注册。rersvr32 xxx.ocx注册,rersvr32 /u xxx.ocx撤销登记。
未破解的vsFlexGrid控件会弹出注册绘画框。在win7下可能会遭遇其它问题。
2,vsFlexGrid控件的版本
Visual Studio 6中带的MSFlexGrid是版本6.0
VideoSoft公布了vsFlexGrid 7.0,大概是2000年左右
ComponentOne vsFlexGrid 8.0,也叫vsFlexGrid Pro,增加了VSFlexString类,最早8.0是2003年左右开始,一直延续到今天
ComponentOne 的vsFlexGrid Pro 8.0单独销售,其它几个产品包也包含此控件,比如,ComponentOne Studio for ActiveX 2014 V3一共支持8个控件,ComponentOne Studio Enterprise、ComponentOne Studio for ActiveX也包含此控件。
新版的vsFlexGrid Pro 8.0支持64位系统,解决了64bit win7不支持32位OCX/DLL注册的问题。
这一组控件新开发了支持.NET平台的版本,命名为C1FLEXGRID。以及支持ASP.NET、Windows Phone等其他平台的版本
3,vsFlexGrid控件包含的两部分内容:表格控件VSFlexGrid、表达式控件VSFlexString。具体地,各个控件名称如下:
VSFLEX8.OCX          VSFlexGrid 8.0 control with ADO/OLEDB data-binding.
VSFLEX8D.OCX         VSFlexGrid 8.0 control with DAO data-binding.
VSFLEX8L.OCX      VSFlexGrid 8.0 control with no data-binding support.
VSFLEX8U.OCX         Unicode version of the VSFlexGrid 8.0 control with ADO/OLEDB data-binding.
VSSTR8.OCX            VSFlexString 8.0 control (This control used to be part of the VSFLEX6.OCX file).
VSFLEX8N.OCX          Unicode version of the VSFlexGrid Light control.
VSPPG8.DLL            This is the property pages file for use with the VSFlexGrid at design time in the Visual Basic IDE.
      VC开发环境下,使用ADO/OLEDB开发数据库,只需VSFLEX8.OCX控件即可,其它可根据需要添加。

4,VSFlexGrid 8.0的附属文件
VB例程
VC例程
vsflex8.chm这是hlp文件
VSFlexGrid8Manual2006.pdf 这是pdf格式文档,内容与上述hlp一致,无新意
5,VSFlexGrid的使用
从文档和例程可以看出,引入此控件最简单的使用方法是基于对话框应用,此时可以非常方便地设置控件属性
即使是基于窗口的应用,也建议使用CFormView来包含控件的实例,原因同上
如果一定要使用CView类包含此控件的实例,可以使用控件Create函数创建实例,但控件的特殊属性需要手工编程
hlp文档没有C语言函数说明,需要自己根据控件生成的CVSFlexGrid.h和CVSFlexGrid.cpp文件自行揣测。这简直是一种折磨。
6,使用ADO编程,绑定数据库
插入ADO/OLEDB支持库:VSFLEX8.OCX
ADO连接数据库:首先构建连接字符串(或者使用OLEDB那套技术,打开数据源对话框),建立连接,并使用sql语句取得数据集(一张表),返回_RecordsetPtr类型的数据集
VSFlexGrid控件的SetRefDataSource(LPUNKWN newValue)函数用于绑定数据集,其newValue可以直接用_RecordsetPtr类型的数据表代替,此过程即可加载数据集,并在界面显示出来。
示例:MFCData、ADOFilter、DBase
一个简单的操作过程如下:
void CAdoFlexgridDlg::ConnectServer()
{
// 获得连接字符串
CString strConnection = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dbTest.mdb");
// 使用g_conn类,连接数据库
theApp.g_conn.OnInitADOConn();
LoadTable();
}

// 加载数据表
bool CAdoFlexgridDlg::LoadTable()
{
_RecordsetPtr recordset = theApp.g_conn.GetRecordSet(_bstr_t("select * from tblTest"));
m_grid.SetRefDataSource(recordset);


7,不使用绑定技术的表格控件
对于自定义的数据(非ADO/DAO等标准支持),应该插入Light控件:VSFLEX8L.OCX
自定义数据源,自己写一个数据集派生类。其基类可以是A CRecordset,或者IVSFlexDataSource
具体实例见VC例程:CRecordsetSample,以及CustDataMFC
调用此数据集时,不使用SetRefDataSource函数,而是SetFlexDataSource函数
8,打开大型数据库的延迟问题
   官方提供了一个支持.NET平台控件C1Flexgrid的例程,实现了一个100000行×10列数据的表格显示,效率还是非常不错的。在这个例程中,使用了后台线程处理数据。其思路可以参考。

jyzas 发表于 2020-3-29 09:17:01

谢谢楼主分享

takeeasy 发表于 2020-6-16 16:02:54

楼主, 安装完后, excel vba里可以调用
CAD2016 VBA里找不到呀, 请问怎么用的呀~

liyong6101207 发表于 2022-10-25 16:10:17

上面的链接是VSFlexGrid Pro 8使用帮助,不是VSFlexGrid Pro 8控件的下载地址
页: [1]
查看完整版本: VSFlexGrid Pro 8.0 中文手册