delphi – TListView中的Sum子项

delphi – TListView中的Sum子项,第1张

概述我们如何在TListView中总结一些SubItem?如果你看下面的图片, 拳头,我们将第1组至第4组填入第1组和第2组.问题是,我们如何将SubItems Col 2相加并将结果放入Col 3.我在上面发布的图片很清楚,但是如果我想解释如何求和,那么你有点将ListView的当前SubItem与上面相加分项.并且,对于每个组中的第一个SubItem,我们将相同的数字放在Col 2中. 像这样的东 我们如何在TListVIEw中总结一些SubItem?如果你看下面的图片,

拳头,我们将第1组至第4组填入第1组和第2组.问题是,我们如何将SubItems Col 2相加并将结果放入Col 3.我在上面发布的图片很清楚,但是如果我想解释如何求和,那么你有点将ListVIEw的当前SubItem与上面相加分项.并且,对于每个组中的第一个SubItem,我们将相同的数字放在Col 2中.

解决方法 像这样的东西可能会做你想要的:

procedure TForm1.button1Click(Sender: TObject);var  I: Integer;  Value: Integer;  GroupID: Integer;  GroupSum: Integer;begin  GroupID := 0;  GroupSum := 0;  for I := 0 to ListVIEw1.Items.Count - 1 do  begin    if Assigned(ListVIEw1.Items[I].SubItems) and      (ListVIEw1.Items[I].SubItems.Count > 0) and      TryStrToInt(ListVIEw1.Items[I].SubItems[0],Value) then    begin      if GroupID <> ListVIEw1.Items[I].GroupID then      begin        GroupSum := 0;        GroupID := ListVIEw1.Items[I].GroupID;      end;      GroupSum := GroupSum + Value;      if ListVIEw1.Items[I].SubItems.Count < 2 then        ListVIEw1.Items[I].SubItems.Add(IntToStr(GroupSum))      else        ListVIEw1.Items[I].SubItems[1] := IntToStr(GroupSum);    end;  end;end;

那么,对于那些想要模拟OP情况的人来说,这里是一个代码(只需在表单上放置一个列表视图组件并编写事件处理程序):

procedure TForm1.FormCreate(Sender: TObject);var  ListItem: TListItem;  ListGroup: TListGroup;  ListColumn: TListColumn;begin  ListVIEw1.Clear;  ListVIEw1.GroupVIEw := True;  ListVIEw1.VIEwStyle := vsReport;  ListColumn := ListVIEw1.Columns.Add;  ListColumn.Caption := 'Column 1';  ListColumn.WIDth := 90;  ListColumn := ListVIEw1.Columns.Add;  ListColumn.Caption := 'Column 2';  ListColumn.WIDth := 90;  ListColumn := ListVIEw1.Columns.Add;  ListColumn.Caption := 'Column 3';  ListColumn.WIDth := 90;  ListGroup := ListVIEw1.Groups.Add;  ListGroup.GroupID := 0;  ListGroup.header := 'Group 1';  ListGroup := ListVIEw1.Groups.Add;  ListGroup.GroupID := 1;  ListGroup.header := 'Group 2';  ListItem := ListVIEw1.Items.Add;  ListItem.GroupID := 0;  ListItem.Caption := 'Item 1';  ListItem.SubItems.Add('22');  ListItem := ListVIEw1.Items.Add;  ListItem.GroupID := 0;  ListItem.Caption := 'Item 2';  ListItem.SubItems.Add('11');  ListItem := ListVIEw1.Items.Add;  ListItem.GroupID := 1;  ListItem.Caption := 'Item 3';  ListItem.SubItems.Add('94');  ListItem := ListVIEw1.Items.Add;  ListItem.GroupID := 1;  ListItem.Caption := 'Item 4';  ListItem.SubItems.Add('42');  ListItem := ListVIEw1.Items.Add;  ListItem.GroupID := 1;  ListItem.Caption := 'Item 5';  ListItem.SubItems.Add('21');end;
总结

以上是内存溢出为你收集整理的delphi – TListView中的Sum子项全部内容,希望文章能够帮你解决delphi – TListView中的Sum子项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/1256382.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存