Je souhaite mettre 2 boutons (up, down) pour passer d'une ligne à l'autre de mon datagrid. Pour l'instant j'utilise un currencymanager, qui navigue dans les enregistrment de mon dataset, mais la ligne courante du datagrid de se met pas a jour et reste figé sur sa position initiale.

J'ai passé l'apres midi à chercher la ligne de code manquante, mais sans succes.

Voilà mon 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
 
 
 
        private CurrencyManager myCurrencyManager;
 
 
        private void Frm_Anim_4_AddVectors_Load(object sender, EventArgs e)
        {
            Cl_DataBase.Load_Anim_Vectors();
            dg_KeyWords.DataSource = Cl_DataBase.Ds_All;
            dg_KeyWords.DataMember = "DT_Load_Anim_Vectors";
            BindControl();
        }
 
 
        private void btn_Up_Click(object sender, EventArgs e)
        {
            MovePrevious(myCurrencyManager); 
        }
 
 
        private void btn_Down_Click(object sender, EventArgs e)
        {
            MoveNext(myCurrencyManager);
        }
 
        private void BindControl()
        {
          DataTable MyTable = Cl_DataBase.Ds_All.Tables["DT_Load_Anim_Vectors"];
          myCurrencyManager = (CurrencyManager)this.BindingContext[MyTable];
           myCurrencyManager.Position = 0;
         }
 
 
        private void MoveNext(CurrencyManager myCurrencyManager)
        {
            if (myCurrencyManager.Position == myCurrencyManager.Count - 1)
            {
            }
            else
            {
                myCurrencyManager.Position += 1;
            }
        }
 
        private void MovePrevious(CurrencyManager myCurrencyManager)
        {
            if (myCurrencyManager.Position == 0)
            {
            }
            else
            {
                myCurrencyManager.Position -= 1;
            }
        }