請問DBGrid物件 |
答題得分者是:T.J.B
|
fency
一般會員 發表:2 回覆:5 積分:1 註冊:2004-01-19 發送簡訊給我 |
有什麼辦法可以讓程式自己指定哪一個欄位的資料嗎 ?
就像是StrungGrid.Cells[2,3]可以讓程式指定第二列第三行的那一格欄位一樣
又或者是DBGrid有什麼函數或是屬性可以自動換行跳到下一個row的嗎? 我今天是想把從資料庫抓回DBGrid中的資料讀進程式中做運算
因此需要做這樣的動作,麻煩請知道的大德幫忙解決疑惑好嗎 謝謝 我已經看了好幾個小時的討論區文章+英文太爛所以Delphi Help實在看不懂
問了這樣一個膚淺的問題很抱歉 但還是希望有高手能花一點點時間幫我解決疑惑 謝謝
|
sl@cableplus.com.cn
高階會員 發表:168 回覆:359 積分:130 註冊:2004-03-26 發送簡訊給我 |
|
T.J.B
版主 發表:29 回覆:532 積分:497 註冊:2002-08-14 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |