VB数据库编程中MSHFlexGrid控件用法详解Word文档下载推荐.docx
- 文档编号:16567632
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:13
- 大小:19.31KB
VB数据库编程中MSHFlexGrid控件用法详解Word文档下载推荐.docx
《VB数据库编程中MSHFlexGrid控件用法详解Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《VB数据库编程中MSHFlexGrid控件用法详解Word文档下载推荐.docx(13页珍藏版)》请在冰豆网上搜索。
)
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),"
DimA,BAsSingle'
声明单精度浮点型变量
OnErrorResumeNext
Fori=1Toflex1.Rows-1
Ifflex1.TextMatrix(i,1)<
>
"
"
Andflex1.TextMatrix(i,4)<
Andflex1.TextMatrix(i,6)<
Then
A=Val(flex1.TextMatrix(i,6))+A'
求合计金额
B=Val(flex1.TextMatrix(i,4))+B'
求合计数量
Nexti
lblCount=B
lblSum=Format(A,"
)'
格式化合计金额
SubSetButtons(bValAsBoolean)
cmdRegister.Enabled=NotbVal
cmdSave.Enabled=bVal
cmdCancel.Enabled=bVal
flex1.Enabled=bVal
Frame1.Enabled=bVal
PrivateSubDataGrid2_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnThen
WithAdodc2.Recordset
赋值给flex1表格
If.Fields("
商品名称"
)<
Thenflex1.TextMatrix(flex1.Row,1)=Trim(.Fields("
))
规格"
Thenflex1.TextMatrix(flex1.Row,2)=Trim(.Fields("
单位"
Thenflex1.TextMatrix(flex1.Row,3)=Trim(.Fields("
flex1.TextMatrix(flex1.Row,5)=.Fields("
成本价"
EndWith
flex1.Col=4
DataGrid2.Visible=False'
DataGrid2不可见
txtEdit.Text="
txtEdit.SetFocus
IfKeyCode=vbKeyEscapeThen'
按ESC键DataGrid2不可见
DataGrid2.Visible=False
'
txtEdit.SetFocus'
txtEdit获得焦点
PrivateSubdelone_Click()
Fori=1Toflex1.Cols-1
flex1.TextMatrix(flex1.Row,i)="
view_DP
PrivateSubflex1_MouseDown(ButtonAsInteger,ShiftAsInteger,xAsSingle,yAsSingle)
利用PopupMenu方法
IfButtonAndvbRightButtonThen
PopupMenuedit'
弹出菜单
PrivateSubForm_Load()
DimiAsInteger
使第一列较窄。
flex1.ColWidth(0)=flex1.ColWidth(0)/2
初始化编辑框
txtEdit="
flex1.Rows=101
flex1.Cols=8
设置列标头。
s$="
^|^商品名称|^规格|^单位|^数量|^进货价|^金额|^备注"
flex1.FormatString=s$
PrivateSubflex1_KeyPress(KeyAsciiAsInteger)
Ifflex1.Col>
=4Orflex1.Col=1Then
MSHFlexGridEditflex1,txtEdit,KeyAscii
添加下列例程以初始化文本框,并将焦点从HierarchicalFlexGrid传递到TextBox控件:
SubMSHFlexGridEdit(MSHFlexGridAsControl,EdtAsControl,KeyAsciiAsInteger)
使用已输入的字符。
SelectCaseKeyAscii
空格表示编辑当前的文本。
Case0To32
Edt=MSHFlexGrid
Edt.SelStart=1000
其它所有字符表示取代当前的文本。
CaseElse
Edt=Chr(KeyAscii)
Edt.SelStart=1
在合适的位置显示Edt。
Edt.MoveMSHFlexGrid.Left+MSHFlexGrid.CellLeft-15,_
MSHFlexGrid.Top+MSHFlexGrid.CellTop-15,_
MSHFlexGrid.CellWidth,_
MSHFlexGrid.CellHeight
Edt.Visible=True
Edt.SetFocus
PrivateSubflex1_DblClick()
MSHFlexGridEditflex1,txtEdit,32'
模拟一个空格。
PrivateSublblSum_Click()
PrivateSubtxt1_KeyDown(IndexAsInteger,KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnAndIndex=0Then
Adodc1.RecordSource="
供应商信息表where供应商编号like+'
%'
+'
+txt1(0)+"
or供应商全称like+'
or简称like+'
Adodc1.Refresh
IfAdodc1.Recordset.RecordCount>
0Then
DataGrid1.Visible=True
DataGrid1.SetFocus
供应商信息表"
MsgBox"
无可选的供应商信息,请首先录入供应商数据!
,"
提示窗口"
IfKeyCode=vbKeyReturnAndIndex=1Then
flex1.Col=1
flex1.Row=1
flex1.SetFocus
PrivateSubDataGrid1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
txt1(0)=Adodc1.Recordset.Fields("
供应商全称"
txt1
(1).SetFocus
DataGrid1.Visible=False
PrivateSubtxtEdit_KeyPress(KeyAsciiAsInteger)
删除回车符,以消除嘟嘟声。
IfKeyAscii=Asc(vbCr)ThenKeyAscii=0
PrivateSubtxtEdit_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
IfKeyCode=vbKeyReturnAndflex1.Col=1Then
Adodc2.RecordSource="
商品信息表where商品名称like+'
+txtEdit+"
Adodc2.Refresh
IfAdodc2.Recordset.RecordCount>
DataGrid2.Visible=True
DataGrid2.SetFocus
商品信息表"
无可选的商品信息,请首先录入商品数据!
只有TextBox控件在“数量”单元格时,才使用以下过程
=4Then
EditKeyCodeflex1,txtEdit,KeyCode,Shift
当输入数据并按下ENTER键,或用鼠标单击MSHFlexGrid控件中的另一个单元时,
焦点将返回此控件。
这时TextBox中的文本被复制到活动单元中
PrivateSubflex1_GotFocus()
IftxtEdit.Visible=FalseThenExitSub
flex1=txtEdit
txtEdit.Visible=False
PrivateSubflex1_LeaveCell()
PrivateSubcmdCancel_Click()
Forj=1Toflex1.Cols-1
flex1.TextMatrix(i,j)="
Nextj
SetButtonsFalse
PrivateSubcmdRegister_Click()
DimlsphAsInteger'
声明一个整型变量
创建入库票号
rs1.Open"
select*from入库主表orderby票号"
Cnn,adOpenStatic
Ifrs1.RecordCount>
IfNotrs1.EOFThenrs1.MoveLast
Ifrs1.Fields("
票号"
lsph=Val(Right(Trim(rs1.Fields("
)),4))+1
txtph.Text=Date&
rk"
&
Format(lsph,"
0000"
0001"
rs1.Close
txtDate.Text=Date
设置控件有效或无效
SetButtonsTrue
txt1(0)="
txt1
(1)="
txt1(0).SetFocus
PrivateSubcmdSave_Click()
DimjsAsInteger
Andflex1.TextMatrix(i,2)<
Andflex1.TextMatrix(i,4)="
第"
i&
行录入错误!
ExitSub
Ifflex1.TextMatrix(i,1)="
js=js+1
Ifjs=flex1.Rows-1Then
没有要保存的数据!
select*from入库从表"
Cnn,adOpenKeyset,adLockOptimistic
添加新记录到"
入库从表"
中
rs1.AddNew
Thenrs1.Fields("
)=flex1.TextMatrix(i,1)
Ifflex1.TextMatrix(i,2)<
)=flex1.TextMatrix(i,2)
Ifflex1.TextMatrix(i,3)<
)=flex1.TextMatrix(i,3)
rs1.Fields("
入库数量"
)=Val(flex1.TextMatrix(i,4))
单价"
)=Val(flex1.TextMatrix(i,5))
金额"
)=Val(flex1.TextMatrix(i,6))
Ifflex1.TextMatrix(i,7)<
备注"
)=flex1.TextMatrix(i,7)
Iftxtph.Text<
入库票号"
)=Trim(txtph.Text)
rs1.Update
Cnn.Execute("
update商品信息表set库存数量=库存数量+"
Val(flex1.TextMatrix(i,4))&
where商品名称='
+_
flex1.TextMatrix(i,1)+"
and规格='
+flex1.TextMatrix(i,2)+"
rs2.Open"
select*from入库主表"
Cnn,adOpenKeyset,adLockOptimistic'
打开数据库
rs2.AddNew
Thenrs2.Fields("
IftxtDate.Text<
入库日期"
)=Trim(txtDate.Text)
Iftxt1(0)<
)=txt1(0)
Iftxt1
(1)<
经手人"
)=txt1
(1)
rs2.Fields("
入库金额"
)=lblSum
rs2.Update
rs2.Close
PrivateSubcmdQuit_Click()
End
VBmsflexgrid中设置内容对齐方式
∣学习2010-03-2610:
43:
29阅读482评论0
字号:
大中小
订阅
使用
.FixedAlignment
(设置指定列的对齐方式)
.ColAlignment
(设置指定固定列的对齐方式)
常数
值
描述
flexAlignLeftTop
0
单元格的内容左、顶部对齐。
flexAlignLeftCenter
1
字符串的缺省对齐方式。
单元格的内容左、居中对齐。
flexAlignLeftBottom
2
单元格的内容左、底部对齐。
flexAlignCenterTop
3
单元格的内容居中、顶部对齐。
flexAlignCenterCenter
4
单元格的内容居中、居中对齐。
flexAlignCenterBottom
5
单元格的内容居中、底部对齐。
flexAlignRightTop
6
单元格的内容右、顶部对齐。
flexAlignRightCenter
7
数值的缺省对齐方式。
单元格的内容右、居中对齐。
flexAlignRightBottom
8
单元格的内容右、底部对齐。
flexAlignGeneral
9
单元格的内容按一般方式进行对齐。
字符串按“左、居中”显示,数字按
“右、居中”显示。
FormatString
属性
设置
MSHFlexGrid的列宽、对齐方式、固定行文本和固定列文本。
语法
object.FormatString
[=
string]
属性的语法包含如下部分:
部分
object
一个对象表达式,其值为“应用于”列表中的一个对象。
string
一个字符串表达式,为格式化在行和列中的文本。
如在说明中所述。
说明
在设计时,MSHFlexGrid
语法分析和解释
FormatString
来获得如下信息:
行和列的数目、行
和列标头的文本、列宽和列对齐方式。
属性包含由管道字符
(|)
分隔的段。
管道字符之间的文本定义一列并且也可能
包含特定的对齐字符。
这些字符使整个列左对齐(<
)、居中(^)或右对齐(>
)。
另外,根据缺省规定文本
被指定给行
0,且文本宽度定义每一列的宽度。
属性可能包含一个分号
(;
这使得字符串的余下部分被解释为行标头和行宽度
信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 数据库 编程 MSHFlexGrid 控件 用法 详解