dbctrlgrid或dbgrid如何知畫面上是那幾筆資料 |
答題得分者是:Fishman
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
ko
資深會員 發表:28 回覆:785 積分:444 註冊:2002-08-14 發送簡訊給我 |
相關的問題我以前也問過一次!!
在DBGrid之Mouseup可以如下取得, mouse所點是第幾個row(DBGrid之Row而不是Record no), 不知是否你要的 procedure TForm1.DBGrid1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var c:TGridCoord; begin c:=DBGrid1.MouseCoord(x,y); showmessage('row no is' inttostr(c.y)); end; c.x為column no, c.y 為Row no BY CCCHEN
------
====================== 昏睡~ 不昏睡~ 不由昏睡~ |
bruce
中階會員 發表:19 回覆:121 積分:83 註冊:2002-04-16 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
|
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
謝謝pillar62 大 大
你的做法,已接近完成了! 但是看了好久才看懂您的例子, (太菜) 表示使用者先按下pgdn又按下donw 6 , qrSelect.RecNo 才會為 16 那請教一下, 如果使用者此時 按下 up 8時,qrSelect.RecNo =9,該筆數的十筆的第一筆應為1以及10 應如何加工取出該筆數的十筆的第一筆及十筆呢? 另unit 要 use qrselect; 嗎? ===================引 用 pillar62 文 章=================== 你好 可以試試看,因為顯示在DBGRID上面的資料,如果都是十筆, 那可以用qrSelect.RecNo取得目前的筆數,然後再加工取出該筆數的十筆的第一筆。 EX. qrSelect.RecNo = 16 就可以處理出 11以及20。不知道這樣是不是符合你的需求。
------
努力會更接近成功 |
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
<textarea class="vb" rows="10" cols="60" name="code">
....
type
TTmpGrid = class(TDBGrid);
TForm1 = class(TForm)
....
procedure TForm1.Button7Click(Sender: TObject);
var
x : integer;
ST,Ed : Integer;
begin
with DBGrid1.DataSource.DataSet do
begin
DisAbleControls;
x := TTmpGrid(DBGRid1).Row;
MoveBy((x - 1) * -1);
ST := DBGrid1.DataSource.DataSet.RecNo;;
MoveBy(TTmpGrid(DBGRid1).RowCount - 2);
ED := DBGrid1.DataSource.DataSet.RecNo;;
MoveBy((TTmpGrid(DBGRid1).RowCount - 1 - x) * -1);
EnableControls;
ShowMessage(IntToStr(ST) '~' IntToStr(ED));
end;
end;
</textarea>
------
Fishman |
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
可以了!
大大真是超人,令人不得不佩服,原先要放棄了, 想草草結案,但對qrselect一直試不出來,實在不知那是什麼, 無論如何,分數仍要給fishman大大, 謝謝啦! ===================引 用 Fishman 文 章=================== <textarea class="vb" rows="10" cols="60" name="code">.... type TTmpGrid = class(TDBGrid); TForm1 = class(TForm) .... procedure TForm1.Button7Click(Sender: TObject); var x : integer; ST,Ed : Integer; begin with DBGrid1.DataSource.DataSet do ????begin ???? DisAbleControls; ???? x := TTmpGrid(DBGRid1).Row; ???? MoveBy((x - 1) * -1); ???? ST := DBGrid1.DataSource.DataSet.RecNo;; ???? MoveBy(TTmpGrid(DBGRid1).RowCount - 2); ???? ED := DBGrid1.DataSource.DataSet.RecNo;; ???? MoveBy((TTmpGrid(DBGRid1).RowCount - 1 - x) * -1); ???? EnableControls; ???? ShowMessage(IntToStr(ST) '~' IntToStr(ED)); ????end; end; </textarea>
------
努力會更接近成功 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |