不知道楼主这样做有什么用处;或者说是好处;具体说要实现这个功能其实很easy的; 你试试下面的代码;procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if dbgrid1.SelectedIndex = 1 then begin if (length(dbgrid1.SelectedField.AsString) > 4) and (not AnsiContainsStr(dbgrid1.SelectedField.AsString, '-')) then begin adoquery1.Edit; dbgrid1.SelectedField.Value := StuffString(dbgrid1.SelectedField.AsString, 5, 0, '-'); adoquery1.Post; end; end; end;
如果输入的字符数大于4个那显示成什么样子?
abcd-e
还是abcde
你试试下面的代码;procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if dbgrid1.SelectedIndex = 1 then
begin
if (length(dbgrid1.SelectedField.AsString) > 4) and (not AnsiContainsStr(dbgrid1.SelectedField.AsString, '-')) then
begin
adoquery1.Edit;
dbgrid1.SelectedField.Value := StuffString(dbgrid1.SelectedField.AsString, 5, 0, '-');
adoquery1.Post;
end;
end;
end;