Bonjour,
J'essaye depuis un petit bout de temps de faire une mise à jour
avec le mode edit du DetailView.
Ca fonctionne très bien et ma dropdowlist apparait en mode edit mais des que je veux récupérer la valeur sélectionner, cette erreur apparait "La référence d'objet n'est pas définie à une instance d'un objet.".
Voici mon code
pour le chargement de la liste
Protected Sub ClimatDv_ModeChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewModeEventArgs) Handles ClimatDv.ModeChanging
OkLb.Text = ""
ErreurLb.Text = ""
' mise en session pour sélection dans les listes en mode edit
If Me.ClimatDv.CurrentMode = DetailsViewMode.ReadOnly Then
Session("localisation") = CType(Me.ClimatDv.FindControl("Label4"), Label).Text
Session("DesClimat") = CType(Me.ClimatDv.FindControl("Label5"), Label).Text
End If
If e.CancelingEdit = True Then
OkLb.Text = ""
ErreurLb.Text = ""
ClimatDv.ChangeMode(DetailsViewMode.ReadOnly)
LoadClimat(PaysDdl.SelectedItem.Value)
ElseIf e.NewMode = DetailsViewMode.Edit Then
ClimatDv.ChangeMode(DetailsViewMode.Edit)
LoadClimat(PaysDdl.SelectedItem.Value)
' Chargement des listes déroulantes
Voyages.RemplirListe("ID_Localisation,Nom_Localisation", "Localisation", "Sélectionner une zone géographique", CType(Me.ClimatDv.FindControl("LocaDdl"), DropDownList), Session("Localisation"), IdLangue)
Voyages.RemplirListe("ID_Climat,Des_Climat", "Climat", "Sélectionner un climat", CType(Me.ClimatDv.FindControl("DesClimatDdl"), DropDownList), Session("DesClimat"), IdLangue)
Session("ClimatSelected") = CType(Me.ClimatDv.FindControl("DesClimatDdl"), DropDownList).SelectedItem.Value
Else
ClimatDv.ChangeMode(DetailsViewMode.Insert)s
LoadClimat(PaysDdl.SelectedItem.Value)
End If
End Sub
pour la mise à jour
Protected Sub ClimatDv_ItemUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DetailsViewUpdateEventArgs) Handles ClimatDv.ItemUpdating
If Voyages.UpdateClimat(CType(Session("ClimatSelected"), Integer), CType(Me.ClimatDv.FindControl("desclimatddl"), DropDownList).SelectedItem.Value, PaysDdl.SelectedItem.Value) Then 'CType(Me.ClimatDv.FindControl("DesClimatDdl"), DropDownList).SelectedItem.Value, PaysDdl.SelectedItem.Value) Then
OkLb.Text &= "mise à jour du climat effectuée<br />"
Else
ErreurLb.Text &= "erreur survenue: mise à jour du climat<br />"
End If
ClimatDv.ChangeMode(DetailsViewMode.ReadOnly)
LoadClimat(PaysDdl.SelectedItem.Value)
End Sub
J'espére que quelqu'un pourra m'aider.
Merci
mAtthias
Partager