日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

cxgrid实现分组统计和添加Footer

發布時間:2024/4/13 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cxgrid实现分组统计和添加Footer 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.分組統計

var
? I:integer;
? lCol: TcxGridDBColumn;
? csglink : TcxDataSummaryGroupItemLink;
? csg : TcxDataSummaryGroup;
? csgItem : TcxDataSummaryItem;

----------------------------------------------------------

begin

? //給Grid添加一個新列 SECTION
?? csg :=????? cxgrdbtblvw_for_doctortv.DataController.Summary.SummaryGroups.Add;

//創建匯總項
?// csg.Links.Clear;
? lCol:= cxgrdbtblvw_for_doctortv.Columns[0];
? lcol.Caption := '';//此處用來設置分組的名稱
//? lCol.Caption:= cxgrdbtblvw_for_doctortv.Columns[0].Caption;
? lCol.Visible := False; //設置不可見
? lCol.GroupIndex := 0; //設置按此列進行分組合計

? csglink := csg.Links.Add;
? csglink.ItemLink := cxgrdbtblvw_for_doctortv.Columns[0];

? cxgrdbtblvw_for_doctortv.DataController.Groups.FullExpand;
? cxgrdbtblvw_for_doctortv.OptionsView.Footer := true;
? cxgrdbtblvw_for_doctortv.OptionsView.GroupFooters:= gfVisibleWhenExpanded;

? for i := 0 to qry_for_tongji.FieldCount-1 do
? begin
??? if i > 2 then
??? begin
????? cxgrdbtblvw_for_doctortv.Columns[i].Summary.groupkind := skSum;
????? cxgrdbtblvw_for_doctortv.Columns[i].Summary.groupFormat := ':0';
????? csgitem := csg.SummaryItems.Add;
????? csgitem.ItemLink := cxgrdbtblvw_for_doctortv.Columns[i];?? //匯總字段1
????? csgitem.Kind := skSum;
????? csgItem.Format := '#,0.00;-#,0.00; #';
????? csgItem.Position := spFooter;
??? end;
??? if i = 1 then
??? begin
????? cxgrdbtblvw_for_doctortv.Columns[i].Summary.groupkind := skSum;
????? cxgrdbtblvw_for_doctortv.Columns[i].Summary.groupFormat := ':0';
????? csgitem := csg.SummaryItems.Add;
????? csgitem.ItemLink := cxgrdbtblvw_for_doctortv.Columns[i];?? //匯總字段1
????? csgitem.Kind := skMin;
????? csgItem.Format := '合計:';
????? csgItem.Position := spFooter;
??? end;
? end;

? cxgrdbtblvw_for_doctortv.OptionsView.GroupSummaryLayout := gslAlignWithColumnsAndDistribute;
? dxbrbtn4.Enabled := True;

end;

2.添加footer的函數

procedure Tfrmtongji.CreateSumFooter(cxTableView: TcxGridDBTableView;
? const fieldList: string);
var
? i: Integer;
? f: TcxGridDBTableSummaryItem;
? l: TStringList;
begin
? l := TStringList.Create;
? l.DelimitedText := fieldList;
? l.Delimiter := ',';
? cxTableView.OptionsView.Footer := True;
? for i := 0 to cxTableView.ColumnCount - 1 do
? begin
??? if l.IndexOf(cxTableView.Columns[i].DataBinding.FieldName) <> -1 then
??? begin
????? f := (cxTableView.DataController.Summary.FooterSummaryItems.Add) as TcxGridDBTableSummaryItem;
????? f.FieldName := cxTableView.Columns[i].DataBinding.FieldName;
????? f.Column := cxTableView.Columns[i];
????? if (f.FieldName <> '醫師編碼') and (f.FieldName <> '醫師名稱') and (f.fieldName <> '科室名稱') then
????? begin
????????? f.Kind := skSum;
????????? f.Format := '#,0.00;-#,0.00; #';
????? end
????? else if (f.FieldName = '醫師編碼')? then
????? begin
??????? f.Kind := skcount;
??????? f.Format := '合計:';
????? end;
??? end;
? end;
? l.Free;
end;

3.手工添加footer

? A:先手動添加一個column,然后設置所添加footer的column,然后就可以在ongettext()中添加 AText := '合計';

