begin process at 2012 05 28 13:21:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive ASP & ASP.NET

 > 

Archives ASP & ASP.NET

 > 

ASP.net

 > 

SelectedIndex dans une dropdownlist (en asp.net C#)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

SelectedIndex dans une dropdownlist (en asp.net C#)

mardi 21 mars 2006 à 10:29:48 | SelectedIndex dans une dropdownlist (en asp.net C#)

bihannic_fr2000

Bonjour,

Je realise une datagrid au sein de laquelle je fais apparaitre un dropdownlist en mode edititemtemplate.
Quand je passe en mode edit j aimerais qu'il me sélectionne la bonne valeur et pas la premiere de la liste.
Pour ce faire dans le code asp je met:
SelectedIndex='<%# GetSelectedIndex(DataBinder.Eval(Container.DataItem, "STATDSI_ID").ToString()) %>'  

Par contre je galère pour le code behind en C#.
J'ai visité plein de forum met tout est en VB.

Merci pour votre aide.


Code ASP :

 <asp:TemplateColumn HeaderText="Statut<br>Matériel" SortExpression="STATDSI_LIBELLE" ItemStyle-HorizontalAlign="Center"  ItemStyle-CssClass="textePrune">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "STATDSI_LIBELLE") %>
 </ItemTemplate>
<EditItemTemplate>
 <asp:DropDownList runat="server" id="ddlSTATUT" AutoPostBack="True" SelectedIndex='<%# GetSelectedIndex(DataBinder.Eval(Container.DataItem, "STATDSI_ID").ToString()) %>'  OnSelectedIndexChanged="ddlSTATUT_SelectedIndexChanged" DataValueField="STATDSI_ID" DataTextField="STATDSI_LIBELLE" DataSource="<%# ddlSTATUTLoad() %>" />
</EditItemTemplate>

</asp:TemplateColumn>
Matériel"><%# DataBinder.Eval(Container.DataItem, "STATDSI_LIBELLE") %>" DataTextField="STATDSI_LIBELLE" DataValueField="STATDSI_ID" OnSelectedIndexChanged="ddlSTATUT_SelectedIndexChanged" SelectedIndex='<%# GetSelectedIndex(DataBinder.Eval(Container.DataItem, "STATDSI_ID").ToString()) %>' AutoPostBack="True" runat="server">Matériel"><%# DataBinder.Eval(Container.DataItem, "STATDSI_LIBELLE") %>" DataTextField="STATDSI_LIBELLE" DataValueField="STATDSI_ID" OnSelectedIndexChanged="ddlSTATUT_SelectedIndexChanged" SelectedIndex='<%# GetSelectedIndex(DataBinder.Eval(Container.DataItem, "STATDSI_ID").ToString()) %>' AutoPostBack="True" runat="server">Matériel"><%# DataBinder.Eval(Container.DataItem, "STATDSI_LIBELLE") %>" DataTextField="STATDSI_LIBELLE" DataValueField="STATDSI_ID" OnSelectedIndexChanged="ddlSTATUT_SelectedIndexChanged" SelectedIndex='<%# GetSelectedIndex(DataBinder.Eval(Container.DataItem, "STATDSI_ID").ToString()) %>' AutoPostBack="True" runat="server">

Code BEHIN (C#)  (qui ne marche pas )

protected int GetSelectedIndex(string STATDSI_ID)
  {

   int iLoop=0;
   try
   {
    iLoop=Convert.ToInt16(ddlSTATUT.Items.IndexOf(ddlSTATUT.Items.FindByValue(STATDSI_ID)));
   }
   catch(Exception l_Exception)
   {
    Console.WriteLine(l_Exception.ToString());
   }

   return iLoop;

  }

mardi 21 mars 2006 à 13:38:02 | Re : SelectedIndex dans une dropdownlist (en asp.net C#)

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
bonjour,

Il y a un truc que je ne comprend pas, pourquoi ne set tu pas le selecteditem lorsque tu bind le controle ? à mon avis c'est la le problème.

A ta place je m'abonnerais à l'evenement item_databound du datagrid je rechercherais le controle avec e.item.findcontrol et je setterais le selectedindex :)

voir aussi mon tuto : http://www.aspfr.com/tutoriaux/DEBUG-ASP-NET-AVEC-VISUAL-STUDIO_384.aspx :)


Cyril - MVS - MCP ASP
mardi 21 mars 2006 à 16:47:18 | Re : SelectedIndex dans une dropdownlist (en asp.net C#)

bihannic_fr2000

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

<asp:TemplateColumn HeaderText="Statut<br>Matériel" SortExpression="STATDSI_LIBELLE" ItemStyle-HorizontalAlign="Center"
                 ItemStyle-CssClass="textePrune">
                 <ItemTemplate>
                  <%# DataBinder.Eval(Container.DataItem, "STATDSI_LIBELLE") %>
                 </ItemTemplate>
                 <EditItemTemplate>
                  <asp:DropDownList runat="server" id="ddlSTATUT" AutoPostBack="True"/>
                 </EditItemTemplate>
 </asp:TemplateColumn>



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();
   }
  }

 

mercredi 22 mars 2006 à 09:59:22 | Re : SelectedIndex dans une dropdownlist (en asp.net C#)

bihannic_fr2000

Réponse acceptée !
OKI merci jesus en fait j'ai reconstruit mon itemdataboud en requetant a cet endroit ma BD pour y extraire les données.

Merci beaucoup

Pour ceux qui cherchent encore:


private void dgQuitus_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)

{

if(e.Item.ItemType == ListItemType.EditItem)

{

DropDownList ddl = (DropDownList)e.Item.FindControl("ddlSTATUT");

//Ouverture connexion à la base GEF

OracleConnection oOracleConn = new OracleConnection ();

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

oOracleConn.Open();

OracleCommand myCommand = oOracleConn.CreateCommand();

//Commande de selection des statut materiel

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);

ddl.DataSource = myCommand.ExecuteReader();

ddl.DataTextField = "STATDSI_LIBELLE";

ddl.DataValueField = "STATDSI_ID";

ddl.DataBind();

//fermeture ORACLE

oOracleConn.Close();

//selection du bon STATUT

int currentSTATUTID = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "STATDSI_ID"));

ListItem li = ddl.Items.FindByValue(currentSTATUTID.ToString());

if (li != null) li.Selected = true;

}

}



