Bonjour,
voici le code d'un formulaire de données (il affiche le champ "nom" d'une table qui comprend aussi le champ "id_histoire"):
le formulaire affiche uniquement le champ nom et cette textbox est liée à "histoireBindingSource - nom". S'y ajoute un bindingNavigator que j'utilise pour ajouter un enregistrement.
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 Public Class frm_his Private Sub HistoireBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HistoireBindingNavigatorSaveItem.Click Me.Validate() Me.HistoireBindingSource.EndEdit() Me.TableAdapterManager.UpdateAll(Me.LivresDataSet) End Sub Private Sub frm_his_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'TODO: This line of code loads data into the 'LivresDataSet.histoire' table. You can move, or remove it, as needed. Me.HistoireTableAdapter.Fill(Me.LivresDataSet.histoire) End Sub Private Sub btn_choisir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_choisir.Click 'synchronisation avec form1 Me.HistoireBindingSource.EndEdit() Form1.tad_his.Update(Form1.ze_ds.histoire) 'récupération de id_histoire en cours dans la fenêtre et modif dans cbo_auteur Dim ma_vue As DataRowView ma_vue = Me.NomTextBox.DataBindings.Item("Text").DataSource.current Dim ma_ligne As DataRow ma_ligne = ma_vue.Row -> Form1.cbo_his.SelectedValue = ma_ligne.Item("id_histoire") Form1.cbo_his.Refresh() Me.Close() End Sub Private Sub btn_sortir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_sortir.Click 'synchronisation avec form1 Me.HistoireBindingSource.EndEdit() Form1.tad_his.Update(Form1.ze_ds.histoire) Me.Close() End Sub End Class
Je clique alors sur la disquette pour enregistrer l'enregistrement.
Mais quand je reviens dans le formulaire principal (les deux boutons du form_histoire sont sortir qui ferme le form form_histoire et choisir qui est censé choisir le champ et fermer le form formHistoire); quand je reviens dans le formulaire principal donc, j'ai une combobox cbo_his qui devrait prendre la nouvelle valeur; or il ne s'afiche qu'un vide: rien n'est sélectionné. De plus, si je sors du programme et que je le relance, la valeur que j'ai ajoutée est bien dans la combobox.
Je précise que la combobox est liée à la base de données:
(extrait du formulaire principal
La ligne où se situe les changements à faire est sûrement celle où j'ai placé une flèche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 cbo_his.DataSource = ze_ds cbo_his.DisplayMember = "histoire.nom" cbo_his.ValueMember = "histoire.id_histoire" cbo_his.DataBindings.Add("SelectedValue", ze_ds, "livre.id_histoire")
merci de votre attention,
lolveley.
Partager