La sélection d'éléments dans la multi-sélection listbox à partir délimité de la base de données chaîne de caractères domaine
Je suis en train de construire un "modifier la page" pour un enregistrement de base de données qui peuvent être modifiées et enregistrées dans la base de données. L'un des champs sera un multi-sélectionnez la zone de liste qui auront besoin pour mettre en surbrillance la liste des éléments dans une liste codée en dur lorsqu'il est chargé.
À l'aide de C#, comment dois-je remplir une multi-sélection de zone de liste -- avec les éléments sélectionnés -- basés sur la chaîne délimitée par des virgules à partir d'un champ de base de données? J'ai recherché quelques solutions qui impliquent des boucles, mais j'ai été incapable de les faire fonctionner avec mon peu de C# de compétences.
C'est tout ce que j'ai maintenant, avant j'étais coincée. Vous verrez qu'il ne tient pas compte de plusieurs valeurs dans la chaîne. Est-il une fonction comme "contient" que je peux vérifier pour voir si la valeur correspond? Je suis en manque encore un peu (probablement de base) C# de la logique et de codage ici.
int i;
for (i = 0; i <= CATEGORYListBox.Items.Count - 1; i++)
{
if (reader["CATEGORY"].ToString() == CATEGORYListBox.Items(i).Value)
{
CATEGORYListBox.Items(i).Selected = True;
}
}
...
<asp:ListBox ID="CATEGORYListBox" runat="server">
<asp:ListItem Value="Circulation">Circulation</asp:ListItem>
<asp:ListItem Value="Interactive Media">Interactive Media</asp:ListItem>
<asp:ListItem Value="Classified">Classified</asp:ListItem>
<asp:ListItem Value="Publishing">Publishing</asp:ListItem>
<asp:ListItem Value="Editorial">Editorial</asp:ListItem>
<asp:ListItem Value="Retail">Retail</asp:ListItem>
</asp:ListBox>
Merci à tous.
Vous devez vous connecter pour publier un commentaire.
Ce est la force brute et le truand, mais il devrait fonctionner. Il ressemble au votre, code ci-dessus est une sorte d'hybride entre VB et C#. Le code ci-dessous est C# uniquement. Aussi, envisager de ne pas faire de votre ADO.Net dans votre code-behind.
Je suggère quelque chose le long de ces lignes. Il semble plus lisible que de faire des boucles imbriquées.
La méthode la plus simple de mise en œuvre?
Je ne suis pas sûr si c'est la performance efficace..
Une autre Solution pour le problème est le suivant:
TestsOrdrd contient les valeurs de la Listbox.
Grâce,
Rathika Krishnavelu