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

請問DBGrid物件

答題得分者是:T.J.B
fency
一般會員


發表:2
回覆:5
積分:1
註冊:2004-01-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-12 05:05:01 IP:61.231.xxx.xxx 未訂閱
有什麼辦法可以讓程式自己指定哪一個欄位的資料嗎 ? 就像是StrungGrid.Cells[2,3]可以讓程式指定第二列第三行的那一格欄位一樣 又或者是DBGrid有什麼函數或是屬性可以自動換行跳到下一個row的嗎?    我今天是想把從資料庫抓回DBGrid中的資料讀進程式中做運算 因此需要做這樣的動作,麻煩請知道的大德幫忙解決疑惑好嗎  謝謝    我已經看了好幾個小時的討論區文章+英文太爛所以Delphi Help實在看不懂 問了這樣一個膚淺的問題很抱歉  但還是希望有高手能花一點點時間幫我解決疑惑  謝謝  
sl@cableplus.com.cn
高階會員


發表:168
回覆:359
積分:130
註冊:2004-03-26

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-12 08:59:13 IP:218.80.xxx.xxx 未訂閱
用TAB键即可
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-12 10:10:22 IP:61.218.xxx.xxx 未訂閱
你可以直接對Dataset做運算 跟dbgrid沒有關係喔 如 while not query1.eof do begin //做運算 query1.next; <--跳下一個row end; ps:你的dbgrid所連接的dataset 天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2004/07/12 10:13:22
------
天行健
君子當自強不息~~@.@
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-12 10:24:59 IP:210.65.xxx.xxx 未訂閱
Hi fency,    插一下花,補充一下,誠如 T.J.B 版大所言,主要是對 DataSet 進行操作,大致方法與程式碼約如下:    
1.
procedure TForm1.Button2Click(Sender: TObject);
function GetCellValue(DBGrid : TDBGrid ; ACol,Arow : Integer) : Variant;
  var
    SavePlace: TBookmark;
    DS : TDataSet;
    RS : Variant;
  begin
    DS := DBGrid.DataSource.DataSet;
    SavePlace := DS.GetBookmark;
    try
      DS.First;
      IF DS.MoveBy(ARow - 1) = ABS(ARow - 1) THEN
        RS := DS.FieldList.Fields[ACol - 1].Value
      ELSE
        RS := Null;
      DS.GotoBookmark(SavePlace);
    finally
      DS.FreeBookmark(SavePlace);
      Result := RS;
    end;
  end;    begin
  if GetCellValue(DBGrid1,SpinEdit1.Value,SpinEdit2.Value) = NULL then
    ShowMessage('Null')
  else
    ShowMessage(VarToStr(GetCellValue(DBGrid1,SpinEdit1.Value,SpinEdit2.Value)));
end;    2.
procedure TForm1.Button3Click(Sender: TObject);
begin
  DBGrid1.Perform(WM_KEYDOWN,VK_DOWN,0);
  DBGrid1.Perform(WM_KEYUP,VK_DOWN,0);
end;    或是    procedure TForm1.Button4Click(Sender: TObject);
begin
  DBGrid1.DataSource.DataSet.Next;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
fency
一般會員


發表:2
回覆:5
積分:1
註冊:2004-01-19

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-12 16:18:21 IP:61.231.xxx.xxx 未訂閱
引言: 你可以直接對Dataset做運算 跟dbgrid沒有關係喔 如 while not query1.eof do begin //做運算 query1.next; <--跳下一個row end; ps:你的dbgrid所連接的dataset 天行健 君子當自強不息~~@.@ 發表人 - T.J.B 於 2004/07/12 10:13:22
感謝版主大大 我順利的解決我的問題了^^" 謝謝大家肯花時間回答我的問題 感恩喔~~ ^_________^
系統時間:2024-05-17 20:08:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!