Bonjour,

Une exception est levée lorsque j'utilise l'expression "gridview.SelectedValue.ToString()" bien que j'ai défini un DataKeyName.

Il s'agit d'une GridView alimentée à partir d'un objet :

ObjectDataSource_Grid_ABBOTT.TypeName = "Abbott.Developpement.AbbottApplicationLogic";
ObjectDataSource_Grid_ABBOTT.SelectMethod = "RecuperationToutesApplications";

La gridview est bien alimentée mais lorsque je sélectionne un enregistrement une exception est levée car la propriété GridViewSelectedValue est nulle.

En mode debugger, lorsque je me place dans l'évennement SelectedIndexChanged avant la levée d'exception, j'ai les valeurs suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
gvtest.DataKeyNames[0] = 'CodeApplication'
 
gvtest.SelectedDataKey = null
gvtest.SelectedValue = null
gvtest.SelectedIndex = 0
La 4ème Colonne de ma GridView contient un DataItem = 'CodeApplication'

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
protected void GridView_Suivi_SelectedIndexChanged(object sender, EventArgs e)
{
 
        GridView gvtest = (GridView)sender;
 
        string strCle = gvtest.SelectedValue.ToString();
}
Comment est-ce possible d'avoir null dans la propriété gridview.selected value sachant que l'on a bien alimenté le DataKeyName ???

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
string[] _dataKeyNamesApplication = { "CodeApplication" };
GridView_Suivi.DataKeyNames = _dataKeyNamesApplication;
Carlos