【发布时间】:2018-01-02 11:03:12
【问题描述】:
我有一个数据网格,我想总结一列中的所有值。我认为,要做到这一点,我需要逐行汇总该列中的值。但我无法访问行,因为 c# 中的 Datagrid.Rows 代码在 WPF 中不起作用。我通过以下方式访问总项目数:
datagrid.Items.Count;
如何在 WPF 中进行数据网格列总和?
Datagrid xaml 代码:
<DataGrid BorderThickness="0" Name="grid_lab" RowHeight="25" IsReadOnly="True" CanUserAddRows="False" CanUserDeleteRows="False" CanUserResizeColumns="True" CanUserResizeRows="False" AutoGenerateColumns="False" ColumnWidth="*" HorizontalGridLinesBrush="#FFDCDBDB" VerticalGridLinesBrush="#FFDCDBDB" HeadersVisibility="Column" VerticalAlignment="Top" Background="{x:Null}" MouseLeftButtonUp="grid_lab_MouseLeftButtonUp">
Datagrid 文本列代码:
<DataGridTextColumn Binding="{Binding Path=tutar}" Header="Tutar" MaxWidth="50">
<DataGridTextColumn.ElementStyle>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Padding" Value="5,0,0,0"/>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>
加载的用户控件中的总和代码:
decimal sum = 0m;
for (int i = 0; i < grid_lab.Items.Count - 1; i++)
{
sum += (decimal.Parse((grid_lab.Columns[7].GetCellContent(grid_lab.Items[i]) as TextBlock).Text));
}
【问题讨论】:
-
@为什么不使用模型并将总计绑定到列,而不是从网格计算。
标签: c# wpf wpfdatagrid