Salut jesusonline,
J'ai suivi des conseil et utilisé l'évenement item_databoud du datagrid...
tout est Ok a la compil mais error a l 'affichage:
La référence d'objet n'est pas définie à une instance d'un objet.
Merci aux yeux experts qui trouveront ma bourde en un clin d'oeil
CODE ASPX:
J'ai viré l'appelle a la fonction de remplissage
<%# DataBinder.Eval(Container.DataItem, "STATDSI_LIBELLE") %>
<EditItemTemplate>
</EditItemTemplate>
CODE BEHIND:
Je recherche le controle et je remplis la ddl, et select l index...
private void dgQuitus_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//selectindex pour la ddl STATUT
DataList dl = (DataList)sender;
if(e.Item.ItemType == ListItemType.EditItem)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("ddlSTATUT");
ddl.DataSource = ddlSTATUTLoad();
ddl.DataTextField = "STATDSI_LIBELLE";
ddl.DataValueField = "STATDSI_ID";
ddl.DataBind();
ddl.SelectedIndex = ddl.Items.IndexOf(ddl.Items.FindByValue("STATDSI_ID"));
}
}
public object ddlSTATUTLoad()
{
// Remplissage ddl Nom Prenom
//Ouverture connexion à la base LEAD
OracleConnection oOracleConn = new OracleConnection ();
oOracleConn.ConnectionString = ConfigurationSettings.AppSettings.Get("GEF_connectionstring");
oOracleConn.Open();
OracleCommand myCommand = oOracleConn.CreateCommand();
try
{
System.Data.DataSet dsSTATUT = new System.Data.DataSet();
//myCommand.CommandText="SELECT STATDSI_ID,STATDSI_LIBELLE FROM PARAM_STAT_MAT_DSI ORDER BY STATDSI_LIBELLE";
myCommand.CommandText="select 0 as STATDSI_ID,'' as STATDSI_LIBELLE from dual union select STATDSI_ID,STATDSI_LIBELLE FROM PARAM_STAT_MAT_DSI ORDER BY STATDSI_ID";
System.Data.OracleClient.OracleDataAdapter daSTATUT = new OracleDataAdapter(myCommand);
daSTATUT.Fill(dsSTATUT,"Statut");
return dsSTATUT;
}
catch(Exception l_Exception)
{
Console.WriteLine(l_Exception.ToString());
return null;
}
finally
{
oOracleConn.Close();
}
}