我在DbgridEh打回车时,都是跳到下一列的。但执行以下的“刷新”代码后,打回车就不再跳到下一列了,而是下一行了。真是不明白!为什么啊?
刷新的代码:
with MyDataSet do
begin
close;
sql.Text:='select * from mytable where....';
open;
end;
刷新的代码:
with MyDataSet do
begin
close;
sql.Text:='select * from mytable where....';
open;
end;
解决方案 »
- 在delphi 2007 中怎么添加 .ocx控件呢?告诉给我点帮助。详细步骤。谢谢
- 大哥,帮帮我呀!
- combox的试用问题
- 我用Delphi8编程序时,调试程序时出现下面的错误。
- fastreport奇怪的问题,在文本编辑器中输入的汉字显示乱码,如何解决?
- 如何将1显示成100%,0.9显示成90%?
- 请问有谁用过DevExpress D7版的? 救急!!!
- 在一个Memo组件中有若干个英文字,如何统计这些文本中,从'A'到'Z',从‘a'到'z'的各个英文字母的个数
- 急。delphi制作IIS调用的ISAPI的dll文件为什么要装Delphi才能正确运行
- 请问用Delphi做的ASP对象怎样传递数组到前端ASP脚本?
- 向临时表插入数据的问题
- 如何识别一个数据库中是否存在某个表?
OnClick(Object ,,)....OnKeyPress
试试
但是问题没有解决。请继续指教,谢谢!
dgeStore: TDBGridEh;
...
procedure TfrmEhlib.dgeStoreKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
if dgeStore.SelectedIndex < dgeStore.FieldCount - 1 then
dgeStore.SelectedIndex := dgeStore.SelectedIndex + 1
else
begin
if dgeStore.Row < dgeStore.RowCount - 1 then
dgeStore.Row := dgeStore.Row + 1;
dgeStore.SelectedIndex := 0;
end;
end;
我的程序的情况如下:
(1)程序中有通用的处理Enter->Tab的函数,所以没有象你那样再在此单独处理。所以,keypress没用你那样的代码。
(2)dbgrideh的属性都采用了默认值。
(3)dbgrid的回车跳转,在刷新前一切正常。刷新后就不正常了。现在我发现,可能是由于不断的改变DbGridEh1.ReadOnly属性有关!请老大在这方面考虑。
我发现,如果改变了DbGridEh1.ReadOnly属性,就可能造成打回车键跳到下一行的麻烦。虽然找到了问题所在,但不知道原因所在,如何解决?