Bonjour

A mon avis il y a un concept bateau que je n'ai pas encore bien compris !

J'ouvre une form en lui passant une datatable
Cette form contient un dgv et je mets la datatable en datasource
Jusque la pas de problème, mon DGV s'affiche avec les données

Mais si je souhaite ajouter des information par programmation ca ne marche pas si je le fais lors de l'ouverture de la form

Voici le code qui ne marche pas : l'appel de FillDgv semble fonctionner mais a la sortie le DGV a perdu toute les informations que j'ai ajouté
Pour que ca fonctionne, (deuxieme code) je dois mettre un bouton pour appeller filDgv a un autre moment ???
Comment faire pour que le fillDgv se passe correctement sans passer par un bouton ?

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
    public FrmDgvZoomTour(DataTable vvx)
    {
      InitializeComponent();
      FillDgv(vvx)
    }
    //*********************************************************************************************
    private void FillDgv(DataTable vv)
    {
      doEnter = false;
      dgv_viewTour.DataSource = vv;
      dgv_viewTour.Columns["chauffeurID"].HeaderText = "Chauff";
      dgv_viewTour.Columns["display"].Visible = false;
      for (int i = 0; i < dgv_viewTour.Columns.Count; i++)
      {
        dgv_viewTour.Columns[i].ReadOnly = true;
      }
      dgv_viewTour.Columns[0].ReadOnly = false;
      dgv_viewTour.CurrentCell = null;
      for (int i = 0; i < dgv_viewTour.Rows.Count; i++)
      {
        dgv_viewTour.Rows[i].Cells[0].Value = true;
      }
      dgv_viewTour.Columns[0].ReadOnly = true;
      dgv_viewTour.Refresh();
      doEnter = true;
    }
Ici ca marche mais je dois passer par un bouton

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
   DataTable vv = null;
    public FrmDgvZoomTour(DataTable vvx)
    {
      InitializeComponent();
      vv = vvx;
    }
    //*********************************************************************************************
    private void FillDgv(DataTable vv)
    {
      doEnter = false;
      dgv_viewTour.DataSource = vv;
      dgv_viewTour.Columns["chauffeurID"].HeaderText = "Chauff";
      dgv_viewTour.Columns["display"].Visible = false;
      for (int i = 0; i < dgv_viewTour.Columns.Count; i++)
      {
        dgv_viewTour.Columns[i].ReadOnly = true;
      }
      dgv_viewTour.Columns[0].ReadOnly = false;
      dgv_viewTour.CurrentCell = null;
      for (int i = 0; i < dgv_viewTour.Rows.Count; i++)
      {
        dgv_viewTour.Rows[i].Cells[0].Value = true;
      }
      dgv_viewTour.Columns[0].ReadOnly = true;
      dgv_viewTour.Refresh();
      doEnter = true;
    }