Wpf movenext et moveprevious

Contenu du snippet

Après avoir cherché un "movenext" en c# et WPF
j'ai bricolé un truc peut etre pas tres conventionel
c'est sans prétention mais ca fonctionne et ca peut aider si on est pressé.
MoveFirst et MoveLast se déduisent facilement.

Source / Exemple :


la table "MaTable" contient les champs nom, prenom, appellation, metier
elle se trouve dans le DataSet "MonDataSet"
elle resulte d'une requete et comporte plusieurs lignes 

4 textbox dans un StackPanel sont bindées sur la table:
StackPanel 1.DataContext = MonDataSet.Tables["MaTable"];

code XAML :

<StackPanel1>
<TextBox  Text="{Binding Path=nom, Mode=TwoWay}"  />
<TextBox Text="{Binding Path=prenom, Mode=TwoWay}"  />
<TextBox  Text="{Binding Path=appellation, Mode=TwoWay}"  />
<TextBox Text="{Binding Path=metier, Mode=TwoWay}"  />
<StackPanel1 />

CODE C# :

// variable de classe

int  NumeroDeRow = 0;
//....
 private void button1_Click(object sender, RoutedEventArgs e)  // MoveNext
        {
          
            if NumeroDeRow < MonDataSet.Tables["MaTable"].Rows.Count -1 )
            {
                NumeroDeRow ++;
              
                var contacts = (MonDataSet.Tables["MaTable"] as IListSource).GetList();

                DataRowView drv = (DataRowView)contacts[NumeroDeRow];

                StackPanel1.DataContext = drv;
            }
           }

 private void button2_Click(object sender, RoutedEventArgs e) // MovePrevious 
        {
          
            if NumeroDeRow > 0 )
            {
                NumeroDeRow --;
              
                var contacts = (MonDataSet.Tables["MaTable"] as IListSource).GetList();

                DataRowView drv = (DataRowView)contacts[NumeroDeRow];

                StackPanel1.DataContext = drv;
            }
           }

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.