我在数据网格中显示处理时间数据,如下所示
使用以下语句
var duration_query = this.db.Events
.Where(p => ID.Contains(p.ServerID) &&
p.Type == "Complete" &&
// fromDP and toDP are name of DataPicker control
(p.Date >= fromDP.SelectedDate.Value &&
p.Date <= toDP.SelectedDate.Value))
.GroupBy(p => p.Duration)
.Select(g => new
{
Duration = g.Key,
serverID = g.Count()
})
.OrderBy(x => x.Duration).ToList();
dgProcessingTime.ItemsSource = duration_query.ToList();
XAML
我已经使用布局变换来旋转数据网格标题。
<DataGrid x:Name="dgProcessingTime" ItemsSource="{Binding}" AutoGenerateColumns="False" CanUserAddRows="false">
<DataGrid.Columns>
<DataGridTextColumn x:Name="timeColumn" Header="Time in seconds" Binding="{Binding Path=Duration, Mode= OneWay}"></DataGridTextColumn>
<DataGridTextColumn x:Name="amountColumn" Header="Amount of Events" Binding="{Binding Path=serverID, Mode= OneWay}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
如何显示这样的相同结果?以 10 的倍数为单位(以秒为单位的时间?)
<10 <20 <30 <40
并计算上述条件的事件数量?
我是否必须更改上面使用的 select 语句,以便它对例如 <20 的事件进行分组和计数?