請教如何於DBGrid上抓取某個欄位的值阿 |
尚未結案
|
winla
一般會員 發表:1 回覆:1 積分:0 註冊:2003-12-10 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi: 基本上,DBGrid 內的值是與 DataSet 上的值是一樣的,因此你可以直接先 locate 到你要的那一筆資料,再取得資料
移動紀錄 (DBGrid1.DataSource.DataSet).First; (DBGrid1.DataSource.DataSet).MoveBy(第 N 筆資料 - 1); 取得資料值 (DBGrid1.DataSource.DataSet).FieldByName(DBGrid1.Columns.Items[第 N 個欄位 - 1].FieldName).AsString; 或 DBGrid1.Columns.Items[第 N 個欄位 - 1].Field.Value;-------------------------------- 小弟才疏學淺,若有謬誤請不吝指教 --------------------------------
------
Fishman |
winla
一般會員 發表:1 回覆:1 積分:0 註冊:2003-12-10 發送簡訊給我 |
主要問題已經解決了...thx 可否在請教一下... 欲連續取得資料值共50筆(Form1->ADOTable1->RecordCount=50), for(i=0;i<Form1->ADOTable1->RecordCount;i++)
{
DBGrid1->DataSource->DataSet->MoveBy(i);
Memo2->Lines->Add(DBGrid1->Columns->Items[1]->Field->Value);
為何上面這行每次取得的資料都只有不連續的十筆,其他的都取到最後一筆的資料
取得資料位置01 02 04 07 11 16 22 29 37 46 50 50 50........ 另一個寫法
Memo2->Lines->Add((Form1->DataSource1->DataSet->FieldByName (DBGrid1->Columns->Items[1]->FieldName).AsString);
FieldName型態後面無法指定為AsString , 若不指定為AsString又出現下列錯誤
[C++ Error] main.cpp(117): E2034 Cannot convert 'TField *' to 'AnsiString'
} 可否再次賜教嗎...感謝 發表人 - winla 於 2003/12/11 18:58:09
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |