請問有人用過SMdbgrid裡的footer嗎? |
缺席
|
it1506
初階會員 發表:32 回覆:89 積分:49 註冊:2011-02-16 發送簡訊給我 |
如題
想要做個合計在下面 我一直弄不出來, 連那個footer的影子都看不到 我用adoquery ,dataset, smdbgrid 在adoquery裡的 afterscroll事件裡做加總 smdbgrid 裡的已經有勾選 showfooter [code delphi] var i:integer; c:Currency; begin c:=0; for i := 0 to smdbgrd5.Columns.Count-1 do begin with smdbgrd5.Columns[i] as TSMDBColumn do begin c:=c ado5.FieldByName('S1').AsCurrency; // ShowMessage(FieldName); if Trim(FieldName) = 'S1' then begin FooterValue := '合計: ' currtostr(c); end; end; end; end; [/code] 但是smdbgrid裡的sample看不懂,也沒教學. 不知是否有人做過,可以分享一下. 另外,sample裡的程式碼 我看不懂這一段是要做什麼的... 但是我也有設定 SMDBGrid1DrawFooterCell 這個事件 只是我只有在裡面寫個showmessage看有沒有進去跑而已 但是都沒有執行到 [code delphi] procedure TfrmMain.SMDBGrid1DrawFooterCell(Sender: TObject; Canvas: TCanvas; FooterCellRect: TRect; Field: TField; var FooterText: String; var DefaultDrawing: Boolean); begin exit; if Assigned(Field) and (Field.FieldName = 'AmountPaid') then begin DefaultDrawing := False; Canvas.FillRect(FooterCellRect); Canvas.Draw(FooterCellRect.Left 2, FooterCellRect.Top 2, Image1.Picture.Graphic); FooterCellRect.Left := FooterCellRect.Left Image1.Width 5; FooterCellRect.Top := FooterCellRect.Top 2; DrawText(Canvas.Handle, PChar(FooterText), Length(FooterText), FooterCellRect, DT_LEFT or DT_WORDBREAK or DT_EXPANDTABS or DT_NOPREFIX or DT_VCENTER) end; end; [/code] |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
要做 footer 或 header , 建議你改用 StringGrid 來做要容易的多, 只要把 QUERY 統計出來的資料, 一筆筆建立到 StringGrid, 雖然麻煩一點, 但要怎麼玩就隨便你了
要不然, TMS 元件是比較容易使用的, 可以上 www.tmssoftware.com 下載試用版, SMDBgrid 畢竟是 Free的東西, 沒有sample的! |
it1506
初階會員 發表:32 回覆:89 積分:49 註冊:2011-02-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |