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

DBGrid->如果想要抓取某個座標裡的內容

答題得分者是:deity
cmchin
一般會員


發表:2
回覆:4
積分:1
註冊:2004-07-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-23 09:17:24 IP:202.3.xxx.xxx 未訂閱
如果一個DBGrid我想要抓取(2,2)的內容...請問該如何抓取!?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-23 09:41:41 IP:202.62.xxx.xxx 未訂閱
您好﹗    可以透過資料集元件來抓取相對應DBGrid中指定位置的資料內容﹐以下以字串形態欄位為例﹕
Var
  I, J : Integer;
  Str : String;
begin
  I := StrToInt(Edit1.Text);
  J := StrToInt(Edit2.Text);
  ADOTable1.First;
  ADOTable1.MoveBy(I-1);
  Str := ADOTable1.Fields.Fields[J-1].AsString;
end;
若涉及的欄位形態不一﹐可使用Variant變形資料形態﹐如下﹕
Var
  I, J : Integer;
  MyVariant : Variant;
begin
  I := StrToInt(Edit1.Text);
  J := StrToInt(Edit2.Text);
  ADOTable1.First;
  ADOTable1.MoveBy(I-1);
  MyVariant := ADOTable1.Fields.Fields[J-1].AsVariant;
end;
========================= 大病初愈﹐休養調整中... ========================= 發表人 - cashxin2002 於 2004/09/23 09:45:34
------
忻晟
cmchin
一般會員


發表:2
回覆:4
積分:1
註冊:2004-07-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-23 10:51:45 IP:202.3.xxx.xxx 未訂閱
您好.. 如果不想對table或是Query做任何的動作的話.. 有沒有辦法能直接取出某一格內的資料!? 因為如果資料量龐大的話..這樣的作法似乎會拖慢程式的速度!?
deity
尊榮會員


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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-09-23 11:21:20 IP:218.15.xxx.xxx 未訂閱
cmchin您好: 可以试试下面做法,是不是您所要的:
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
  showmessage(Column.Field.AsString);
end;    也可以试试
TStringGrid(dbgrid1).Cells[2,2]//第二行,第二列
强制转换,具体没实践过,试试看
——行径窄处,留一步与人行—— 發表人 -
cmchin
一般會員


發表:2
回覆:4
積分:1
註冊:2004-07-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-09-23 13:52:25 IP:202.3.xxx.xxx 未訂閱
感謝大家幫忙^^
wameng
版主


發表:31
回覆:1336
積分:1188
註冊:2004-09-16

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-09-23 13:57:17 IP:61.222.xxx.xxx 未訂閱
TStringGrid(dbgrid1).Cells[2,2]; 肯定是不可以! 因為 Cells 為 TstringGriD property DBGrid 是由 TCustomDBGrid 繼承。 主要還是要靠 您是用那一方面? 選擇較省力的方法。 否則光靠 抓取(2,2)的內容 除非 移動 Record 好像就別無他法
cmchin
一般會員


發表:2
回覆:4
積分:1
註冊:2004-07-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-09-23 17:48:11 IP:202.3.xxx.xxx 未訂閱
orz 現在是先用 Column.Field.AsString 的方式來抓取那一格的資料 因為不管怎麼試...似乎都要先移動到dbgrid所指的位置...orz 之前是想將DBGrid當成陣列來使用..結果似乎沒辦法orz
引言: TStringGrid(dbgrid1).Cells[2,2]; 肯定是不可以! 因為 Cells 為 TstringGriD property DBGrid 是由 TCustomDBGrid 繼承。 主要還是要靠 您是用那一方面? 選擇較省力的方法。 否則光靠 抓取(2,2)的內容 除非 移動 Record 好像就別無他法
系統時間:2024-07-01 2:35:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!