如何使DATAGRID控件当有用户点击时,出现下拉选择菜单,我想大概是放一个COMBO控件在它上面,但又不知如何控制,不知各位大虾有何好方法?最好有例子!!!

解决方案 »

  1.   

    下面的代码作者:李洪根大侠
    在DataGrid中顯示DataCombo
    DataGrid1_MouseDown
    Dim col As MSDataGridLib.Column
    Set col = DataGrid1.Columns(DataGrid1.col)
    If col.Caption = "MS" And DataGrid1.CurrentCellVisible Then
        DataCombo1.Left = DataGrid1.Left + col.Left + 2 * Screen.TwipsPerPixelX
        DataCombo1.Top = DataGrid1.Top + DataGrid1.RowTop(DataGrid1.Row) + 2 * Screen.TwipsPerPixelX
        DataCombo1.Width = col.Width - 2 * Screen.TwipsPerPixelX
        DataCombo1.Text = col.Text
        DataCombo1.Visible = True
        DataCombo1.SetFocus
        DataCombo1.ZOrder
    Else
    DataCombo1.Visible = False
    End If
      

  2.   


    再给你来一个样子
    Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
        Dim hh As Integer
        Dim Xh As Integer
        Dim Cpm As String
        Dim cSpdj1 As Double
        hh = 12
        
        If DataGrid1.Enabled = True Then
            If DataGrid1.Columns(0).Text = "品牌" And DataGrid1.Columns(0).Text = "工艺" And DataGrid1.Columns(0).Text = "规格" And DataGrid1.Columns(0).Text = "TOTAL:" Then
                DataGrid1.Columns(9).Locked = True
            Else
                DataGrid1.Columns(9).Locked = False
            End If
            Select Case DataGrid1.Col
                Case 0
                    Check1.Visible = False
                    Text5.Visible = False
                    Combo2.Visible = True
                    Combo4.Visible = False
                    Combo5.Visible = False
                    Combo2.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50
                    Combo2.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
                    Combo2.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
                    Combo2.SetFocus
                    If DataGrid1.Columns(0).Text <> "" Then
                        Combo2.Text = DataGrid1.Columns(0).Text
                    End If
                Case 1
                    Check1.Visible = False
                    Combo2.Visible = False
                    Combo4.Visible = False
                    Combo5.Visible = False
                    Text5.Visible = False
                    Select Case DataGrid1.Columns(0).Text
                        Case "品名"
                            Check1.Visible = False
                            Text5.Visible = True
                            Combo2.Visible = False
                            Combo4.Visible = False
                            
                            Text5.Width = DataGrid1.Columns(DataGrid1.Col).Width + 50
                            Text5.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
                            Text5.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
                            Text5.SetFocus
                            If DataGrid1.Columns(0).Text <> "" Then
                                Text5.Text = DataGrid1.Columns(1).Text
                            End If
                    End Select
                Case 2
                    Check1.Visible = False
                    Combo2.Visible = False
                    Combo4.Visible = False
                    Combo5.Visible = False
                    Text5.Visible = False
                    Select Case DataGrid1.Columns(0).Text
                        Case "规格"
                            If DataGrid1.Columns(2).Text <> "" Then
                                Text5.Text = DataGrid1.Columns(2).Text
                            Else
                                If Text5.Text <> "" Then
                                    DataGrid1.Columns(2).Text = Text5.Text
                                End If
                            End If
                    End Select
                    If IsNull(Rs_Jc_Shhy_Sp.Fields("ID")) Or Rs_Jc_Shhy_Sp.Fields("ID") = Rs_Jc_Shhy_Sp.RecordCount Then
                        DataGrid1.Enabled = False
                        Rs_Jc_Shhy_Sp.AddNew
                        Rs_Jc_Shhy_Sp.Fields("ID") = Rs_Jc_Shhy_Sp.RecordCount
                        Rs_Jc_Shhy_Sp.Fields("HTH") = Text1(0).Text
                        Rs_Jc_Shhy_Sp.MovePrevious
                        DataGrid1.Enabled = True
                    End If
                Case 6
                    Select Case DataGrid1.Columns(0).Text
                        Case "品名"
                            Combo5.Visible = True
                            Combo5.Width = DataGrid1.Columns(DataGrid1.Col).Width + 30
                            Combo5.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
                            Combo5.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
                            Combo5.SetFocus
                        Case Else
                            Combo5.Visible = False
                    End Select
                Case 8
                    Check1.Visible = False
                    Text5.Visible = False
                    Combo2.Visible = False
                    Combo5.Visible = False
                    Select Case DataGrid1.Columns(0).Text
                        Case "价格条款"
                            Combo4.Visible = True
                            Combo4.Width = DataGrid1.Columns(DataGrid1.Col).Width + 30
                            Combo4.Left = DataGrid1.Left + DataGrid1.Columns(DataGrid1.Col).Left
                            Combo4.Top = DataGrid1.Top + DataGrid1.Row * (DataGrid1.RowHeight + hh) + (DataGrid1.HeadLines - 1) * 195
                            Combo4.SetFocus
                            If DataGrid1.Columns(8).Text <> "" Then
                                Combo4.Text = DataGrid1.Columns(8).Text
                            End If
                        Case Else
                            Combo4.Visible = False
                    End Select
      

  3.   

    ------------------------------------------------------------------
    个人专栏:http://www.csdn.net/develop/author/netauthor/lihonggen0/
    ------------------------------------------------------------------