DBGrid问题,为什么一行记录还未录入完,按回车键后它就自动新增一行并将光标至到新增的一行了?
我一行记录有多个字段要录入,仅录入了第一个就有如标题那样的问题了.
还请帮忙看看,谢谢
[解决办法]
回车表示你向DBGrid提交完一条记录
[解决办法]
用户按下Enter键时,你有无做什么?
[解决办法]
这里进行处理
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then ...
end;
[解决办法]
默认的情况下,按回车是没问题的
[解决办法]
你把客户的回车键给卸了:Q
[解决办法]
屏蔽|重载回车键
[解决办法]
是不是要实现这个效果?
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Index: Integer;
begin
if Key = 13 then
begin
Index := DBGrid1.SelectedIndex;
if Index < DBGrid1.FieldCount - 1 then
DBGrid1.SelectedField := DBGrid1.Fields[Index + 1]
else
begin
DBGrid1.DataSource.DataSet.Post;
DBGrid1.DataSource.DataSet.Append;
DBGrid1.SelectedField:=DBGrid1.Fields[0];
end;
end;
end;