FlexGrid控件的使用(二)

合集下载

MSFlexGrid1控件2

MSFlexGrid1控件2
obj.value="";
alert("注意:\n\n你输入的日期不正确,已被清除!");
obj.focus();
return false;
}
var b;
if (a.getFullYear()<1900||a.getFullYear()>2200)
{var Today=new Date();
b=Today.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
}
else if (a.getFullYear()<1930)
b=(a.getFullYear()+100)+"-"+(a.getMonth()+1)+"-"+a.getDate();
alert("注意:\n\n你输入的日期不正确,已进行修改。");
obj.select();
obj.focus();
return false;
}
}
catch(Exception){
obj.value="";
MS2.TextMatrix(i, 5) = MS1.TextMatrix(MS1.RowSel, 5)
MS2.TextMatrix(i, 6) = MS1.TextMatrix(MS1.RowSel, 6)
Exit For
Const WM_SETREDRAW = &HB
Const KEY_A = 65

VBMSFlexGrid控件的几种使用方法

VBMSFlexGrid控件的几种使用方法

VBMSFlexGrid控件的几种使用方法'MSFlexGrid赋值的方法MSFlexGrid1.TextMatrix(0, 1) = "老师"MSFlexGrid1.TextMatrix(1, 2) = "学生"MSFlexGrid1.TextMatrix(2, 3) = "校长"MSFlexGrid1.TextMatrix(3, 4) = "班主任"MSFlexGrid1.TextMatrix(4, 5) = "教务主任"MSFlexGrid1.AddItem 2MSFlexGrid1.AddItem 4MSFlexGrid1.AddItem 6MSFlexGrid1.AddItem 8``MSFLEXGRID 中如何取的某个单元格的数据Private Sub MSFlexGrid1_Click()MsgBox MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col), vbOKOnly, "提示消息"End SubMSFlexGrid1.Row,表格中的当前行MSFlexGrid1.Col,表格中的当前列'初始化MSFlexGridDim i As IntegerMSFlexGrid1.Rows = 0For i = 0 To 10MSFlexGrid1.AddItem "AA" + Str(i)'For i = 0 To 10MSFlexGrid1.Col = 1MSFlexGrid1.Row = iMSFlexGrid1.Text = CStr(i)MSFlexGrid1.Col = 2MSFlexGrid1.Row = iMSFlexGrid1.Text = CStr(i) & CStr(i)MSFlexGrid1.Col = 3MSFlexGrid1.Row = iMSFlexGrid1.Text = CStr(i) & CStr(i) & CStr(i)Next i'实现MSFlexGrid控件,单行背景为浅灰,双行为兰色Dim j As IntegerWith MSFlexGrid1.AllowBigSelection = True ' 设置网格样式.FillStyle = flexFillRepeatFor j = 0 To .Rows - 1.Row = j: .Col = .FixedCols.ColSel = .Cols() - .FixedCols - 1If j Mod 2 = 0 Then.CellBackColor = &HC0C0C0 ' 浅灰Else.CellBackColor = vbBlue ' 兰色End IfNext jEnd With'在MsFlexGrid控件单元格中插入背景图形Set MSFlexGrid1.CellPicture = LoadPicture("f:\temp\snow.bmp")'MSFlexGrid控件如何移到最后一行MSFlexGrid1.TopRow = MSFlexGrid1.Rows - 1'隐藏第一行'Private Sub Command1_Click1()'MSFlexGrid1.RowHeight(1) = 0'End Sub'隐藏第一列'Private Sub Command_Click2()'MSFlexGrid1.ColWidth(1) = 0'End Sub在MSFlexGrid上点击右键,选择属性,选择"选择模式",自己任选点击得到行代码msgrid1.Col就是你选择的列号msgrid1.Row 就是你选择的行号msgrid1.text就是你选择单元格的内容。

MsFlexGrid 的使用方法

MsFlexGrid 的使用方法

MSFlexGrid控件概述1、作用:该控件以表格形式显示二维字符数组中每个单元的数据。

常用于处理复杂的二维数据表的问题。

如校历表、学生宿舍表、学生班级成绩表等。

2、添加到控件箱菜单命令:工程 | 部件,在部件对话框中选择:Microsoft FlexGrid Control 6.0 (SP6)。

3、主要属性(1)Rows与Cols属性:分别用于设置或返回MSFlexGrid控件的行数与列数。

(2)Row与Col属性:分别用于设置或返回MSFlexGrid控件中活动单元的行号与列号。

(3)TextMatrix属性:该属性用于表示MSFlexGrid控件中单元格的内容。

格式为:TextMatrix (Row, Col);其中Row与Col分别表示单元格在MSFlexGrid控件中的行号与列号。

(4)FixedRows属性:用于设置表格显示过程中固定不变的行数。

如FixedRows=1,则表示固定行为1,如图8.3中第1行。

(5)FixedCols属性:用于设置表格中固定不变的列数。

如FixedCols=1,则表示固定列为1,如图8.3中第1列。

(6)FixedColor属性:用于设置固定行与固定列的颜色。

(7)MouseRow与MouseCol属性:用于返回鼠标光标所在单元格的行号与列号。

(8) ColWidth(Col)、RowHigh(Row)属性:用于设置与返回第Col列的宽度与第Row 行的高度,例如设置第0列的宽度为1500,第0行的高度为300的赋值语句为:ColWidth(0) = 1500RowHeight(0) = 300(9)DataSource属性:用于选择数据表,只能通过Data数据源控件选择数据表。

说明,若要用ADO Data控件作为数据源,则应使用MSHFlexGrid控件。

(10)MousePointer属性:用于设置鼠标光标形状,属性取值与光标形状如表8.1所示。

【例8.1】编写程序,定义MSFlexGrid1控件为10行、5列表格,给每一个单元格赋值为Row+Col,其中Row与Col分别表示控件单元格的行号与列号。

MSFlexGrid表格控件详细说明

MSFlexGrid表格控件详细说明

MSFlexGrid 表格控件详细说明控件名:Microsoft FlexGrid Control文件:sys\msflxgrd.ocx============================= 属性=========================================■AllowBigSelection 属性在行头或者列头上单击时,(是否)可以使得整个行或者列都被选中。

■AllowUserResizing 属性 (是否)可以用鼠标来对 MSFlexGrid 控件中行和列的大小进行重新调整。

-------------------------------------■Appearance 属性设计时的绘图风格■BorderStyle 属性边框样式-------------------------------------■BackColorBkg 属性 '表格多余部分颜色■BackColorFixed 属性 '表格头部分颜色■BackColorSel属性 '选中部分颜色■BackColor属性 '所有未确定单元的颜色■CellBackColor 和 CellForeColor 属性返回或设置单个单元或者一群单元的背景和前景颜色。

-------------------------------------■ForeColor、ForeColorFixed 以及 ForeColorSel 属性各部分上文本的颜色。

■TextStyle 和 TextStyleFixed[= style ] 属性返回或设置指定单元或者一群单元上文本的三维样式。

----------------------------------------■FixedAlignment (index)= [value] 属性列号,设置值flexAlignLeftTop 0 左顶部flexAlignLeftCenter 1 左中flexAlignLeftBottom 2 左底部flexAlignCenterTop 3 中顶部flexAlignCenterCenter 4 中中flexAlignCenterBottom 5 中底部flexAlignRightTop 6 右顶部flexAlignRightCenter 7 右中flexAlignRightBottom 8 右底部■ColAlignment(number) 属性 [= value ] 返回或设置某一列中数据的对齐方式number=列号,或者 -1(一次性地对所有列进行设置)。

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法在Siemens WinCC 中,`MSFlexGrid` 控件通常被称为"Grid" 或"FlexGrid" 控件,用于在界面上显示和编辑表格数据。

以下是一些基本的`MSFlexGrid` 控件的用法示例:1. 在窗体上添加MSFlexGrid 控件:-打开WinCC 项目。

-在画面设计器中,找到"FlexGrid" 或"Grid" 控件。

-将控件拖放到你想要显示表格的位置。

2. 设置MSFlexGrid 的属性:-双击`MSFlexGrid` 控件,打开属性窗口。

-在属性窗口中,你可以设置行数、列数、列标题、单元格格式等。

3. 通过代码设置和读取数据:-在WinCC 的VBScript 或ANSI C 脚本中,你可以使用代码操纵`MSFlexGrid` 控件。

-设置单元格的值:```vbMSFlexGrid1.TextMatrix(1, 1) = "Hello"```-读取单元格的值:```vbDim cellValuecellValue = MSFlexGrid1.TextMatrix(1, 1)```4. 处理事件:- `MSFlexGrid` 控件支持一些事件,你可以在脚本中处理这些事件。

例如,点击单元格的事件:```vbSub MSFlexGrid1_Click()MsgBox "Cell Clicked!"End Sub```5. 设置单元格格式:-你可以通过代码设置单元格的格式,如字体、颜色等。

```vbMSFlexGrid1.Col = 1MSFlexGrid1.Row = 1MSFlexGrid1.CellBackColor = RGB(255, 0, 0) ' 设置背景颜色为红色```这只是一个简单的用法示例。

Flexigrid控件使用说明

Flexigrid控件使用说明
的值,设置如上,其它设置如下的属性表:
1. height: 200, //flexigrid插件的高度,单位为px
2. width: ‘auto’, //宽度值,auto表示根据每列的宽度自动计算
3. striped: true, //是否显示斑纹效果,默认是奇偶交互的形式
searchitems: [
{ display: '可供排序的列1', name: '列名要和上面定义的一样' },
{ display: '可供排序的列2', name: '列名要和上面定义的一样' }
],
buttons: [
{ name: '添加', bclass: 'add', onpress: 自定义的JS函数},
28. autoload: true,//自动加载
29. blockOpacity: 0.5,//透明度设置
30. onToggleCol: false,//当在行之间转换时
31. onChangeSort: false,//当改变排序时
$(document).ready(function() {
$("自定义的tableID").flexigrid
(
{
url: 'Handler1.ashx?action=show', //ajax请求地址
***************如何使用Flexgrid控件******************************************************************************************

FlexGrid控件的使用(二)

FlexGrid控件的使用(二)

FlexGrid控件的使用(二)时间:2007-05-05缩进带区如果带区以垂直方式显示,那么可以使带区缩进若干列。

这样就可以使用户查看带区信息的时候更加清楚。

每个带区前面被缩进的列中包含了空白的、未被使用的单元格。

因此,用户不能够将焦点移到这些区域中。

这些单元格的格式特点是由若干缩进格式定义属性,如GridLinesIndent定义的。

请参阅前面的“改变带区的布局”中的“垂直方式的带区显示”图片。

要缩进带区1. 右击Hierarchical FlexGrid,然后从快捷菜单中选择“属性”。

出现Hierarchical FlexGrid的“属性页”对话框。

2. 在“带区”选项卡中,选择“带区缩进”并指定带区需要缩进的列数。

3. 单击“确定”,将带区属性应用于Hierarchical FlexGrid并关闭“属性页”对话框。

对非分层结构的Recordset使用带区功能使用Hierarchical FlexGrid的“属性页”对话框,也可以设置非分层结构的Recordset 带区的格式。

非分层结构的Recordset中只包含一个带区,即Band 0。

没有其他的带区,因为带区是以Command 分层结构中的Recordsets 为基础的。

使用带区的扩展和收缩功能扩展和收缩功能有助于方便地查看Recordset的组织情况,便于滚动查看Hierarchical FlexGrid。

该功能使用户既能够查看大量的数据,也可以查看压缩形式的信息。

如果一个带区是可开展的,那么该带区的左上角会显示出一个缺省的扩展(+) 或收缩(-) 位图。

无论垂直带区还是水平带区都可以使用扩展和收缩功能。

当带区处于扩展状态的时候,出现的将是收缩(-) 位图。

在扩展状态下,带区显示出最大数量的数据。

当带区处于收缩状态的时候,出现的将是收缩(+) 位图。

在扩展状态下,带区显示出最少量的数据。

在收缩状态下,带区中可能显示未被填充数据的区域。

Jquery表格插件flexgrid使用心得

Jquery表格插件flexgrid使用心得

Jquery表格插件flexgrid使用心得基本环境的配置。

所需要的JS文件和CSS文件如下所示:
一、基本容器与设置。

二、编写按钮的回调函数。

三、异步传输数据(以JSP的SSH框架为例)
1.Action层。

在action类里定义以下几个成员变量:
完整的action样例代码:
注:需要注意的是先前设定的那几个必须的成员变量的使用及返回的json数组字符串的格式。

在struts2传回json字符串的时候,我发现flexgrid无法解析,不知道是不是因为我返回的json字符串不规范,总之我还修改了flexgrid的源代码,在flexgrid.js中搜索
if (p.dataType == 'json') {
然后在下面添加一句:
var arr = jQuery.parseJSON(data.rows);
解析返回的data字符串的rows,就正常啦。

同时本人写了一个Page的类用来分页从数据库取值。

四、结语。

本文主要为本人在使用flexgrid的过程中的学习记录,方便日后查阅,可能写的不是很形象,代码较多,需要耐心阅读,见谅。

MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理

MSFlexGrid控件属性及使用方法整理================================================= MSFlexGrid总行数和总列数的定义:MSFlexGrid1.Rows = 5 '规定表格的总行数为5行MSFlexGrid1.Cols = 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本内容MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) =" " 定义第3行第2列的文本内容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton ThenMSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5MSFlexGrid1.RowSel = MSFlexGrid1.Row'右键选种当前行---备用u3u3:'MSFlexGrid1.Col = 0'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1'右键选种当前单元格---备用u3u3:'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5'MSFlexGrid1.Col = MSFlexGrid1.Col'Text1.Text = MSFlexGrid1.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色MSFlexGrid1.CellForeColor = vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd Sub使MSFlexGrid的单元格内容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlueMSFlexGrid1.CellForeColor = vbWhiteText1.Text = MSFlexGrid1.TextText1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd SubPrivate Sub Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd SubPrivate Sub Text2_Change() '修改表头Dim r, c As Integerr = MSFlexGrid1.Rowc = 0MSFlexGrid1.TextMatrix(r, 0) = Text2.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行MSFlexGrid1.RemoveItem 3 '删除第三行。

Vsflexgrid控件使用方法

Vsflexgrid控件使用方法

Vsflexgrid控件使用方法Vsflexgrid控件使用方法1、ShowCell:显示指定位置的单元格比如一个有很多列的 Vsflexgrid,希望在显示数据时先显示第20列的数据,如果不对控件进行设置,则需要手工拖动鼠标,此时 ShowCell 就很有用了,使用方法为ShowCell 行,列2、在Excel 中有一个冻结窗口的功能,使用时可以固定某一行(几行)或者某一列(几列)的数据,那么Vsflexgrid 中是否也可以实现呢,答案是肯定的,需要用到的属性是FrozenCols 与FrozenRows,前者用于固定某几列,后者为固定行,注意行与列的顺序为由上到下,由左到右使用方法为:FrozenCols 4 '固定前4列,横向拖动时靠左边的4列不动3、在编辑单元格的内容时,有时可能希望点击某个单元格时显示一下下拉的列表或者显示一个指定的控件,比如日期控件,实现方法为:ColComboList(第几列) = "任意的字符"这样在点击时某一列时就会出现下拉的列表框了4、实际工作时经常要对某一数据列进行排序,自已写排序语多当然是可以的,而Vsflexgrid 提供了更简单的方法,即设置属性ExplorerBar,比如 ExplorerBar=5时,点击列头就会排序,并且会显示排序的箭头方向5、开发中经常需要将VsFlexGrid 中的数据导出为Excel 文件,引用Excel 对象进行操作是可以的,但Vsflexgrid 同时提供了一个SaveGrid 方法,比如要将 Vsflexgrid 中的数据保存在当前程序目录下的 Excel 文件中,方法为:Vsflexgrid.SaveGrid "book1.xls", flexFileExcel此方法的好处时在没有装Office 的机器上仍然可以正常实现,而且速度非常快6、VSFlexGrid控件是否支持表格编辑?可以,修改VSFlexGrid1.Editable =flexEDKbdMouse属性就行。

MSFlexGrid控件属性及使用方法

MSFlexGrid控件属性及使用方法

MSFlexGrid控件属性及使用方法整理by u3u3以下容由u3u3编写测试成功!请注明来自:================================================= MSFlexGrid总行数和总列数的定义:MSFlexGrid1.Rows = 5 '规定表格的总行数为5行MSFlexGrid1.Cols = 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本容MSFlexGrid1.TextMatrix(3, 0) ="地址" '定义第3行的左边表头文本容为:“地址”MSFlexGrid1.TextMatrix(3, 2) =" " 定义第3行第2列的文本容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton ThenMSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5MSFlexGrid1.RowSel = MSFlexGrid1.Row'右键选种当前行---备用u3u3:'MSFlexGrid1.Col = 0'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1'右键选种当前单元格---备用u3u3:'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5'MSFlexGrid1.Col = MSFlexGrid1.Col'Text1.Text = MSFlexGrid1.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色MSFlexGrid1.CellForeColor = vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd Sub使MSFlexGrid的单元格容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlueMSFlexGrid1.CellForeColor = vbWhiteText1.Text = MSFlexGrid1.TextText1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd SubPrivate Sub Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd SubPrivate Sub Text2_Change() '修改表头Dim r, c As Integerr = MSFlexGrid1.Rowc = 0MSFlexGrid1.TextMatrix(r, 0) = Text2.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点 MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行MSFlexGrid1.RemoveItem 3 '删除第三行。

msflexgrid控件用法

msflexgrid控件用法

msflexgrid控件用法MSFlexGrid控件是Visual Basic 6.0提供的一种非常有用的表格控件,可以在窗体中创建可编辑的网格。

它允许用户浏览和编辑多行和多列的数据,还可以对数据进行排序、过滤和格式化。

在本文中,我将详细介绍MSFlexGrid控件的用法,包括创建、显示和操作表格数据。

一、创建和显示MSFlexGrid控件在使用MSFlexGrid控件之前,首先需要在窗体中添加一个FlexGrid控件。

在VB6的工具箱中,可以找到FlexGrid控件并将其拖放到窗体上。

在窗体上添加FlexGrid控件后,可以通过设置控件的属性来进行进一步的配置和定制。

1. 设置列数和行数在使用MSFlexGrid控件之前,首先需要设置表格的列数和行数。

可以通过设置Col属性和Row属性来实现。

例如,设置表格的列数为5,行数为10的代码示例如下:MSFlexGrid1.Cols = 5MSFlexGrid1.Rows = 102. 设置表格显示样式可以通过设置控件的属性来设置表格的样式,例如,可以设置表格的边框颜色、背景颜色和字体。

以下是一些常用的属性设置示例:MSFlexGrid1.BorderStyle = flexBorderStyleFixedSingle ' 设置边框样式为单线条MSFlexGrid1.BackColor = vbWhite ' 设置背景颜色为白色MSFlexGrid1.ForeColor = vbBlack ' 设置前景颜色为黑色MSFlexGrid1.FontSize = 12 ' 设置字体大小为12号3. 添加数据到表格可以通过设置控件的TextMatrix属性来添加数据到表格中。

TextMatrix属性是一个二维数组,可以通过指定行和列的索引来设置相关的数据。

例如,将数据“Apple”添加到(1,1)位置的代码示例如下:MSFlexGrid1.TextMatrix(1, 1) = "Apple"二、操作MSFlexGrid控件中的数据在将数据添加到表格之后,可以对表格中的数据进行许多操作,例如,读取单元格数据、排序和过滤数据等。

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法

wincc msflexgrid控件的用法WinCC是西门子推出的一套面向过程自动化的监控与控制软件,其功能强大,覆盖了自动化行业的各个领域,包括工业自动化、制造业、能源管理、公共设施、楼宇自动化等。

WinCC的多种控件是实现监控和报警功能的核心部分之一,其中MSFlexGrid控件是一种常用的控件之一,具有强大的灵活性和可扩展性,下面将详细介绍MSFlexGrid控件的用法。

一、MSFlexGrid控件的基本概念和特点MSFlexGrid控件是一种用于显示和编辑表格数据的控件,其特点是可以根据需要自定义行数和列数,并可以显示大量的数据。

MSFlexGrid控件支持多种数据类型,包括字符串、整数、浮点数等,同时还可以设置行高、列宽、颜色、字体等属性,以便于满足不同的显示需求。

二、MSFlexGrid控件的创建和初始化创建MSFlexGrid控件的步骤如下:1. 首先,需要在VB环境中打开一个新的工程,并添加一个MSFlexGrid控件。

2. 然后,可以通过拖拽的方式调整控件大小和位置,以适应实际的界面设计需求。

3. 接下来,需要设置控件的一些基本属性,例如行数、列数、行高、列宽等。

初始化MSFlexGrid控件的步骤如下:1. 在VB环境中打开代码编辑器,并在Form_Load事件中添加代码。

2. 通过代码设置控件的属性,例如行数、列数、行高、列宽等。

3. 通过代码设置控件的样式,例如背景颜色、字体等。

4. 可以通过代码向控件中添加数据,例如通过循环遍历的方式向每个单元格赋值。

三、MSFlexGrid控件的常用属性和方法MSFlexGrid控件有很多常用的属性和方法,下面列举一些常用的如下:1. Rows属性,用于设置和获取控件的行数。

2. Cols属性,用于设置和获取控件的列数。

3. RowHeights属性,用于设置和获取控件的行高。

4. ColWidths属性,用于设置和获取控件的列宽。

5. TextMatrix方法,用于设置和获取单元格的数据。

VSFLEXgrid控件属性、用法大全

VSFLEXgrid控件属性、用法大全

VSFLEXgrid控件属性、用法大全[主要特点]VSFlexGrid Pro 7.0 是一功能强大的数据表格控件,高速、紧凑、灵活、轻便、无须依赖任何应用工具,支持数据化格式选项,能将表格列连接到图象列和墙纸属性上以提高应用工具的实现程度。

如果应用工具无须数据库的支持,如果你的应用程序不需要数据库的支持,那么使用VSFlexGrid Pro新的非绑定版本可以使应用程序的尺寸最小,而且发布应用程序时也不需要发布相应的ADO动态链接库. VSFlexGrid Pro 7.0可代替任何简单的列表框,浏览器,记事本等等,所以说它不仅仅只是一个表格控件。

FLexArray网格扩展控件能够设置每个单元格的颜色和字体/能够对单元内容能进行快速有效的排序/设置RowPosition和ColPosition属性,即可在运行状态移动行列的位置/使用MergeCell属性,无须改写代码即可将内容一致的单元格加以合并/能够在设计过程定义行列的页眉、宽度和位置,进行界面设计/改变缺省字体大小,能够自动调整与之相对应的单元格尺寸/支持2000行以上表格,单元格内容可达32k以上/能够进行行列的隐藏/能够进行字体的微调整(参考FontWidth属性)/具有多种多样的网格形式和色彩/支持图文混排/多种光标和被选择内容的显示方式等等。

FlexString字符串处理控件能够设定检索字符串与置换字符串,在表格中找到与检索字符串相符的字符并将其置换为置换字符串中设置的字符/可以将检索字符串分成几个字段,给每个字段加入标签,使用标签代替字符串进行检索与置换/使用规范化表达式,规范化表达式是一个设定和匹配字符串的注释,类似于数学公式里的运算符。

[功能]最新功能提供了丰富的功能可以迅速创建灵活、功能强大的前端,无须用户额外支出。

VSFlexGrid Pro 7.0 100%向下兼容VB环境下的MSFlexGrid,所以对于目前的版本升级非常容易。

[汇总]VB数据库编程中MSHFlexGrid控件用法详解

[汇总]VB数据库编程中MSHFlexGrid控件用法详解

[汇总]VB数据库编程中MSHFlexGrid控件用法详解VB数据库编程中MSHFlexGrid控件用法详解添加MSHFlexGrid将Name改成flex1添加text 将name 改成txteditPublic rs1 As New ADODB.Recordset, rs2 As New ADODB.Recordset '定义数据集对象Dim i As Integer, j As IntegerSub EditKeyCode(MSHFlexGrid As Control, Edt As Control, KeyCode As Integer, Shift AsInteger)'标准编辑控件处理。

Select Case KeyCodeCase 27 'ESC:隐藏焦点并将其返回 MSFlexGridEdt.Visible = FalseMSHFlexGrid.SetFocusCase 13 'ENTER 将焦点返回 MSFlexGrid。

MSHFlexGrid.SetFocusDoEventsIf MSHFlexGrid.Col < MSHFlexGrid.Cols - 1 ThenMSHFlexGrid.Col = MSHFlexGrid.Col + 1ElseIf MSHFlexGrid.Col = MSHFlexGrid.Cols - 1 ThenMSHFlexGrid.Row = MSHFlexGrid.Row + 1MSHFlexGrid.Col = 1End IfEnd IfCase 38 '向上MSHFlexGrid.SetFocusDoEventsIf MSFlexGrid.Row > MSFlexGrid.FixedRows ThenMSFlexGrid.Row = MSFlexGrid.Row - 1End IfEnd SelectEnd SubSub view_DP()If flex1.Col = 4 Or flex1.Col = 5 Or flex1.Col = 6 Then'格式化Flex1表的第7列、第8列、第9列、第11列flex1.TextMatrix(flex1.Row, 5) = Format(flex1.TextMatrix(flex1.Row, 5), "0.00")flex1.TextMatrix(flex1.Row, 6) = Val(flex1.TextMatrix(flex1.Row, 4)) *Val(flex1.TextMatrix(flex1.Row, 5))flex1.TextMatrix(flex1.Row, 6) = Format(flex1.TextMatrix(flex1.Row, 6), "0.00")End IfDim A, B As Single '声明单精度浮点型变量On Error Resume NextFor i = 1 To flex1.Rows - 1If flex1.TextMatrix(i, 1) <> "" And flex1.TextMatrix(i, 4) <> "" And flex1.TextMatrix(i, 6)<> "" ThenA = Val(flex1.TextMatrix(i, 6)) + A '求合计金额B = Val(flex1.TextMatrix(i, 4)) + B '求合计数量End IfNext ilblCount = BlblSum = Format(A, "0.00") '格式化合计金额End SubSub SetButtons(bVal As Boolean)cmdRegister.Enabled = Not bValcmdSave.Enabled = bValcmdCancel.Enabled = bValflex1.Enabled = bValFrame1.Enabled = bValEnd SubPrivate Sub DataGrid2_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyReturn ThenWith Adodc2.Recordset'赋值给flex1表格If .Fields("商品名称") <> "" Then flex1.TextMatrix(flex1.Row, 1) = Trim(.Fields("商品名称"))If .Fields("规格") <> "" Then flex1.TextMatrix(flex1.Row, 2) = Trim(.Fields("规格"))If .Fields("单位") <> "" Then flex1.TextMatrix(flex1.Row, 3) = Trim(.Fields("单位"))flex1.TextMatrix(flex1.Row, 5) = .Fields("成本价")End Withflex1.Col = 4DataGrid2.Visible = False 'DataGrid2不可见txtEdit.Text = ""txtEdit.SetFocusEnd IfIf KeyCode = vbKeyEscape Then '按ESC键DataGrid2不可见DataGrid2.Visible = False ' txtEdit.SetFocus 'txtEdit获得焦点End IfEnd SubPrivate Sub delone_Click()For i = 1 To flex1.Cols - 1flex1.TextMatrix(flex1.Row, i) = ""Next iview_DPEnd SubPrivate Sub flex1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)'利用PopupMenu方法If Button And vbRightButton ThenPopupMenu edit '弹出菜单End IfEnd SubPrivate Sub Form_Load()Dim i As Integer'使第一列较窄。

MSFlexGrid控件属性及使用方法

MSFlexGrid控件属性及使用方法

MSFlexGrid控件属性及使用方法整理by u3u3以下内容由u3u3编写测试成功!转载请注明来自:=================================================MSFlexGrid总行数和总列数的定义:MSFlexGrid1.Rows = 5 '规定表格的总行数为5行MSFlexGrid1.Cols = 2 '规定表格的总列数为2行MSFlexGrid某一单元格的文本内容MSFlexGrid1.TextMatrix(3, 0) ="网站地址" '定义第3行的左边表头文本内容为:“网站地址”MSFlexGrid1.TextMatrix(3, 2) =" " 定义第3行第2列的文本内容为:“”右键选中MSFlexGrid的Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)If Button = vbRightButton ThenMSFlexGrid1.Row = y / MSFlexGrid1.RowHeight(0) - 0.5MSFlexGrid1.RowSel = MSFlexGrid1.Row'右键选种当前行---备用u3u3:'MSFlexGrid1.Col = 0'MSFlexGrid1.ColSel = MSFlexGrid1.Cols - 1'右键选种当前单元格---备用u3u3:'MSFlexGrid1.Col = x / MSFlexGrid1.ColWidth(0) - 0.5'MSFlexGrid1.Col = MSFlexGrid1.Col'Text1.Text = MSFlexGrid1.TextEnd IfEnd SubMSFlexGrid的单元格被点击时的事件Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlue '被点中MSFlexGrid的单元格背景变兰色MSFlexGrid1.CellForeColor = vbWhite '字体变白色End SubMSFlexGrid的单元格失去光标后的事件Private Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd Sub使MSFlexGrid的单元格内容可编辑'前提:新建两个text文本框,分别为text1和text1'====================从这里开始,使单元格可以编辑Private Sub MSFlexGrid1_EnterCell()MSFlexGrid1.CellBackColor = vbBlueMSFlexGrid1.CellForeColor = vbWhiteText1.Text = MSFlexGrid1.TextText1.SelStart = 0Text1.SelLength = Len(Text1.Text)End SubPrivate Sub MSFlexGrid1_LeaveCell()MSFlexGrid1.CellBackColor = vbWhiteMSFlexGrid1.CellForeColor = vbBlueEnd SubPrivate Sub Text1_Change()MSFlexGrid1.TextMatrix(MSFlexGrid1.Row, MSFlexGrid1.Col) = Text1.TextEnd SubPrivate Sub Text2_Change() '修改表头Dim r, c As Integerr = MSFlexGrid1.Rowc = 0MSFlexGrid1.TextMatrix(r, 0) = Text2.TextEnd SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Select Case KeyCodeCase vbKeyLeft, vbKeyRight, vbKeyUp, vbKeyDownKeyCode = 0End SelectEnd Sub'====================使单元格可以编辑,到此结束MSFlexGrid选中整行和整列右键点MSFlexGrid控件,选“属性/样式”,把“合并单元格”选择为:“0 - Never”然后运行程序,就会发现MSFlexGrid可以自由选择整行或整列了!MSFlexGrid插入行Private Sub Command1_Click()If MSFlexGrid1.Rows < 2 ThenMSFlexGrid1.AddItem "AAA" & vbTab & "bbb"ElseMSFlexGrid1.AddItem "asdas" & vbTab & "bbb", 2 '这里的数字2表示在第2行处插入行End IfEnd SubMSFlexGrid删除行MSFlexGrid1.RemoveItem 3 '删除第三行。

VC中Microsoft FlexGrid控件的使用.

VC中Microsoft FlexGrid控件的使用.

VC中Microsoft FlexGrid控件的使用及合并单元格、可编辑操作1.给FlexGrid控件绑定成员变量:m_FlexGrid。

2. 设置行列数m_FlexGrid.SetCols(4; //设置列数m_FlexGrid.SetRows(6; //设置行数3. 设置固定行数和固定列数m_FlexGrid.SetFixedRows(1; //设置固定行数为1行m_FlexGrid.SetFixedCols(0; //设置固定列数为0列4. 设置列宽、行高m_FlexGrid.SetColWidth(1,1500; //设置列号为1的列宽为1500 m_FlexGrid.SetRowHeight(2,300; //设置行号为2的行高为300 5. 设置文本对齐方式m_FlexGrid.SetColAlignment(1,4; //设置列号为1的文本对齐方式参数对应描述为:0 单元内容顶部左对齐。

1 单元内容中间左对齐。

对字符串的缺省设置值。

2 单元内容底部左对齐。

3 单元内容顶部居中。

4 单元内容中间居中。

5 单元内容底部居中。

6 单元内容顶部右对齐。

7 单元内容中间右对齐。

对数字的缺省设置值。

8 单元内容底部右对齐。

9 单元内容一般对齐方式。

对字符串中间左对齐而对数值中间右对齐。

6. 设置表头和单元格内容m_FlexGrid.SetTextArray(0,"Head1"; //设置表头(第1列内容为“Head1”m_FlexGrid.SetTextMatrix(1,1,"Text"; //设置单元格(行号1列号1内容为“Text”7. 增加一行m_FlexGrid.AddItem("AddString",(COleVariant(3L; //在行号为3的位置增加一行8. 合并单元格for(i=0;i<4;i++m_FlexGrid.SetTextMatrix(5,i,"合计"; //将行号为5、列号从0到4的单元格内容设为相同“合计”m_FlexGrid.SetMergeCells(2; //设置单元格合并方式(下述m_FlexGrid.SetMergeRow(5,TRUE; //设置要合并的行SetMergeCells函数的参数值如下:0: flexMergeNever 默认的选项,就是不合并1: flexMergeFree 不规则的合并2: flexMergeRestrictRows 行合并3: flexMergeRestrictColumns 列合并4: flexMergeRestrictBoth 行,列都合并注意只有单元格内容相同时才能进行合并操作。

如何在.NET表格控件-FlexGrid中使用“尺寸定义列宽”

如何在.NET表格控件-FlexGrid中使用“尺寸定义列宽”

概述轻量级 .NET表格控件FlexGrid增加了一个强大而方便的功能,并已经在其他版本的FlexGrid中提供了很长时间的测试:使用“*”定义列宽大小。

星号大小允许您指定列的宽度为“相对值大小”。

FlexGrid中使用“*”尺寸定义列宽例如,您有一个包含三列的表格,并将其StarWidth属性设置为“4 *”,“*”和“*”时,这三列将填充网格的整个宽度,第一列将填充四次,因此比其他两个更宽。

如果用户调整表单大小并使整个网格更宽,则列将自动调整大小以保持这些比例。

“*”尺寸的出现,使传统的ExtendLastCol属性不在适用。

如果将最后一列的StarWidth设置为“*”,它将自动填充网格,这与 ExtendLastCol 的效果相同。

但“*”尺寸更强大,更灵活,因为它允许您扩展任何列,而不仅仅是最后一列,并指定空间应如何在它们之间自动分配。

要获得更多设置,请使用新的MinWidth和MaxWidth属性来约束星形大小以防止列变得太宽或太窄。

您可以在代码中设置这些属性,也可以使用内置的设计编辑器来设置它们的值。

要使用设计器,请按照下列步骤操作:1.选择表单设计图面上的网格,2.设置网格的DataSource属性以自动创建列,3.按F4查看网格的属性网格,4.单击Cols属性旁边的省略号按钮以调用编辑器,5.单击设计器中的每一列,并将其StartSize属性设置为所需的值,例如“4*”,“0.5”或“*”。

单击Cols属性旁边的省略号按钮以调用列设计器:Column designer选择列并设置其StarWidth属性。

您还可以在设计器中设置MinWidth和MaxWidth属性。

完成后,运行项目并调整表单大小以查看星形大小:Star sizing in FlexGrid顶部网格扩展列,使其完全符合网格宽度。

底部网格使用MinWidth属性来防止列变得太窄,因此列不会自适应剩余可用空间。

如果您使表单更宽,列将自动调整大小,如下所示:Auto-resize in data grid columns。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FlexGrid控件的使用(二)
时间:2007-05-05
缩进带区
如果带区以垂直方式显示,那么可以使带区缩进若干列。

这样就可以使用户查看带区信息的时候更加清楚。

每个带区前面被缩进的列中包含了空白的、未被使用的单元格。

因此,用户不能够将焦点移到这些区域中。

这些单元格的格式特点是由若干缩进格式定义属性,如GridLinesIndent定义的。

请参阅前面的“改变带区的布局”中的“垂直方式的带区显示”图片。

要缩进带区
1. 右击Hierarchical FlexGrid,然后从快捷菜单中选择“属性”。

出现Hierarchical FlexGrid的“属性页”对话框。

2. 在“带区”选项卡中,选择“带区缩进”并指定带区需要缩进的列数。

3. 单击“确定”,将带区属性应用于Hierarchical FlexGrid并关闭“属性页”对话框。

对非分层结构的Recordset使用带区功能
使用Hierarchical FlexGrid的“属性页”对话框,也可以设置非分层结构的Recordset 带区的格式。

非分层结构的Recordset中只包含一个带区,即Band 0。

没有其他的带区,因为带区是以Command 分层结构中的Recordsets 为基础的。

使用带区的扩展和收缩功能
扩展和收缩功能有助于方便地查看Recordset的组织情况,便于滚动查看Hierarchical FlexGrid。

该功能使用户既能够查看大量的数据,也可以查看压缩形式的信息。

如果一个带区是可开展的,那么该带区的左上角会显示出一个缺省的扩展(+) 或收缩(-) 位图。

无论垂直带区还是水平带区都可以使用扩展和收缩功能。

当带区处于扩展状态的时候,出现的将是收缩(-) 位图。

在扩展状态下,带区显示出最大数量的数据。

当带区处于收缩状态的时候,出现的将是收缩(+) 位图。

在扩展状态下,带区显示出最少量的数据。

在收缩状态下,带区中可能显示未被填充数据的区域。

对未填充区域的格式也有专门的规定。

收缩状态的带区
当一个带区处于收缩状态时,它的任何一个记录都不会显示出来,该带区中的列也不会显示出来。

当用户将带区展开时,这些列将显示出来。

展开状态的带区具有统一的高度。

在必要的情况下,
较小的带区将被扩大以便与较大带区保持一致的高度。

扩展状态的带区
带区的扩展和收缩
本节说明如何为Hierarchical FlexGrid中的带区添加扩展和收缩功能。

它还说明如何使用扩展和收缩功能。

要在带区中添加扩展与收缩功能
1. 右击Hierarchical FlexGrid,然后从快捷菜单中选择“属性”。

出现Hierarchical FlexGrid的“属性页”对话框。

2. 在“带区”选项卡中,选择“可扩充带区”。

其次,从“带区”列表中选择要扩展的带区。

注意要使一个带区成为可扩展的,它至少要有一个子带区。

因此,如果只有Band 0,那么“可扩充带区”复选框将是不可使用的。

3. 单击“确定”,将带区属性应用于Hierarchical FlexGrid并关闭“属性页”对话框。

要使用扩展和收缩功能
1. 在通过“属性页”对话框将带区功能添加到Hierarchical FlexGrid之后,请从“运行”菜单中选择“启动”。

-或者-按下F5 键。

2. 单击带区左上角的扩展(+) 图形,查看最大化的(扩展的)Recordset信息。

3. 单击带区左上角的收缩(-) 图形,查看最小化的(收缩的)Recordset信息。

注意如果被扩展的带区中包含一个被收缩的子带区,那么在将子带区展开之前它将保持收缩状态。

获取结构信息
Hierarchical FlexGrid的结构信息中包含了与带区和列的设置有关的详细信息。

在缺省设置的情况下,每个带区中的列顺序与对应的ADORecordset中的顺序相同。

在获取该信息之后,可以使用它们来控制数据如何显示在Hierarchical FlexGrid中。

要获取与带区和字段信息有关的信息
右击Hierarchical FlexGrid,然后从快捷菜单中选择“检索结构”。

-或者-
访问Hierarchical FlexGrid的“属性页”对话框并选择“带区”选项卡。

该选项卡中包含了Hierarchical FlexGrid的结构信息。

在获取了数据的结构之后,信息与Hierarchical FlexGrid保存在一起。

在获取了结构信息之后,设
计时Hierarchical FlexGrid中将显示出每个带区和字段更新之后的信息。

注意如果DataSource 的结构发生了变化,那么只有重新提取结构才能使这些变化在Hierarchical FlexGrid中反映出来。

清除带区与列信息
如果清除了带区与列信息,它们将恢复为缺省的设置。

要清除带区与字段信息
右击Hierarchical FlexGrid,然后选择从快捷菜单中选择“清除结构”。

注意如果对Hierarchical FlexGrid的带区或列属性进行了修改,将会出现一条警告信息。

这时,可以单击“确定”,将Hierarchical FlexGrid重新设置为缺省状态,取消所有的用户定义设置值。

定制Hierarchical FlexGrid中的各个区域
Hierarchical FlexGrid中包含多个可以定制的区域。

要定制这些区域,可以使用Hierarchical FlexGrid的“属性页”对话框,也可以使用“代码编辑器”窗口,以编程方式实现。

对这些区域的定制将有助于提高HierarchicalFlexGrid 界面的易读性和实用性。

这些Hierarchical FlexGrid区域包括:
1.标准
Hierarchical FlexGrid的标准区域是那些包含数据绑定信息的单元格。

2.带区
带区区域包含了Hierarchical FlexGrid中每个Recordset的显示信息。

与此有关的详细说明,请参阅带区的格式设置。

3.固定的
固定区域中包含固定的或者静态的行与列。

4.标头
列标头区域确定与被绑定到Hierarchical FlexGrid的Recordset有关的信息。

在使用时,Hierarchical FlexGrid中的每个带区都将重复这些列标头。

与此有关的详细信息,请参阅带区的格式设置。

5.缩进
在以垂直方式显示带区时,Hierarchical FlexGrid的缩进区域就是将一个数据带区缩进若干列的区域。

每个带区前面的缩进列中包含空白的、未使用的单元格。

与此有关的详细说明,请参阅带区的格式设置。

6.未填充的
Hierarchical FlexGrid的未填充区域包括Hierarchical FlexGrid工作区域的右边和下边的单元格。

该区域是空白的,包含未被使用的单元格。

相关文档
最新文档