如何对MSHFlexGrid多行中的一行进行删除、修改呢?
来源:互联网 发布:python黑帽子 源码 编辑:程序博客网 时间:2024/06/04 17:52
在机房收费系统,学生基本信息维护窗体中涉及到一个对MSHFlexGrid选中行进行修改的行,那么这个应该怎么实现呢?
自己在开始的走了不少的弯路,刚开始以为自己实现了,其实不是只是一个偶然的现象,自己刚开始是这样写的:
第一次:
将MSHFlexGrid的属性“SelectionMode”中选中的是第1项,之后在“修改”命令按钮的代码中写到了:
txtsql="select * from student_info where cardID='" & MSHFlexGrid1. SelectionMode & "'" Set reSI = ExecuteSQL(txtsql, msgtext)
这时巧了,确实是出现了,我以为就这样可以实现了,可是当我再点击第二行的时候,它就显示不出来了,后来通过把MSHFlexGrid的属性“SelectionMode”中选中了第2项,这时发现一直显示的是某一行,即鼠标指到的变蓝的地方的第一行,于是开始查找资料,了解关于MSHFlexGrid的一些属性,其中MSHFlexGrid的属性“SelectionMode”第一项“0-flexselectionfree”是自由选择;第二项“1-selectionbyrow”是按照行来说,也就是它对应的行号,而不是哪一种的某个字段的名字,所以我的出错也就可想而知了,不过如果你的第一行记录的卡号恰好是1,那么就会出现我的现象,正好可以出现你想要的那种结果,但是我们不应该抱有这样侥幸的心理;第三项“2-flexselectioncolnm”当然就是按照列的显示,而卡号是无法与你一一对应的,唯一的一个就是2号,所以无论你怎么选择,它总是选中第二行。
于是开始查找资料,看看到底应该怎么做:
Option ExplicitDim SelectROW As Integer
Private Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single) With MSHFlexGrid1 .Row = .MouseRow SelectROW = .Row .Col = 0 .ColSel = .Cols - 1 End With
End Sub
Private Sub MSHFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single) With MSHFlexGrid1 .RowSel = SelectROW .ColSel = .Cols - 1 End WithEnd Sub
之后在修改命令按钮中选择选中行,对其进行修改:
Private Sub Command1_Click() Dim txtsql As String Dim msgtext As String Dim reSI As ADODB.Recordset Dim i As Integer Dim j As Integer '选中MSHFlexGrid1的行,并对其进行修改 txtsql = "select * from student_info where cardID='" & Trim(MSHFlexGrid1.TextMatrix(MSHFlexGrid1.Row, 0)) & "'" Set reSI = ExecuteSQL(txtsql, msgtext) frmSinf.Text1(0) = reSI.Fields(1) frmSinf.Text1(2) = reSI.Fields(6) frmSinf.Text1(1) = reSI.Fields(2) frmSinf.Text1(6) = reSI.Fields(0) frmSinf.Combo1 = reSI.Fields(3) frmSinf.Text1(7) = reSI.Fields(7) frmSinf.Text1(3) = reSI.Fields(4) frmSinf.Text1(8) = reSI.Fields(8) frmSinf.Text1(4) = reSI.Fields(5) frmSinf.Text1(7) = reSI.Fields(7) frmSinf.Text1(9) = reSI.Fields(11) frmSinf.Show SetParent frmSinf.hWnd, frmMain.hWnd End Sub
同时对对MSHFlexGrid选中行进行删除也是这个道理~
- 如何对MSHFlexGrid多行中的一行进行删除、修改呢?
- 删除选定的MSHFlexGrid控件中的一行
- mshflexgrid如何删除当前鼠标选择的行,并且一并删除行所对应的数据库中的记录
- 如何跳过权限 对表进行 删除,添加,修改
- C#对DataGridView中的数据进行添加、修改、删除操作
- 机房收费系统之选中MSHFlexGrid中的某条记录进行删除
- 如何对PDF文件中的内容进行编辑修改
- MSHflexgrid控件删除选中行
- 【VB】删除MSHFlexGrid控件中一行(机房问题)
- 删除table中的多行(不删除第一行)
- 删除选中MSHFlexGrid控件中的数据
- java 对数组进行插入删除修改
- java 对数组进行插入删除修改
- 对config文件中的配置进行新增修改删除读取操作
- C#对DataGridView中的数据进行添加、修改、删除操作c#操作datatable
- ADO如何新增修改删除数据库的记录呢
- C++如何对字符串进行删除操作
- 加一行 复制一行 删除一行 修改一行
- HIT 操作系统实验 全部实现
- 需求分析
- matlab画图
- 外连接,内连接
- 标准库vector类型
- 如何对MSHFlexGrid多行中的一行进行删除、修改呢?
- 链表建立过程中如何巧妙设置链表成功建立的判断条件
- win7 cygwin1.79安装ns2.35经验之谈
- ubuntu-13.10安装vmware tools报struct dentry’ has no member named ‘d_count错,修正方法
- Spring 使用JdbcTemplate类实现批量查询(RowMapper)
- c语言练习题1
- rsync与inotify实时同步备份数据
- Xcode开发工具
- POJ 1042