Cette discussion est classée dans : id, selectedindex, statdsi, ddlstatut, libelle


Répondre à ce message

Sujets en rapport avec ce message

ASC [ par zbe ] SELECT domaines.id_domaines, domaines.domaines, t_cours.domaines, t_cours.id_cours, t_cours.code_cours, t_cours.libelle_cours, t_cours.dure, t_cours.t dropdownlist dans une datalist [ par bihannic_fr2000 ] 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 ta Problème FormParameter [ par nounours21_6 ] Bonjour,Pour un site en ASP.NET 2.0, je dois gérer une liste de catégories. Pour cela j'utilise un Gridview avec une SqlDaraSource (modification/suppr Pb gridview et event OnRowCreated [ par jfcecile ] Bonjour , Mon probleme aujourd'hui c'est de comprendre pourquoi ca ma rche pas, Dans une page j'ai une gridview reliée à une sqldatasource et un b Pb gridview et event OnRowCreated [ par jfcecile ] Bonjour , Mon probleme aujourd'hui c'est de comprendre pourquoi ca ma rche pas, Dans une page j'ai une gridview reliée à une sqldatasource et un b WebUserControl dans repeater [ par nounours21_6 ] Bonjour,J'ai un soucis avec mon WebUserControl que j'utilise dans un repeater.J'ai une propriété ID que je voudrais utiliser lorsque je clique sur le Passer une donnée d'une ligne de GridView à un UserControl [ par obitskater ] Bonjour à tous,Voilà, dans ma page principal j'ai une GridView avec pour chaque ligne un HoverMenu Ajax.Net, dans lequel il y a des liens permettant l dataList imbriqués [ par obelix789 ] Bonjour à tous. Un petit problème m'amène à vous consulter. J'utilise 2 datalist imbriqués avec une condition sur la valeur d'un champ pour le deuxièm recuperer les parametres id de mon url dans ma page en asp [ par ludwigfve ] Bonjour a tous je souhaite recuperer mes parametres d'url de ma page ma page1.asp vers ma page rapport.asp afin de filtrer l'affichage de mes données Linq To SQL Procédure Stockée [ par StiriX ] Bonjour à tous !Alors j'me poser une question de bon matin et impossible de trouver ma réponse donc go go go je vous la pose :Je dois gérer des suppor


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales