Fill d'un datagridview a l'ouverture d'une form
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:
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:
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;
} |