如何控制StringGrid中某一列的输入的问题(50分)

  • 主题发起人 主题发起人 linda407
  • 开始时间 开始时间
L

linda407

Unregistered / Unconfirmed
GUEST, unregistred user!
StringGrid的某一列是输入数字的,如何控制输入数字时,如果输入了小数点,则小数点后最多只能再输入两个数字啊?
 
给该列挂接一个Edit,然后在这个Edit里面写你的规则,比如OnChange里编写程序来控制输入
 
还可以这样啊,呵呵,我是新手,谢谢
 
同意东方潇潇的做法。
 
能不能说具体一点啊?
 
下面是一个stringgrid显示combobox的例子,你自己改成edit就可以
procedure TForm1.StringGrid1Click(Sender: TObject);
var
rect: TRect;
begin
if StringGrid1.Col = 1 then//如果点击第1例就显示ComboBox
begin
ComboBox1.ItemIndex := -1;
rect := StringGrid1.CellRect(StringGrid1.Col, StringGrid1.Row);
ComboBox1.Top := rect.Top + StringGrid1.Top;
ComboBox1.Left := rect.Left + StringGrid1.Left;
ComboBox1.Width := rect.Right - rect.Left;
ComboBox1.ItemHeight := rect.Bottom - rect.Top - 6;
ComboBox1.Text := StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row];
ComboBox1.Visible := true;
end
else
begin
ComboBox1.Visible := false;
end;
end;

procedure TForm1.ComboBox1Exit(Sender: TObject);
begin//这里进行你的数据检验

if ComboBox1.ItemIndex <> 1 then
begin showmessage('数据输入错误');
ComboBox1.SetFocus;
end
else
StringGrid1.Cells[StringGrid1.Col, StringGrid1.Row] := ComboBox1.Text;
end;
 
谢谢各位
 
在回车的KeyPress事件中也要调用chen_liang的代码
 
后退
顶部