扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:冯杰 来源:yesky 2007年10月15日
关键字:
主要代码如下:
Dim lastrow% '最后一次鼠标点击的行 Private Sub Form_Load() '初始化data控件,进行绑定显示的初始化 '进行非绑定显示 For j = 1 To MSFlexGrid2.Cols - 1 '控制列 |
要在不绑定数据的情况下实现编辑修改的功能,如果对控件不进行改进是无法达到目的的。这里实现的思路是首先判断光标(或者说焦点)在哪个单元格上,然后在在单元格的范围内动态创建一个文本框(不过在vb平台下,可以考虑先在设计时放置一个不可见的文本框,然后通过move方法将其放置到当前单元格并且显示它即可达到相同的目的),其大小正好可以把此单元格给覆盖掉,然后就可以把原来的文本信息附给该文本框,这样就可以直接在文本框内进行编辑修改操作,从而实现了单元格的编辑修改功能,依据这个思想来可以在单元格里面创建下拉列表框,复选框等控件。其实现的核心代码如下:
'实现编辑功能 Private Sub MSFlexGrid3_DblClick() Text1.Visible = False '如果初次双击,那么就执行如下代码 If firstclick = True Then lastclickrow = MSFlexGrid3.Row lastclickcol = MSFlexGrid3.Col Text1.Text = MSFlexGrid3.TextMatrix(lastclickrow, lastclickcol) End If '将文本框放置到当前单元格处 Dim LeftOfText% '文本框的left属性 Dim TopOfText% '文本框的top属性 Dim selrow% '当前行 Dim selcol% '当前列 selrow = MSFlexGrid3.Row selcol = MSFlexGrid3.Col LeftOfText = Frame3.Left + MSFlexGrid3.Left + MSFlexGrid3.ColPos(selcol) + 45 TopOfText = Frame3.Top + MSFlexGrid3.Top + MSFlexGrid3.RowPos(selrow) + 45 Text1.Move LeftOfText, TopOfText, 930, 200 Text1.Visible = True '如果不是初次双击,那么就执行如下代码 If firstclick = False Then MSFlexGrid3.TextMatrix(lastclickrow, lastclickcol) = Text1.Text lastclickrow = MSFlexGrid3.Row lastclickcol = MSFlexGrid3.Col End If Text1.Text = MSFlexGrid3.TextMatrix(selrow, selcol) '已经不是第一次进行双击操作 firstclick = False End Sub |
三.小结:
数据表格控件在实际运用用还有很多技巧,只有不断的在实际编程中积累经验才能达到灵活运用的功效。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者