1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace WpfRequete
{
/// <summary>
/// Logique d'interaction pour Window1.xaml
/// </summary>
public partial class Window1 : Window
{
private Salaries liste = null;
public Window1()
{
InitializeComponent();
}
private void DataGrid_Loaded(object sender, RoutedEventArgs e)
{
liste = new Salaries();
var requete =
from salarie in liste
group salarie by new { salarie.ID, salarie.Nom } into g
orderby g.Sum((t) => t.Salaire) descending, g.Count() descending, g.Key.ID, g.Key.Nom
select new
{
SI = g.Key.ID,
Id = g.Key.Nom,
Nombre = g.Count(),
Total = g.Sum((t) => t.Salaire),
GRAS = false
};
//Requête concaténé comme derniere élément du DataGrid totalisant les informations suivantes: nb total requete, nb fail, nb temps
requete = requete.Concat(new[]
{
new
{
SI = "Total",
Id = "",
Nombre = requete.Sum(r => r.Nombre),
Total = requete.Sum(r => r.Total),
GRAS=true
}
}
);
this.DataGrid.ItemsSource = requete;
// On dissimule le checkbox (si commente ce code tu veras le checkbox autogenere )
int index = this.DataGrid.Columns.Count - 1;
for (int i = 0; i < this.DataGrid.Items.Count; i++)
{
DataGridColumn col = this.DataGrid.Columns[index];
if (col != null)
col.Visibility = Visibility.Hidden;
}
}
}
} |
Partager