全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1059
推到 Plurk!
推到 Facebook!

如何得知当前dbgrid中第一条资料的序号是什么?

答題得分者是:小傑克
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-07-30 21:23:30 IP:58.101.xxx.xxx 訂閱
各位大大好:
比如,我在一个dbgrid中有许多的资料,第一个栏位是序号(1,2,3,......),那么,我在向下拉滚动条时,此dbgrid中的第一条资料的序号肯定也在不断地变化,那么,我要怎样才知道当前dbgrid中第一条所显示的资料的序号是什么呢?

PS: 用delphi7 mssql2000
小傑克
資深會員


發表:5
回覆:209
積分:357
註冊:2009-02-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-08-03 18:58:12 IP:59.115.xxx.xxx 訂閱
取在 DBGRID 顯示的第一條?
需求有點怪怪, 但.....還是可以做
只是不曉得你想要如何取用的資料
,也許你的需求有別的作法可達成

在 DBGrid1DrawDataCell 利用高度去可以抓到第一筆的資料,再來就看你怎麼利用

procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
var iH:integer;
begin
if ( ( Rect.Top < ( -DBGrid1.TitleFont.Height (Rect.Bottom - Rect.Top) )) and (Rect.Top > (-DBGrid1.TitleFont.Height) ) ) then
begin
Caption := Field.AsString ;
end;
end;


===================引 用 luowy651 文 章===================
各位大大好:
比如,我在一个dbgrid中有许多的资料,第一个栏位是序号(1,2,3,......),那么,我在向下拉滚动条时,此dbgrid中的第一条资料的序号肯定也在不断地变化,那么,我要怎样才知道当前dbgrid中第一条所显示的资料的序号是什么呢?

PS: 用delphi7 mssql2000
------
額有朝天骨,眼中有靈光
luowy651
高階會員


發表:257
回覆:313
積分:114
註冊:2003-04-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-08-05 10:30:32 IP:65.49.xxx.xxx 訂閱
感谢小傑克大大,我的需求是有点怪,我把原因说一下,或许其实有更好的方法,但我没想到

是这样的,比如我在dbgrid中翻到第309条资料时,此时在dbgrid中的第一条资料实体的序号栏位显示为301,然后我执行adotable1.active:=false,true操作后,用locature直接定位到第309条资料时,dbgrid中的第一条资料显示的序号却不是301,而可能是295了,这样,我虽然还是定位到了第309条资料,但上下位置却移动了,而我希望还是和刚才一样不要动位置,所以有了这个问题



系統時間:2024-05-16 11:59:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!