加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

在VB中如何使用MSHFlexGrid添加一行

(2020-01-14 22:15:35)
标签:

vb

mshflexgrid

分类: 程序设计_VB

在VB中如何使用MSHFlexGrid添加一行

1.增加空行

Me.MSHFlexGrid1.Rows = Me.MSHFlexGrid1.Rows + 1
这种方法只能把空行加到最后一行
MSHFlexGrid1.ADDITEM "" (注意后面有一个空字符,不能省)
以上也是加到最后一行

MSHFlexGrid1.addItem Empty   '增加一空行
MSHFlexGrid1.AddItem "",i       '此语句是在第i行处插一空行
MSHFlexGrid1.Row=MSHFlexGrid1.Rows-1   '定位当前行到最后一行

MSHFlexGrid1.TopRow = MSHFlexGrid1.Rows - 1 '显示最后一行(定位到最后一行)

2.插入数据行

如果插入有数据的行   如下
 Dim Entry, i         
 Entry = "数据" & Chr(9) & "数据" & Chr(9) & "数据"     'Chr(9)的作用相当表格的那条竖线
 MSHFlexGrid1.AddItem Entry,i


以上资料摘录至:https://bbs.csdn.net/topics/70056782

 

 

综上资料写了如下代码:

 

    '*****新增的数据显示在MSHFlexGrid中*********
   MSHFlexGrid1.Rows = MSHFlexGrid1.Rows + 1 '只会增加一个空行
   MSHFlexGrid1.Row = MSHFlexGrid1.Rows - 1 '定位到最后一行
   
    Dim Entry '定义一个Variant变量来存储要输入的数据
    Dim i As Long '序号
    i = MSHFlexGrid1.Rows + 1 '新增序号等于当前最大序号加1
    Entry = i & vbTab & txtPNumber.Text & vbTab & txtPName.Text & vbTab & txtStandRsd.Text & vbTab &  txtStandScope.Text & vbTab & DTPicker1.Value
    MSHFlexGrid1.AddItem Entry
    MSHFlexGrid1.TopRow = MSHFlexGrid1.Rows - 1'把当前行定位到最后一行

*******删除一行数据***********

Private Sub MSHFlexGrid1_Click()
  HaveSelected = True
  n = MSHFlexGrid1.RowSel
End Sub

Private Sub cmdDel_Click()
' strSql1 = "Delete From Product_Info Where PNumber='" & cbPNumber.Text & "'"

  Dim DelSure As Integer
  DelSure = MsgBox("批号为" & MSHFlexGrid1.TextMatrix(n, 1) & "是否删除?", vbOKCancel)
  If DelSure = 2 Then Exit Sub
    strSql1 = "Delete From Product_Info Where PNumber='" & MSHFlexGrid1.TextMatrix(n, 1) & "'"
    Set Rs1 = New ADODB.Recordset
    Set Rs1 = Cnn.Execute(strSql1)
    MSHFlexGrid1.RemoveItem MSHFlexGrid1.RowSel '删除选中的行
    MSHFlexGrid1.TopRow = MSHFlexGrid1.Rows - 1 '把当前行定位到最后一行

   Debug.Print MSHFlexGrid1.TextMatrix(n, 1)
   Debug.Print n 

cbFill cbPNumber, Rs1, "PNumber"
cbPNumber.Refresh
cbFill cbPNumber, Rs1, "PName"
cbPName.Refresh
MsgBox "批号为" & cbPNumber.Text & "删除成功!"
 
End Sub

 


之前在MSHFlexGrid中显示新增数据(无法及时显示新增数据),使用的方法是把整个数据表从ADO读取数据并重新填充一次,现在看来这样的做法是很不科学,如果是大数据时会严重的影响程序性能,还用上面的方法比较快速。

寄语:

     不断在学习,不要想去超越谁,重要是明天的您是否超越了今天的您。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有