delphi cxgrid限制字符

时间:2013-05-15 16:06:16

标签: delphi devexpress tcxgrid

我们正在使用devexpress在Delphi 2006中工作。

我们有一个cxGrid。 我们希望限制数字列的值的输入,0到999之间的整数。 如果我将属性类型设置为SpinEdit,则初始值始终为0,这是不需要的。

因此,我将列上的属性值保留为null,并将列的数据绑定上的数据类型设置为Smallint。这在很大程度上起作用,但是'e'和'。'并且'+'和' - '仍然可以输入到导致例外的列中。

是一种排除'e'和'。'的简单方法。并且'+'和' - '被输入到列中?

1 个答案:

答案 0 :(得分:0)

通过将UseNullString设置为true,可以防止初始值为0.

不需要的字符输入可以通过

处理
procedure TForm1.ViewEditKeyPress(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
  AEdit: TcxCustomEdit; var Key: Char);
begin
   if AItem = TheColumnWithSpinEdit then
     if (not (Key in ['0'..'9',#8])) then Key := #0;
end;