Dropdownlist dans une datalist [Résolu]

Signaler
Messages postés
8
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
22 mars 2006
-
Messages postés
8
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
22 mars 2006
-
Bonjour a tous et merci d'avance au chevronné qui pourront m'aider dans mon problème de newbie

Je remplis une datalist avec grâce à un select d'une table,
quand je passe en mode édition j aimerai qu'une des colonnes devienne un dropdownlist.

J'ai essayé de faire le code suivant mais ma ddl reste désespéremment vide..

Merci a tous d'avance

Page aspx:

<HeaderTemplate>
<table class= "StandardTable">
<tr>
<th align="center">LDCG</th>
<th align="center">STATUT</th>
</tr>
</HeaderTemplate>

<tr class="StandardTableRow">
<td class="texteListe"><%# DataBinder.Eval(Container.DataItem, "LDAPKEY") %></td>
<td class="texteListe"><%# DataBinder.Eval(Container.DataItem, "STATDSI_LIBELLE") %></td>
</tr>

<EditItemTemplate>
<tr>
<td align="center">
' CssClass="texteListe" Enabled=False Width="100%" MaxLength="9">

</td>
<td align="center">


</td>
</EditItemTemplate>
....

Code Behind:

private void Page_Load(object sender, System.EventArgs e)
{


oOracleConn = new OracleConnection ();
oOracleConn.ConnectionString = ConfigurationSettings.AppSettings.Get("GEF_connectionstring");
oOracleConn.Open();


try
{
if(!IsPostBack)
{
LoadData();
}
}
catch(Exception l_Exception)
{
Console.WriteLine(l_Exception.ToString());
}

}

private void LoadData()
{


int rcdCount;
string strExpr = "";
OracleCommand myCommand = oOracleConn.CreateCommand();

try
{
DataSet dsEffectif = new DataSet();
myCommand.CommandText="SELECT * FROM VW_QUITUS_2";
System.Data.OracleClient.OracleDataAdapter daEffectif = new OracleDataAdapter(myCommand);
daEffectif.Fill(dsEffectif, "Quitus");

rcdCount = dsEffectif.Tables["Quitus"].Rows.Count;
resultCount = rcdCount;
try
{
dlQuitus.DataSource = dsEffectif;
dlQuitus.DataBind();
//je remplis ma ddl STATUT
ddlSTATUT_Load();


}
catch
{

}


}
catch(Exception l_Exception)
{
Console.WriteLine(l_Exception.ToString());
}
finally
{
oOracleConn.Close();
}
}

// Remplissage de dll STATUT
protected void ddlSTATUT_Load()
{
OracleCommand myCommand = oOracleConn.CreateCommand();
try
{
DataSet dsSTATUT = new DataSet();
myCommand.CommandText="SELECT STATDSI_ID,STATDSI_LIBELLE FROM PARAM_STAT_MAT_DSI ORDER BY STATDSI_LIBELLE";
System.Data.OracleClient.OracleDataAdapter daSTATUT = new OracleDataAdapter(myCommand);
daSTATUT.Fill(dsSTATUT);
ddlSTATUT.DataSource = dsSTATUT ;
ddlSTATUT.DataTextField = "STATDSI_LIBELLE";
ddlSTATUT.DataValueField = "STATDSI_ID";
ddlSTATUT.DataBind() ;
}
catch(Exception l_Exception)
{
Console.WriteLine(l_Exception.ToString());
}
}

4 réponses

Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
Voici un example:



<%# DataBinder.Eval(Container.DataItem, "CategoryName") %>


<EditItemTemplate>
</gras>" />
</EditItemTemplate>


et dans le code behind

'Create a connection
Dim myConnection as New SqlConnection(connString)
Dim ddlDataSet as DataSet = New DataSet()

Function GetCategories() as DataSet
'Populate the ddlDataSet
Const strSQLDDL as String = _
"SELECT FAQCategoryID, Name FROM tblFAQCategory ORDER BY Name"

Dim myDataAdapter as SqlDataAdapter = New _
SqlDataAdapter(strSQLDDL, myConnection)

myDataAdapter.Fill(ddlDataSet, "Categories")

Return ddlDataSet
End Function

yopyop
Messages postés
8
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
22 mars 2006

Super merci beaucoup encore une fois yopyop, c'est vraiment agréable de se sentir soutenu dans ces débuts en .net

pour ceux qui veulent le bout de code en C# et connexion oracle:

aspx:
cf code de yepyep

code behind:
public object ddlSTATUTLoad()
{
OracleCommand myCommand = oOracleConn.CreateCommand();
try
{
DataSet dsSTATUT = new DataSet();
myCommand.CommandText="SELECT STATDSI_ID,STATDSI_LIBELLE FROM PARAM_STAT_MAT_DSI ORDER BY STATDSI_LIBELLE";
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;
}
}
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
salut,

il faut appeler ddlSTATUT_Load();
au moment ou ton datagrid passe en mode Edition.

yopyop
Messages postés
8
Date d'inscription
vendredi 3 mars 2006
Statut
Membre
Dernière intervention
22 mars 2006

.......J'avance merci mais Snifff non plus....en debuggant un peu je vois bien qu'il passe sur l evenmenent edit et qu 'il lance le ddlSTATUT_LOAD mais il plante sur ddlSTATUT.DataSource = dsSTATUT ;

MERCI d'avance

public
void EditQuitus_Command(Object sender, DataListCommandEventArgs e)


{



//On passe en mode édition sur la ligne concernée


dlQuitus.EditItemIndex = e.Item.ItemIndex;


LoadData();


ddlSTATUT_Load();


}


// Remplissage de dll STATUT
protected void ddlSTATUT_Load()
{
OracleCommand myCommand = oOracleConn.CreateCommand();
try
{
DataSet dsSTATUT = new DataSet();
myCommand.CommandText="SELECT STATDSI_ID,STATDSI_LIBELLE FROM PARAM_STAT_MAT_DSI ORDER BY STATDSI_LIBELLE";
System.Data.OracleClient.OracleDataAdapter daSTATUT = new OracleDataAdapter(myCommand);
daSTATUT.Fill(dsSTATUT);
ddlSTATUT.DataSource = dsSTATUT ; //ca plante la
ddlSTATUT.DataTextField = "STATDSI_LIBELLE";
ddlSTATUT.DataValueField = "STATDSI_ID";
ddlSTATUT.DataBind() ;
}
catch(Exception l_Exception)
{
Console.WriteLine(l_Exception.ToString());
}
}