線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:987
推到 Plurk!
推到 Facebook!

請問DBDGR換行問題

尚未結案
kytung550322
一般會員


發表:6
回覆:5
積分:2
註冊:2004-07-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-08-12 08:39:26 IP:211.76.xxx.xxx 未訂閱
DBDGRID如何在新增及修改模式下,保持在新增及修改模式之所在記錄列, 不論按任何鍵或MOUSE都不會換行,也就是保持在目前的記錄,除非在存檔後才可移動記錄指標。
thomas0728
中階會員


發表:112
回覆:260
積分:89
註冊:2002-03-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-08-12 09:25:34 IP:61.70.xxx.xxx 未訂閱
在 dbgrid 的
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if (Key = VK_UP) then   
  begin
    wwPreRecClick(Sender);
  end ;
  if (Key = VK_Down) then   
  begin
    wwPreRecClick(Sender);
  end ;
end;
mouse 也做如是觀,試試吧 如果愛情也有味覺 那麼 有沒有ㄧ種愛 微微泛酸 不太苦澀 有點甜密 嚐起來的滋味讓人想起幸福 Thomas Chiou
------
Thomas Chiou
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-08-12 11:36:43 IP:61.221.xxx.xxx 未訂閱
  if (key = 38) or (key = 40) then begin
    if DM.Export110.State <> dsbrowse then begin
      key := 0;
      Exit;
    end;
  end;
 
~~應無所住而生其心~~
kytung550322
一般會員


發表:6
回覆:5
積分:2
註冊:2004-07-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-08-12 12:15:16 IP:211.76.xxx.xxx 未訂閱
請問 key = 38,40是代表何鍵,若是tal及shift tab鍵則key值是多少。 另外Key = VK_UP及Key = VK_Down是代表何鍵。那裏可以有參改資料。 謝謝大哥的指導。
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-08-12 12:38:26 IP:61.221.xxx.xxx 未訂閱
您好 38表↑40表↓ shift 16 alt 18 ~~應無所住而生其心~~
kytung550322
一般會員


發表:6
回覆:5
積分:2
註冊:2004-07-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-08-12 22:04:42 IP:211.76.xxx.xxx 未訂閱
諸位大哥 我的問題是在我按tab鍵到最後一欄時,會自動跳下一筆記錄,按tab鍵到第一欄時會自動跳上一筆記錄, 我如何控制在新增及修改模式下不會自動跳下一筆或下一筆記錄, 滑鼠亦然.
kytung550322
一般會員


發表:6
回覆:5
積分:2
註冊:2004-07-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-08-12 22:05:21 IP:211.76.xxx.xxx 未訂閱
諸位大哥 我的問題是在我按tab鍵到最後一欄時,會自動跳下一筆記錄,按tab鍵到第一欄時會自動跳上一筆記錄, 我如何控制在新增及修改模式下不會自動跳下一筆或上一筆記錄, 滑鼠亦然.
terrychen
尊榮會員


發表:90
回覆:794
積分:501
註冊:2003-05-01

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-08-13 09:05:24 IP:61.221.xxx.xxx 未訂閱
您好:  
 
type
  TDBGrid= class(DBGrids.TDBGrid)
  protected
    Procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
  end;      TForm1 = class(TForm)
    ADOQuery1: TADOQuery;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    Button1: TButton;
    ApplicationEvents1: TApplicationEvents;
    procedure Button1Click(Sender: TObject);
    procedure ApplicationEvents1Exception(Sender: TObject; E: Exception);
    procedure DBGrid1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;    var
  Form1: TForm1;    implementation    {$R *.dfm}    procedure TDBGrid.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Shift = [ssLeft] then begin
    if (Form1.ADOQuery1.state = dsedit) or (Form1.ADOQuery1.state = dsinsert) then
      abort;
    inherited;
  end;
end;
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if (key = VK_TAB) then key := 0; end; ~~應無所住而生其心~~
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#9 引用回覆 回覆 發表時間:2004-08-13 09:46:49 IP:218.15.xxx.xxx 未訂閱
插个花: kytung550322您好:
procedure TForm1.Query1BeforeScroll(DataSet: TDataSet);
begin
   if dataset.state<>dsbrowse then
      begin
        abort;
      end;   
end;
试试看 ——行径窄处,留一步与人行—— ——
系統時間:2024-07-08 12:17:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!