??
??在Footer的第一列顯示[合計:]??
??加一個Summary項,Column設為Grid的第一列,Kind設為skNone??
??在該Summary項的OnGetText事件中,輸入:??
??procedure???TFormExpense.tvExpenseTcxGridDBDataControllerTcxDataSummaryFooterSummaryItems2GetText(??
??????Sender:???TcxDataSummaryItem;???const???AValue:???Variant;???AIsFooter:???Boolean;??
??????var???AText:???String);??
??begin??
??????AText???:=???'合計:';??
??end;??
???
??按條件匯總:??
??在TableView的DataController->Summary->FooterSummary->OnSummary事件中,輸入:??
??procedure???TFormExpense.tvExpenseDataControllerSummaryFooterSummaryItemsSummary(??
??????ASender:???TcxDataSummaryItems;???Arguments:???TcxSummaryEventArguments;??
??????var???OutArguments:???TcxSummaryEventOutArguments);??
??begin??
??????//得到字段名???TcxDBDataSummaryItem(Arguments.SummaryItem).FieldName;??
??????if???(ASender.DataController.Values[Arguments.RecordIndex,???tvExpenseLevel.Index]???>???1)???????//只統計Level列=1的值??
??????????and???(TcxDBDataSummaryItem(Arguments.SummaryItem).Kind???=???skSum)???then??
??????????OutArguments.Value???:=???0; //Level???>???1的統計值設為0?

?










本文轉自鵝倌51CTO博客,原文鏈接:?http://blog.51cto.com/kaixinbuliao/979236,如需轉載請自行聯系原作者


總結

以上是生活随笔為你收集整理的cxgrid实现分组统计和添加Footer的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 伊人影片| 国产一区二三区 | 91麻豆一区二区三区 | 一区二区三区四区国产精品 | 亚洲视频精品一区 | 在线观看日本网站 | 免费在线播放av | 日韩免费看片 | 国产一区二区内射 | 尹人av| 免费看黄色aaaaaa 片 | 我要看一级黄色片 | 用力插视频 | 日本精品视频 | 在线观看国产福利 | ,国产精品国产三级国产 | 99热这里只有精品3 成年人黄色网址 | 亚洲乱码一区二区三区在线观看 | 日韩最新网址 | 国产天天操| 国内精品小视频 | 三级中文字幕在线 | 久久99热人妻偷产国产 | 一级黄色录像大片 | 欧美精品在线视频 | 在线观看日韩视频 | 91极品在线 | 欧美aaaaaa| 综合视频一区 | 欧美在线视频播放 | 制服丝袜一区二区三区 | 日本午夜激情 | 日韩国产欧美一区二区 | 中文字幕av免费在线观看 | 在线国产一区二区 | 亚洲国产剧情在线观看 | 中文字幕偷拍 | 欧亚在线视频 | 少妇久久久久久被弄高潮 | 欧美一区二区三区久久成人精品 | 亚洲一区毛片 | 伊人青青 | 1024亚洲| 国产又粗又猛又爽又黄 | 日韩有码视频在线 | 乌克兰黄色片 | 男女久久久 | 午夜精品久久久久久久蜜桃 | 成人国产精品视频 | 亚洲一区av在线 | 巨乳动漫美女 | 尤物视频在线观看 | 2020自拍偷拍 | 99精品无码一区二区 | 暖暖av在线 | 欧美国产第一页 | 日韩乱码人妻无码中文字幕 | 国产精品sm调教免费专区 | 国产成人精品一区二区三区无码熬 | 老司机免费精品视频 | 国产精品影院在线观看 | 精品国产乱码久久久人妻 | 吊视频一区二区三区 | 在线观看一区二区三区视频 | www.香蕉网| 三级黄片毛片 | 亚洲最大av| 亚洲午夜av久久乱码 | 麻豆视频免费观看 | 男人添女人下部高潮全视频 | 成人激情电影在线观看 | 91视频在线观看免费 | 两性囗交做爰视频 | 成人一区二区在线 | 亚洲午夜久久久久久久久 | 国产一区在线观看视频 | 午夜激情一区 | 五月婷在线 | 精品一区二区三区四区五区 | 久久三区 | 欧美高清在线 | 美女免费福利视频 | 亚洲精品人人 | 91蜜桃视频 | 特级丰满少妇一级aaa爱毛片 | 精品人妻无码一区二区色欲产成人 | www久久久久久久 | 亚洲在线视频免费观看 | 在线观看亚洲天堂 | 91玉足脚交白嫩脚丫 | 在哪里可以看毛片 | 伊人资源| 久久亚洲电影 | 日韩中文字幕第一页 | 成人h动漫精品一区二区 | 最新福利视频 | 免费av免费观看 | 播放男人添女人下边视频 | 国产嘿咻|