IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Presentation Foundation Discussion :

Listview binding Somme de plusieurs Textbox sous condition dans autre Textbox


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut Listview binding Somme de plusieurs Textbox sous condition dans autre Textbox
    bonjour tout le monde

    Je suis débutant en MVVM et WPF et je bloque la dessus

    j'ai mon user control :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <ListView x:Name="ListAps" BorderThickness="0" Grid.Row="2" Margin="0" Height="Auto" Width="auto"  ItemsSource="{Binding Aps}" Background="{x:Null}">
                        <ListView.View>
                            <GridView ColumnHeaderContainerStyle="{StaticResource MasqueHeader}">
     
                                <!--Colonne Nom Appareils Sanitaire-->
                                <GridViewColumn  Width="186">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBox Width="165" HorizontalAlignment="Left" Style="{DynamicResource Nomps}" Text="{Binding Nom}"/>
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                                <!--Colonne Débit Unitaire-->
                                <GridViewColumn Width="70">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                                    <TextBox  Width="54"  HorizontalAlignment="Center" Style="{DynamicResource DébitUnitaireps}" Text="{Binding DebitUnitaire}" />
     
     
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                                <!--Colonne Coefficient individuel-->
                                <GridViewColumn Width="70">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <TextBox  Width="54"  HorizontalAlignment="Center" Style="{DynamicResource CoefpsIsole}" Text="{Binding CoefficientAPSIndividuel}" />
     
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                                <!--Colonne EF-->
                                <GridViewColumn Width="30">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <CheckBox HorizontalAlignment="Center" Style="{DynamicResource CroiEF}" IsChecked="{Binding EF}" />
     
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                                <!--Colonne EC-->
                                <GridViewColumn Width="30">
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                            <CheckBox HorizontalAlignment="Center" Style="{DynamicResource CroiEC}" IsChecked="{Binding EC}" />
     
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                                <!--Colonne Quantité-->
                                <GridViewColumn Width="100">
     
                                    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
                                                    <TextBox Text="{Binding Quantite}" Width="84" HorizontalAlignment="Center" />
                                        </DataTemplate>
                                    </GridViewColumn.CellTemplate>
                                </GridViewColumn>
                            </GridView>
                        </ListView.View>
                        </ListView>
    mon view model :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    71
      public class DecompteAppareilsSanitairesViewModel : WorkspaceViewModel, INotifyPropertyChanged
        {
     
            private readonly IDataProvider<APS> ApsProvider;
     
            private int _Quantite;
            public int Quantite
            {
                get
                {
                    return _Quantite;
                }
                set
                {
                    _Quantite = value;
                    OnPropertyChanged("Quantite");
                }
            }
            private ObservableCollection<APS> _Aps;
            public ObservableCollection<APS> Aps
            { get
                {
                    return _Aps;
                }
                set
                {
                    _Aps = value;
                    OnPropertyChanged("Aps");
                }
                    }
            public ObservableCollection<string> Listprofil { get; private set; }
            private string _selectedProfil;
            public string SelectedProfil
            {
                get
                {
                    return _selectedProfil;
                }
                set
                {
                    _selectedProfil = value;
                    if (_selectedProfil !=null)
                    {
                        var aps = ApsProvider.GetByProfil(_selectedProfil);
                        Aps = new ObservableCollection<APS>(aps);
                    }
     
                    OnPropertyChanged("SelectedProfil");
                }
            }
     
            public DecompteAppareilsSanitairesViewModel()
            {
                ApsProvider = new ApsDefautXmlProvider("ApsDefaut.xml");
                ReloadProfil();
     
                base.DisplayName = Strings.DecompteAppareilsSanitairesViewModel_DisplayName;
            }
     
            public DecompteAppareilsSanitairesViewModel(IDataProvider<APS> provider)
            {
                ApsProvider = provider;
                ReloadProfil();
                      }
     
            public void ReloadProfil()
            {
                var aps = ApsProvider.GetProfil();
                Listprofil = new ObservableCollection<string>(aps);
     
            }
    J'aurais voulu récupérer les valeurs des textbox "Quantités" (rentrer en manuel) dans la listview à transformer en int et les sommer en fonction que CroixEF soit checked et rebalancer la somme des quantités dans une textbox ne faisant pas partie de la listview.
    Je ne sais pas si je suis hyper clair sur ma demande.
    N'hésiter pas à me demander plus de détail si vous voulez bien m'aider.

    en gros :

    Quantité1 = 2 CroixEF=True
    Quantité2 = 5 CroixEF=False
    Quantité3 = 7 CroixEF =True

    Total = 8

    Sans que le nombre de textbox quantité soit défini, vu que une combobox me met à jour ma listview suivant le profil utilisé, (nombre de textbox "Quantité" variable)

    Je ne sais pas si je suis hyper clair sur ma demande.
    N'hésiter pas à me demander plus de détail si vous voulez bien m'aider.

    Merci d'avance
    Cordialement tlm

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Il faut que ton DataModel possede un mecanisme de notification de changement de la prop EF (un boolean) ...
    Comme le DataModel n'implemente pas INotifyPropertyChanged, l'astuce c'est un Action static....


    voici un exemple de code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
     
     
    namespace WpfNotificationPropriete
    {
     
        // DATAMODEL
        public class Appareil 
       {
            public static Action OnChanged;
     
           public Appareil()
           {
     
           }
           public string Nom { get; set; }
           public int Quantite { get; set; }
     
            private bool ef;
           public bool EF
           {
               get { return ef;  }
               set
               {
                   ef = value;
                   //OnPropertyChanged("EF");
                   if (OnChanged != null)
                   {
                       OnChanged();
                   }
     
               }
           }
     
     
       }
    // Provider
        public class ApsProvider
        {
            private Random rnd = new Random();
            public ApsProvider()
            {
     
            }
            private List<Appareil> items = new List<Appareil> ();
     
            public List<Appareil> Items
            {
                get
                {
                    bool b ;
                    Appareil app = null;
                    for (int i = 0; i < 20; i++)
                    {
                        int q = rnd.Next(100,501);
                        if (q > 250) 
                            b = true;
                        else
                            b = false;
                        app = new Appareil() {Nom="App"+i.ToString(), Quantite=q,EF= b };
                        items.Add(app);
                    }
     
     
                    return items; 
     
     
                }
     
            }
     
     
        }
     
        // View Model
        public class AppareilViewModel : INotifyPropertyChanged
        {
     
            private readonly ApsProvider ApsProvider;
            public AppareilViewModel()
            {
                ApsProvider = new ApsProvider();
                Appareils = new ObservableCollection<Appareil>(ApsProvider.Items.ToArray());
                Appareil.OnChanged = UpdateTotal;
     
                UpdateTotal(); //initialise total
            }
            public AppareilViewModel(ApsProvider provider)
            {
                ApsProvider = provider;
                Appareils = new ObservableCollection<Appareil>(ApsProvider.Items.ToArray());
            }
     
     
     
            int tot = 0;
            public int Total
            {
                get
                {
                    return tot;
                }
                set
                {
                    if (value != tot)
                    {
                        tot = value;
                        OnPropertyChanged("Total");
                    }
                }
            }
            private ObservableCollection<Appareil> _appareils=null ;
            public ObservableCollection<Appareil> Appareils
            {
                get
                {
                    return _appareils;
                }
                set
                {
                    if (value != _appareils)
                    {
                        _appareils = value;
                        OnPropertyChanged("Appareils");
                    }
                }
            }
     
     
            public event PropertyChangedEventHandler PropertyChanged;
            private void OnPropertyChanged(string pname)
            {
                PropertyChangedEventHandler h = PropertyChanged;
                if (h != null)
                    h(this, new PropertyChangedEventArgs(pname));
            }
     
            public void UpdateTotal()
            {
                Total = 0;
                foreach (var item in Appareils)
                {
                    if (item.EF)
                        Total += item.Quantite;
     
     
                }
            }
     
     
     
     
        }
    }
    code xaml du Form User:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    <Window x:Class="WpfNotifificationPropriete.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:local="clr-namespace:WpfNotificationPropriete" 
            Title="MainWindow" Height="350" Width="525">
        <Window.Resources>
            <local:AppareilViewModel x:Key="vm"/>
        </Window.Resources>
        <Grid DataContext="{Binding Source={StaticResource vm}}">
            <StackPanel >
                <TextBox Text="{Binding Path=Total, Mode=TwoWay}" Foreground="Red" />
                <ListView x:Name="ListAps" BorderThickness="0" Grid.Row="2" Margin="0" Height="Auto" Width="auto" 
                      ItemsSource="{Binding  Path=Appareils}" Background="{x:Null}"
                          IsSynchronizedWithCurrentItem="True" SelectionChanged="ListAps_SelectionChanged">
                    <ListView.View>
                        <GridView >
     
                            <!--Colonne Nom Appareils Sanitaire-->
                            <GridViewColumn  Width="186">
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBox Width="165" HorizontalAlignment="Left"  Text="{Binding Nom}"/>
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <!--Colonne EF-->
                            <GridViewColumn Width="30">
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <CheckBox HorizontalAlignment="Center"  IsChecked="{Binding EF}" />
     
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                            <!--Colonne Quantité-->
                            <GridViewColumn Width="100">
     
                                <GridViewColumn.CellTemplate>
                                    <DataTemplate>
                                        <TextBox Text="{Binding Quantite}" Width="84" HorizontalAlignment="Center" />
                                    </DataTemplate>
                                </GridViewColumn.CellTemplate>
                            </GridViewColumn>
                        </GridView>
                    </ListView.View>
                </ListView>
            </StackPanel>
        </Grid>
    </Window>
    code behind .cs du form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    namespace WpfNotifificationPropriete
    {
        /// <summary>
        /// Logique d'interaction pour MainWindow.xaml
        /// </summary>
        public partial class MainWindow : Window
        {
            public MainWindow()
            {
                InitializeComponent();
            }
     
            private void ListAps_SelectionChanged(object sender, SelectionChangedEventArgs e)
            {
     
            }
        }
    }
    bon code...

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    Merci Mabrouki

    Plusieurs question en mvvm doit on pas eviter de mettre du code behind ?
    Ne peut on pas mettre les events dans le view model ?
    J'ai pas pige par contre le coup du rnd ?
    Je vais essayer tout cela, dans tous les cas merci pour ta rapidite a m'avoir repondu, je te redirais si ca marche

  4. #4
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour

    Ne peut on pas mettre les events dans le view model ?
    ben oui mais il faut une couche en plus ....

    code .cs ( le Delegate Action OnChanged est deporte dans AppareilVM qui est un wrapper "mediator" de Appareil....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
     
     
    // DATAMODEL
        public class Appareil 
       {
     
     
            public Appareil()
            {
     
            }
            public string Nom { get; set; }
            public int Quantite { get; set; }
            public bool EF { get; set; }
     
       }
     
     
    // Provider
    public class ApsProvider
        {
     
     
            private Random rnd = new Random();
            public ApsProvider()
            {
     
            }
            private List<Appareil> items = new List<Appareil>();
     
            public List<Appareil> Items
            {
                get
                {
                    bool b;
                    Appareil app = null;
                    for (int i = 0; i < 20; i++)
                    {
                        int q = rnd.Next(100, 501);
                        if (q > 250)
                            b = true;
                        else
                            b = false;
                        app = new Appareil() { Nom = "App" + i.ToString(), Quantite = q, EF = b };
                        items.Add(app);
                    }
     
     
                    return items;
     
     
                }
     
            }
     
        }
     
    // View Model
        public class AppareilVM : INotifyPropertyChanged
        {
            public static Action OnChanged;
            private Appareil item = null;
            public AppareilVM()
            {
            }
            public AppareilVM(Appareil appareil)
            {
                item = appareil;
            }
            public string Nom
            {
                get
                {
                    return item.Nom;
                }
                set
                {
                    if (value != item.Nom)
                    {
                       item.Nom = value;
                    }
                    OnPropertyChanged("Nom");
                }
            }
     
            public bool EF
            {
                get
                {
                    return item.EF;
                }
                set
                {
                    if (value != item.EF)
                    {
                        item.EF = value;
                        if (OnChanged != null)
                        {
                            OnChanged();
                        }
                        OnPropertyChanged("EF");
                    }
                }
            }
            public int Quantite
            {
                get
                {
                    return item.Quantite;
                }
                set
                {
                    if (value != item.Quantite)
                    {
                        item.Quantite = value;
                        OnPropertyChanged("Quantite");
                    }
                }
            }
     
     
     
     
            public event PropertyChangedEventHandler PropertyChanged;
            private void OnPropertyChanged(string pname)
            {
                PropertyChangedEventHandler h = PropertyChanged;
                if (h != null)
                    h(this, new PropertyChangedEventArgs(pname));
            }
     
     
     
     
     
     
     
     
        }
     
    // All  View Model
        public class AppareilViewModel : INotifyPropertyChanged
        {
     
            private readonly ApsProvider ApsProvider;
            public AppareilViewModel()
            {
                ApsProvider = new ApsProvider();
                Appareils = new ObservableCollection<Appareil>(ApsProvider.Items);
                Appareil.OnChanged = UpdateTotal;
     
                UpdateTotal(); //initialise total
            }
            public AppareilViewModel(ApsProvider provider)
            {
                ApsProvider = provider;
                Appareils = new ObservableCollection<Appareil>(ApsProvider.Items.ToArray());
            }
     
            Appareil item = null ;
            public Appareil Item
            {
                get
                {
                    return item;
                }
                set
                {
                    if (value != item)
                    {
                        item = value;
                        OnPropertyChanged("Item");
                    }
                }
            }
     
            int tot = 0;
            public int Total
            {
                get
                {
                    return tot;
                }
                set
                {
                    if (value != tot)
                    {
                        tot = value;
                        OnPropertyChanged("Total");
                    }
                }
            }
            private ObservableCollection<Appareil> _appareils=null ;
            public ObservableCollection<Appareil> Appareils
            {
                get
                {
                    return _appareils;
                }
                set
                {
                    if (value != _appareils)
                    {
                        _appareils = value;
                        OnPropertyChanged("Appareils");
                    }
                }
            }
     
     
            public event PropertyChangedEventHandler PropertyChanged;
            private void OnPropertyChanged(string pname)
            {
                PropertyChangedEventHandler h = PropertyChanged;
                if (h != null)
                    h(this, new PropertyChangedEventArgs(pname));
            }
     
            public void UpdateTotal()
            {
                Total = 0;
                foreach (var item in Appareils)
                {
                    if (item.EF)
                        Total += item.Quantite;
     
     
                }
            }
     
     
     
     
        }
    le xaml ne change pas !!!
    bon code...

  5. #5
    Membre confirmé
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Par défaut
    pour info j'ai résolu mon problème en suivant quelque peu ta solution mais pas entièrement :

    View
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <GridViewColumn.CellTemplate>
                                        <DataTemplate>
     
                                                    <TextBox Text="{Binding Quantite, TargetNullValue ='', UpdateSourceTrigger=PropertyChanged }" Width="84" TextAlignment="Center" HorizontalAlignment="Center"/>
     
     
     
                                                </DataTemplate>
                                    </GridViewColumn.CellTemplate>
     
     
    <TextBox x:Name="NbApsEF" Text="{Binding TotalEF, Mode=TwoWay}"
    ViewModel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     public void UpdateTotalEF()
            {
                int TotalEF = 0;
                if (Aps != null)
                {
                    foreach (var _ListAps in Aps)
                    {
                        if (_ListAps.EF)
                            TotalEF += _ListAps.Quantite;
     
                    }
     
     
            }
     
     public int TotalEF
            {
                get
                { return _TotalEF; }
                set
                {
                    if (value != _TotalEF)
                    {
                        _TotalEF = value;
                        OnPropertyChanged("TotalEF");
                    }
                }
            }
     
     public string SelectedProfil
            {
                get
                {
                    return _selectedProfil;
                }
                set
                {
                    _selectedProfil = value;
                    if (_selectedProfil != null)
                    {
                        var aps = ApsProvider.GetByProfil(_selectedProfil);
                        Aps = new ObservableCollection<APS>(aps)
     
                        APS.OnChanged = UpdateTotalEF;
                        UpdateTotalEF();
                    }
     
                    OnPropertyChanged("SelectedProfil");
                }
            }
    mais du coup je n'ai pas eut besoin de mettre de code behind pour respecter (Listview updated)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Concaténer plusieurs lignes sous condition
    Par Melanie_DIR7 dans le forum Excel
    Réponses: 13
    Dernier message: 29/01/2017, 10h39
  2. somme d'une table sous condition dans un formulaire
    Par jerome25530 dans le forum Access
    Réponses: 7
    Dernier message: 23/12/2016, 13h57
  3. Plusieurs count sous condition
    Par pinocchio dans le forum SQL
    Réponses: 3
    Dernier message: 19/11/2012, 16h14
  4. [XL-2000] MACRO : copie de plusieurs feuilles sous conditions
    Par Killie dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/02/2012, 22h52
  5. Copier/coller dans plusieurs feuilles sous condition
    Par lilou86 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 16/11/2009, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo