我想让用户在某一列中只能输入数字,如“数量”这一列。我这样写的:
fg.ColDataType(4) = flexDTDouble
但是不行,不能控制。我又这样写:
fg.ColEditMask(4) = "#,##0.00"
但这样用户用起来不方便,格式太固定了。有没有办法让用户输入时只能输入数字和小数点?另外,设置某一列的背景色,我是这样做的:
fg.Cell(flexcpBackColor, 1, 0, fg.Rows - 1) = RGB(255, 255, 0) 
但这样也有个问题,就是每增加一行时,都要重新设置一下,有没有更好的办法?
望高手和有经验的人共同探讨!

解决方案 »

  1.   

    在设计的时候设置。
    属性里面设啊
    右键---》property
      

  2.   

    用属性里的Mask没错的.只要设置好你想要的Format就可以的.另外,你想要的效果在他的例子里面都有
      

  3.   

    在vfg_keypdwon还是key_press事件中处理
    if keycode 不为 数字的keycode
       cancel=true
    else 
       cancel=false
    end if
      

  4.   

    有没有办法让用户输入时只能输入数字和小数点?
    Re:在vfg_keypdwon还是key_press事件中自己编写代码实现
      

  5.   

    我以前写过的:
    '设定键盘操作事件
    Private Sub vg_KeyPressEdit(ByVal Row As Long, ByVal Col As Long, KeyAscii As Integer)
    Select Case Col
     
     Case 1 '第二列,数量的录入限定,不接受小数点   If KeyAscii < vbKey0 Or KeyAscii > vbKey9 Then
          Select Case KeyAscii
          Case 13 '回车键右跳格
             vg.Select vg.RowSel, vg.ColSel + 1
          Case 8 '退格键
            KeyAscii = 8
          End Select
       End If
       Case 3 '第4列,目标价录入限定,接受小数点
       If KeyAscii < vbKey0 Or KeyAscii > vbKey9 Then
          Select Case KeyAscii
          Case 13 '回车键右跳格
             If Len(Trim(vg.EditText)) <> 0 And IsNumeric(vg.EditText) = False Then
                MsgBox Prompt:="请输入有效的数值...", Buttons:=vbOKOnly + vbExclamation, Title:="系统提示"
                vg.Select vg.RowSel, vg.ColSel
                vg.Cell(flexcpText, vg.RowSel, vg.ColSel) = ""
             Else
                If vg.RowSel = vg.Rows - vg.FixedRows Then '如果光标所在最后一行,增加新行
                   vg.Rows = vg.Rows + 1
                   vg.Select vg.RowSel + 1, 0
                Else '如果光标所在行非最后一行,则不增加新行
                   vg.Rows = vg.Rows
                End If
             Label8.Caption = vg.RowSel - 1
             vg.SetFocus
             End If
          Case 8 '退格键
            KeyAscii = 8
          Case 46'删除
               KeyAscii = 46
          Case Else
               KeyAscii = 0
          End Select
       End IfEnd SelectEnd
      

  6.   

    对了,不要管我代码里的Label8等无关东西,因为我直接拷贝了程序里的代码,对你没用的