set mshfexgrid.datasoure=记录集
选中一行在该控件的属性中可设!!!!!!!

解决方案 »

  1.   

    1、Set mshFexGrid.DataSoure=RecordSet
    2、在控件属性中设置其选择模式为 By Row
      

  2.   

    Private Sub Form_Load()
     
    Dim linkFlag As IntegerlinkFlag = FunSqlLinkSet Rs = New ADODB.Recordset
    Rs.Open "Select * from 用料计量", Cnn, adOpenKeyset, adLockBatchOptimistic'Do While Not Rs.EOF
    'MsgBox Rs("订单编号") & "why"
    'Rs.MoveNext
    'LoopIf Rs.EOF Then
    Rs.Close
    Set Rs = Nothing
    'Form1.MSHFlexGrid1.Cols = 9
    'Form1.MSHFlexGrid1.FormatString = "订单编号|序号|客人型号|款号|材料编号|材料名称|数量|单位用量|用量"
    Exit Sub
    '
    Else
    Form1.MSHFlexGrid1.Cols = 9
    Form1.MSHFlexGrid1.FormatString = "订单编号|序号|客人型号|款号|材料编号|材料名称|数量|单位用量|用量"
    Form1.MSHFlexGrid1.ColWidth(0) = 1000
    Form1.MSHFlexGrid1.ColWidth(1) = 500
    Form1.MSHFlexGrid1.ColWidth(2) = 1200
    Form1.MSHFlexGrid1.ColWidth(3) = 1200
    Form1.MSHFlexGrid1.ColWidth(4) = 2000
    Form1.MSHFlexGrid1.ColWidth(5) = 1000
    Form1.MSHFlexGrid1.ColWidth(6) = 500
    Form1.MSHFlexGrid1.ColWidth(7) = 1000
    Form1.MSHFlexGrid1.ColWidth(8) = 500
     
     
     
    Set Form1.MSHFlexGrid1.DataSource = Rs
    End If
    linkFlag = FunSqlCloseEnd Sub看看不没有参考价值.
      

  3.   

    Static my As Variant
    'Select Case Node.Text
    'MSHFlexGrid1.SetFocus
    'Case "ºÏͬ¿Í»§Ò»ÀÀ±í"Dim num As Integer
    If re10.State Then
    re10.Close
    End If
    If db.State = 0 Then
    db.Open connstr
    re10.CursorLocation = adUseClient
    re10.Open "select com_name,month,date,je,number,dept,meno,operdate,oper,item from yjdan order by com_name", connstr, adOpenDynamic, adLockOptimistic
    db.Close
    End IfMSHFlexGrid1.Clear
    MSHFlexGrid1.Rows = re10.RecordCount + 1
    MSHFlexGrid1.Cols = re10.Fields.Count + 1
    MSHFlexGrid1.FixedRows = 0
    MSHFlexGrid1.Row = 0
    MSHFlexGrid1.Col = 0
    MSHFlexGrid1.Text = ""
    MSHFlexGrid1.Col = 1
    MSHFlexGrid1.Text = "¹«Ë¾Ãû³Æ"
    MSHFlexGrid1.Col = 2
    MSHFlexGrid1.Text = " ÔÂ"
    MSHFlexGrid1.Col = 3
    MSHFlexGrid1.Text = " ÈÕ"
    MSHFlexGrid1.Col = 4
    MSHFlexGrid1.Text = "  Ïû·Ñ½ð¶î"
    MSHFlexGrid1.Col = 5
    MSHFlexGrid1.Text = "  Ïû·Ñ¿¨ºÅ"
    MSHFlexGrid1.Col = 6
    MSHFlexGrid1.Text = "  Ïû·Ñ²¿ÃÅ"
    MSHFlexGrid1.Col = 7
    MSHFlexGrid1.Text = "  ±¸    ×¢"
    MSHFlexGrid1.Col = 8
    MSHFlexGrid1.Text = "  ²Ù×÷Ô±"
    MSHFlexGrid1.Col = 9
    MSHFlexGrid1.Text = "  ²Ù×÷ÈÕÆÚ"
    MSHFlexGrid1.Col = 10
    MSHFlexGrid1.Text = "  Ïû·ÑÏîÄ¿"
    MSHFlexGrid1.ColWidth(0) = 200
    MSHFlexGrid1.ColWidth(1) = 1200
    MSHFlexGrid1.ColWidth(2) = 420
    MSHFlexGrid1.ColWidth(3) = 420
    MSHFlexGrid1.ColWidth(4) = 1000
    MSHFlexGrid1.ColWidth(5) = 1000
    MSHFlexGrid1.ColWidth(6) = 1200
    MSHFlexGrid1.ColWidth(7) = 800
    MSHFlexGrid1.ColWidth(8) = 1800
    MSHFlexGrid1.ColWidth(9) = 600
    re10.MoveFirst
    m = 0
    j = 0
    For m = 1 To re10.RecordCount
    my = re10.book
    MSHFlexGrid1.Row = m
    For j = 0 To re10.Fields.Count - 1
    MSHFlexGrid1.Col = j + 1
    MSHFlexGrid1.Text = re10.Fields(j).Value & ""
    MSHFlexGrid1.CellAlignment = flexAlignLeftCenter
    Next j
    MSHFlexGrid1.Refresh
    j = j + 1StatusBar1.SimpleText = "¸÷ºÏͬ¿Í»§Àۼƹ²ÓÐ:" & my & "ÌõÏû·ÑÏîÄ¿"
    re10.MoveNext
    Next m
    With MSHFlexGrid1
           If .Rows > 1 Then
                .FillStyle = flexFillRepeat
                For i = .FixedRows + 1 To .Rows - 1 Step 2
                    .Row = i
                 .Col = .FixedCols
                    .ColSel = .Cols() - .FixedCols
                    .CellBackColor = &H8000000F 'vbInfoBackground  ' light grey
                Next i
               .FillStyle = flexFillSingle
                '.Sort = flexSortGenericAscending
           '.MergeCells = flexMergeRestrictColumns
            End If
    End WithEnd Sub