我在用ADoquery,DataSource,edit開發一個程式在edit中我用以下代碼想寮現用上下左右鍵在dbgrid中移動,將所選中的值上傳到edit中,但結果隨你按那個鍵,它都沒反應,請問這問題出在那裡,謝謝指教!代碼如下:
procedure Twkprocedure01.Edit30KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i:integer;
begin
if (adoquery2.RecordCount>0) then
begin
case key of
48..57: begin
dbgrid3.visible:=true;
end;
vk_next: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
vk_prior: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
vk_down: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
vk_up: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
end;
end;
end;
procedure Twkprocedure01.Edit30KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
i:integer;
begin
if (adoquery2.RecordCount>0) then
begin
case key of
48..57: begin
dbgrid3.visible:=true;
end;
vk_next: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
vk_prior: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
vk_down: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
vk_up: if dbgrid3.visible then
begin
i:=0;
while (not adoquery2.eof) and (i<11) do
begin
adoquery2.next;
i:=i+1;
end;
edit30.Text:=adoquery2.fieldbyname('materiel_name').asstring;
end;
end;
end;
end;
Shift: TShiftState);这好象不是DBGRID的KEYDOWN事件,放在EDIT中,不知道为什么。
vk_next,vk_prior,这是什么键值??