[ASP.Net] selectedindex dans une class ne fonctionne pas ! [résolu]

selectedindex dans une class ne fonctionne pas ! [résolu] [ASP.Net] - C#/.NET managed - Programmation

Marsh Posté le 27-10-2003 à 18:09:59    

J'ai une fonction dans une classe.
 
Cette fonction sert a initialiser un dropdown et de selectionner le choix voulu. Le dropdown s'initialise correctement. Toutes les valeurs choisies sont correctement affichés. Mais le choix sélectionné n'est pas sélectionné.
 
 

<SCRIPT language="vb" runat="server">
Public class maclasse
 Public Sub Initialiser_Regions(ByVal DropDown as  System.Web.UI.WebControls.DropDownList,DS as System.Data.DataSet,ByVal Id_Region as integer)
  Dim drRegion as System.Data.Datarow() = oDataSet.Tables("Region" ).Select("","Position" )
 
  Dim i as integer
  For i = 0 To drRegion.Length - 1  
    DropDown.Items.Add(New ListItem(drRegion(i)("Nom_Fr" ),drRegion(i)("Id" )))  
  Next
  DropDown.SelectedIndex = DropDown.Items.IndexOf(DropDown.Items.FindByValue(Id_Region))
 End Sub
end class
 
Private obj as New maClasse()
Sub Page_OnLoad()
 obj.Initialiser_Regions(ddl,LeDataSet,4)
End Sub
</SCRIPT>
 
<body>
 <form runat="server">
<asp:dropdownlist id="ddl" runat="server"></asp:dropdownlist>
</form>
</body>


 
 
le dropdownlist affiche bien les régions.. mais ne se bloque pas sur la region voulu..
alors que si je mets dans directement dans le page_onload
ddl.selectedIndex = 3 .. l'option 3 va bien être sélectionnée ?
 
Que faire ?


Message édité par zetoune le 28-10-2003 à 14:49:15
Reply

Marsh Posté le 27-10-2003 à 18:09:59   

Reply

Marsh Posté le 27-10-2003 à 22:32:23    

deja ecrit ca comme ca, c'est plus lisible je trouve :
 


DropDown.DataSource = oDataSet.Tables("Region" )
DropDown.DataValueField = "Id"
DropDown.DataTextField = "Nom_Fr"
DropDown.DataBind()


 
tu es certain qu'il existe un élément de ta liste qui a 4 comme value ? que renvoit IndexOf ?


Message édité par HappyHarry le 27-10-2003 à 22:32:35
Reply

Marsh Posté le 28-10-2003 à 01:04:47    

ouais je sais pour le databind... Mais j ai besoin de le faire autrement.. Il renvoit bien le bon nombre..

Reply

Marsh Posté le 28-10-2003 à 09:45:01    

T'es sûr que "selecdtedIndex" n'est pas en lecture seule ?
 
Habituellement, on fait un "select()" sur l'option désirée non ?
 
Bah ouais, puisqu'une dropdown peut être multiple, le selectedIndex n'a de sens que dans un cas précis. Il est donc normal qu'il ne puisse être utilisé pour modifier la sélection, puisqu'il écraserait le support du multi-select.

Reply

Marsh Posté le 28-10-2003 à 14:48:56    

Non non... si je fais le SelectedIndex directement dans le pageOnload ca fonctionne..  
 
Mais c'est bon ca fonctionne maintenant !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed