VSFlexGrid,如何设置某一列只能输入数字?如何设置某一列的背景色?

czwwh 2003-12-13 12:38:40
我想让用户在某一列中只能输入数字,如“数量”这一列。我这样写的:
fg.ColDataType(4) = flexDTDouble
但是不行,不能控制。我又这样写:
fg.ColEditMask(4) = "#,##0.00"
但这样用户用起来不方便,格式太固定了。有没有办法让用户输入时只能输入数字和小数点?

另外,设置某一列的背景色,我是这样做的:
fg.Cell(flexcpBackColor, 1, 0, fg.Rows - 1) = RGB(255, 255, 0)
但这样也有个问题,就是每增加一行时,都要重新设置一下,有没有更好的办法?
望高手和有经验的人共同探讨!
...全文
244 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
axer 2004-01-05
  • 打赏
  • 举报
回复
对了,不要管我代码里的Label8等无关东西,因为我直接拷贝了程序里的代码,对你没用的
axer 2004-01-05
  • 打赏
  • 举报
回复
我以前写过的:
'设定键盘操作事件
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 If

End Select

End
zhuxiaopeng 2004-01-05
  • 打赏
  • 举报
回复
楼上的写的很好!!但用第三方的控件不就好了吗!!!
jilate 2003-12-23
  • 打赏
  • 举报
回复
在vfg_keypdwon还是key_press事件中处理
if keycode 不为 数字的keycode
cancel=true
else
cancel=false
end if
czwwh 2003-12-23
  • 打赏
  • 举报
回复
up
xinshaw 2003-12-23
  • 打赏
  • 举报
回复
在KeyPress事件中写吧
yoki 2003-12-23
  • 打赏
  • 举报
回复
有没有办法让用户输入时只能输入数字和小数点?
Re:在vfg_keypdwon还是key_press事件中自己编写代码实现
上官云峰 2003-12-23
  • 打赏
  • 举报
回复
在属性中设置就可以了
czwwh 2003-12-15
  • 打赏
  • 举报
回复
up
axer 2003-12-13
  • 打赏
  • 举报
回复
用属性里的Mask没错的.只要设置好你想要的Format就可以的.另外,你想要的效果在他的例子里面都有
jilate 2003-12-13
  • 打赏
  • 举报
回复
在设计的时候设置。
属性里面设啊
右键---》property

1,451

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