我在用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;