求一msflexgrid或mshflexgird修改删除的例子(连数据库)

解决方案 »

  1.   

    Private Sub msflexgrid7_KeyPress(KeyAscii As Integer)
    MSFlexGrid1.Col = WgridCol%
    MSFlexGrid1.Row = WgridRow%
    If KeyAscii = 8 Then  'keyascii=8为退格删除键
        If MSFlexGrid1.Text <> "" Then MSFlexGrid1.Text = Mid$(MSFlexGrid1.Text, 1, Len(MSFlexGrid1.Text) - 1) '除最后一个字符
        Else
           MSFlexGrid1.Text = MSFlexGrid1.Text + Chr$(KeyAscii)
    End IfEnd SubPrivate Sub msflexgrid1_RowColChange()
        WgridCol% = MSFlexGrid1.Col
        WgridRow% = MSFlexGrid1.Row
    End Sub
    但连数据库的时候比较麻烦。
      

  2.   

    我就是修改部分不太会做,用mshflexgrid好解决吗?
      

  3.   

    Dim CN   As New ADODB.Connection                '定义数据库的连接存放数据和代码
        Dim Rs   As New ADODB.Recordset    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic    Set mshflexgrid1.DataSource = Rs
      

  4.   

    定义一个display函数,每删除一个记录调用一次就可以了!如:Private Function display()                      '显示数据到网格函数
    On Error Resume Next    gridInput.Cols = 7
    '************************************显示网格的字段名************************
        gridInput.ColWidth(0) = 1350
        gridInput.ColWidth(1) = 1200
        gridInput.ColWidth(2) = 1900
        gridInput.ColWidth(3) = 600
        gridInput.ColWidth(4) = 900
        gridInput.ColWidth(5) = 750
        gridInput.ColWidth(6) = 1000
     
    '定义要的字段名到第一行!   
        gridInput.TextMatrix(0, 0) = "   日   期"
        gridInput.TextMatrix(0, 1) = "  种   类"
        gridInput.TextMatrix(0, 2) = "      规    格 "
        gridInput.TextMatrix(0, 3) = " 数 量"
        gridInput.TextMatrix(0, 4) = "  材 积"
        gridInput.TextMatrix(0, 5) = " 单  价"
        gridInput.TextMatrix(0, 6) = "  金  额"
        
        gridInput.Rows = 2
        rsInput.MoveFirst
    '**************************************读取数据**************************
        Do While Not rsInput.EOF ' Loops until the Recordset is at end. (EOF = End Of File)
            gridInput.TextMatrix(gridInput.Rows - 1, 0) = rsInput.Fields(1).Value
            gridInput.TextMatrix(gridInput.Rows - 1, 1) = rsInput.Fields(2).Value
            gridInput.TextMatrix(gridInput.Rows - 1, 2) = rsInput.Fields(3).Value
            gridInput.TextMatrix(gridInput.Rows - 1, 3) = rsInput.Fields(4).Value
            gridInput.TextMatrix(gridInput.Rows - 1, 4) = rsInput.Fields(6).Value
            gridInput.TextMatrix(gridInput.Rows - 1, 5) = rsInput.Fields(7).Value
            gridInput.TextMatrix(gridInput.Rows - 1, 6) = rsInput.Fields(8).Value
            
            gridInput.Rows = gridInput.Rows + 1
            rsInput.MoveNext ' Remember to move to the next record.
        Loop
    End Function
      

  5.   

    建议用Datagrid好些!!    Dim CN   As New ADODB.Connection                '定义数据库的连接存放数据和代码
        Dim Rs   As New ADODB.Recordset    CN.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\NWIND.MDB;Persist Security Info=False"
        CN.Open    Rs.CursorLocation = adUseClient
        Rs.Open "select * from employees", CN, adOpenDynamic, adLockBatchOptimistic    Set DataGrid1.DataSource = Rs
    直接在表格上修改保存只需要
    Rs.Update
    Rs.UpdateBatch就可以了
      

  6.   

    http://expert.csdn.net/Expert/topic/1878/1878215.xml?temp=.42651
      

  7.   

    我想问一下如何获得msflexgrid里记录中某一项的内容?
    比如数据库有id字段,如何在msflexgrid显示之后当用户单击某一条记录时能获得id
    就是吧msflexgrid与数据库记录对应起来???