Alors vais vous expliquer mon souci.
J'ai 2 dialogue, le principal qui s'ouvre au demarrage et le second qui s'ouvre grace à un bouton.

Le premier contient une comboBox et une msFlexGrid qui se remplisse dans le OnInitDialog().
Le but de ce dialogue est de pouvoir selectionner une ligne du flexGrid et de pouvoir afficher les detail de la ligne dans le second dialogue.
Celui-ci permet uniquement de supprimer ou pas cette ligne.

Dans le mesure ou la suppréssion est validé je voudrais que ma FlexGrid soit reactualisé c'est à dire se rafraichir sans l'enregistrement supprimé.

voici le oninitDialog de mon dialogue principal :
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
 
BOOL CParamTerminal::OnInitDialog()
{
	CDialog::OnInitDialog();
 
ADOSelect mySel;
 
 
//Ouverture du recordset
if (!mySel.Open(myConn->ADOConn, requete))
 
 
{
//	cout << mySel.GetError() << endl; // Affichage de l'erreur
	AfxMessageBox("la requete a merdé");
}
 else 
{
AfxMessageBox("requete executée");
			int iRec = 0;
			CString sTemp;
 
			iRec = 2;
			m_FlexGrid.SetCols(mySel.GetColCount() + 1);
				m_FlexGrid.SetColWidth(0, 200);
				m_FlexGrid.SetColWidth(1, 10);
			for (int iCol = 1; iCol < mySel.GetColCount(); iCol++) 
			{
				m_FlexGrid.SetRow(0);
				m_FlexGrid.SetCol(iCol+1);
				m_FlexGrid.SetText(mySel.GetFieldName(iCol));
				m_FlexGrid.SetColWidth(iCol +1, 1500);
			}
			while (mySel.Fetch())
			{
				CString sField;
				m_FlexGrid.SetRows(iRec);
				m_FlexGrid.SetRow(iRec-1);
				m_FlexGrid.SetRow(m_FlexGrid.GetRow());
				m_FlexGrid.SetCol(0);
				sTemp.Format("%d", iRec-1);
				m_FlexGrid.SetText(sTemp);
 
				for (int iCol = 0; iCol < mySel.GetColCount(); iCol++)
				{
					m_FlexGrid.SetCol(iCol + 1);
					mySel.GetFieldVal(iCol, sField);
					m_FlexGrid.SetText(sField);
				}
				iRec++;
 
			}
			mySel.Close(); 
		}
 
UpdateData(false);
 
	return (true);
}

la le code du bouton qui permet d'ouvrir le second dialogue
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
 
void CParamTerminal::OnBUTTONsupprimer() 
{
int d1 = m_FlexGrid.GetRowSel();
CString a,b;
a.Format("%x",d1);
AfxMessageBox(a);
b = m_FlexGrid.GetTextMatrix(d1, 1);
//AfxMessageBox(m_FlexGrid.GetTextMatrix(d1, 2));
AfxMessageBox(b);
 
	// TODO: Add your control notification handler code here
	suppr_carte dlg(b,*myConn);
 
	if (dlg.DoModal()==IDOK)
	{
 
	}
}
Ensuite j'arrive bien à supprimer la ligne dan la BDD et maintenan en fermant la seconde boite de dialogue je souhaiterai rafraichir mon ecran.


Voila j'espere avoir été claire en tout cas merci d'avance pour votre aide.