请问DataGrid 控件如何绑定ComboBox 控件?我简单的捕捉DataGrid 控件的单元格的坐标,然后再定位ComboBox 控件,但定位不准确,如何准确的捕捉到DataGrid 控件的当前单元格的坐标?MsFlexGrid 控件有 
Combo1.Left = MSFlexGrid1.Left + .ColPos(MSFlexGrid1.Col) + 50
Combo1.Top =MSFlexGrid1 .Top + .RowPos(MSFlexGrid1.Row) + 50
Combo1.width = MSFlexGrid1.ColWidth(MSFlexGrid1.Col)
可以准确定位,再DataGrid 控件中有相应的参数吗?
还有,如何通过鼠标单击响应comboBox 控件?我是在DataGrid 控件的Click 事件里响应comboBox 控件的事件的

解决方案 »

  1.   

    其实在datagrid 的属性页中间可以设置有下拉。需要加个listbox就行了
    响应事件应该是buttonclick中间吧,如果我没记错
      

  2.   

    对,但我不知道该怎么用那个下拉选项,listbox加到哪里啊?
      

  3.   

    如何在其内置下拉箭头里添加数据?类似往ComboBox控件中添加数据,以便选择,从而把该值赋给该单元格
      

  4.   

    Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
        On Error GoTo err:
        With DataGrid1
            Select Case .col
              Case 2
                 If Adodc1.Recordset.RecordCount < 1 Then
                    ChkIn.Visible = False
                    ChkOut.Visible = False
                    Exit Sub
                 End If
                 ChkIn.Left = .Left + 2900
                 ChkIn.Top = .Top + (.RowHeight + 15) * (.row + 1)
                 ChkOut.Visible = False
                 ChkIn.Visible = True
    '             If .Text = "" Then ChkIn.Value = 0
                 If .Text = " " Or .Text = "" Then
                    ChkIn.Value = 1
                    .Text = "√"
                 Else
                    ChkIn.Value = 0
                    .Text = " "
                 End If
              Case 8
                 If Adodc1.Recordset.RecordCount < 1 Then
                    ChkIn.Visible = False
                    ChkOut.Visible = False
                    Exit Sub
                 End If
    '             .row = LastRow
                 .col = 4
                 If .Text = "" Then Exit Sub
                 
                 ChkOut.Left = .Left + 9450
                 ChkOut.Top = .Top + (.RowHeight + 15) * (.row + 1)
                 ChkIn.Visible = False
                 ChkOut.Visible = True
                 .col = 8
                 If .Text = " " Or .Text = "" Then
                    ChkOut.Value = 1
                    .Text = "√"
                 Else
                    ChkOut.Value = 0
                    .Text = " "
                 End If
                 
             Case Else
                 ChkIn.Visible = False
                 ChkOut.Visible = False
            End Select
        End With
    err:
       Exit Sub
    End Sub
    参考一下吧!我用的是复选框。
      

  5.   

    ChkIn.Visible = False
    其中 ChkIn是什么控件?
      

  6.   

    你的程序我看了,与我现在的做法基本差不多,不知道为什么,在我的机子上运行后,定位不大准确,我原来的已经改了,定位值,问题基本解决了。但对应DataGrdi控件内部的下拉控件,如何利用,是个问题,我们这种绑定其他控件,还是没有DataGrdi控件本身的功能好吧,很容易出错!
      

  7.   

    没有办法向内置下拉箭头里添加数据,用一个listBox代替一下吧。
      

  8.   

    如果不能‘向内置下拉箭头里添加数据’,那其内嵌的下拉箭头有何用处呢??
    但用listBox也需要绑定啊,否则怎么对应所选单元格呢?这不又回到单元格定位的问题上了吗?