我想让用户在某一列中只能输入数字,如“数量”这一列。我这样写的:
fg.ColDataType(4) = flexDTDouble
但是不行,不能控制。我又这样写:
fg.ColEditMask(4) = "#,##0.00"
但这样用户用起来不方便,格式太固定了。有没有办法让用户输入时只能输入数字和小数点?另外,设置某一列的背景色,我是这样做的:
fg.Cell(flexcpBackColor, 1, 0, fg.Rows - 1) = RGB(255, 255, 0)
但这样也有个问题,就是每增加一行时,都要重新设置一下,有没有更好的办法?
望高手和有经验的人共同探讨!
fg.ColDataType(4) = flexDTDouble
但是不行,不能控制。我又这样写:
fg.ColEditMask(4) = "#,##0.00"
但这样用户用起来不方便,格式太固定了。有没有办法让用户输入时只能输入数字和小数点?另外,设置某一列的背景色,我是这样做的:
fg.Cell(flexcpBackColor, 1, 0, fg.Rows - 1) = RGB(255, 255, 0)
但这样也有个问题,就是每增加一行时,都要重新设置一下,有没有更好的办法?
望高手和有经验的人共同探讨!
解决方案 »
- 求帮组
- vb报表中的线长与行宽的问题
- 字段判断问题
- 快进来看看----------一定给分的
- 求救:我用vb自带的报表设计器设计了一个打印,最后一个字段信息很多我也实现了换行功能,可是字段与字段之间的阁线并不自动加长。
- 关于VSFlexGrid1.ColDataType里的一些属性的问题
- 用什么控件来显示这样的查询?
- 请各位高手帮忙,小弟我现在想在工具栏上加一个组合框,不知该怎么办,
- 请高手们指教。这是我的第一个问题?
- 在VB中如何用程序调用,超级终端生成以。HT格式的文件并且执行。??????
- 关于活动脚本,这个问题对我重要,给100分了
- 如何用代码将网页编码选择为简体中文(GB2312)?50分
属性里面设啊
右键---》property
if keycode 不为 数字的keycode
cancel=true
else
cancel=false
end if
Re:在vfg_keypdwon还是key_press事件中自己编写代码实现
'设定键盘操作事件
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