VB中MSHFlexGrid控件的应用

类别:VB语言 点击:0 评论:0 推荐:

应用心得                                  

1)MSHFlexGrid控件 与 MSFlexGrid控件 的异同

 MSHFlexGrid控件与Adodc控件绑定,MSFlexGrid控件与Data控件绑定。

2)MSHFlexGrid控件的应用

如果记录集已经在程序中产生,则可以不与Adodc控件绑定,直接在MSHFlexGrid控件中显示数据,并且可以根据需要设置控件中行的颜色,如下例:   

Public Function DataGrid_Update() As Boolean
    On Error GoTo DataGrid_Update_Err
    Dim orarsRecordset As Object
    Dim adorsRecordset As New ADODB.Recordset
    Dim lngDateDiff As Long
   
    Call gGetData(CONST_GENERALTABLE_TIMEOUT_INFO, orarsRecordset)
    If Not ADO_DataBaseOpen(dskAttr, 1) Then
        DataGrid_Update = False
        Exit Function
    End If

    adorsRecordset.CursorLocation = adUseClient
    Call adorsRecordset.Open(CONST_VEHICLETABLE_RECORDSET_QUERIED, _
                            mobjDataSource.ConnectionString, , , adCmdText)
    frmShowNewData.grdSaiShin.ColWidth(0) = 800
    frmShowNewData.grdSaiShin.ColWidth(1) = 2000
    frmShowNewData.grdSaiShin.AllowUserResizing = flexResizeColumns
    Set frmShowNewData.grdSaiShin.DataSource = adorsRecordset
   
    Dim i As Integer
    i = 0
    i = i + 1
    While Not adorsRecordset.EOF
        lngDateDiff = DateDiff("n", adorsRecordset.Fields("測位日時"), Now)
        If lngDateDiff > orarsRecordset.Fields("GEN_V_NUM").Value Then
            frmShowNewData.grdSaiShin.Row = i
            Dim j As Integer
            For j = 0 To frmShowNewData.grdSaiShin.Cols - 1
                frmShowNewData.grdSaiShin.Col = j
                frmShowNewData.grdSaiShin.CellBackColor = &H80FFFF
            Next
        End If
        i = i + 1
        adorsRecordset.MoveNext
    Wend
    Call ADO_DataBaseClose
    DataGrid_Update = True
    Exit Function
DataGrid_Update_Err:
    Call ADO_DataBaseClose
    DataGrid_Update = False
End Function

本文地址:http://com.8s8s.com/it/it6593.htm