Convertir un Object en 'String

zorro591 Messages postés 3 Date d'inscription mardi 26 février 2013 Statut Membre Dernière intervention 19 janvier 2023 - 17 janv. 2023 à 15:06
Whismeril Messages postés 19042 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 mai 2024 - 19 janv. 2023 à 16:00

Bonjour,

j'ai classer le nom des fichiers dans le m3u dans combobox1 mais j'arrive pas a afficher le nom dans listview1 mais dans listbox1 ça fonctionne.

mon code dans listbox1:

Me.CB1.Items.AddRange(Enumerable.ToArray(Of Object)((From chn In Me.Channels Where (chn.GroupTitle = Me.CBGroups.Text) Select chn)))

avec listview1 :

..etc
lvi.SubItems.Add(ListChaines(ComboBox1.Text))
            ListView1.Items.Add(lvi)

Private Function ListChaines(data As String) As String
        Return Enumerable.ToArray(Of Object)(From c As ChainesData In Chaines Where c.GroupTitle = data Select c).Distinct.ToArray
    End Function

message erreur :  Impossible de convertir une valeur de type 'Tableau à 1 dimension(s) de Object' en 'String'.

Pouvez-vous m'aider comment puis-je faire pour convertir objecf en string car je suis bloqué. merci d'avance

4 réponses

Whismeril Messages postés 19042 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 mai 2024 656
17 janv. 2023 à 16:39

Bonjour 

d'abord, ce n'est un Object que ton code n'arrive pas à convertir mais un tableau de Object.

Et c'est un tableau de Object, parce que tu as forcé ce type de données là 

Enumerable.ToArray(Of Object)

Ce qui d'après ce que je vois n'est pas nécessaire, voire contre productif. Mais n'ayant pas tous les tenants et aboutissants, je n'en suis pas certain.


Afin de de proposer une solution propre, j'ai besoin de quelques éléments 

  • Quel est le type de la variable chn?
  • Quelle propriété de ce type veux tu voir afficher dans la listbox?
  • As tu entendu parlé de binding?

0
vb95 Messages postés 3474 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 7 mai 2024 169
17 janv. 2023 à 16:40

Bonjour

Pour ajouter un ListviewItem à une Listview faire

Listview1.Items.add(New ListviewItem(New String() {String1, String2, etc... }))
' String1, String2, etc.... sont les chaines de caractères à mettre dans les Subitems de la listview

0
zorro591 Messages postés 3 Date d'inscription mardi 26 février 2013 Statut Membre Dernière intervention 19 janvier 2023
19 janv. 2023 à 14:42

j'ai trouver une autre solution avec string.join mais je voudrais afficher chaque nom sur une nouvelle ligne.

le code :

Private Function LCh(nom As String) As String
        Dim LN As IEnumerable(Of Object) = (From c As ChainesData In Chaines Where c.GroupTitle = nom Select c).Distinct.ToArray
        Return String.Join(" ", LN)
    End Function

avez-vous plus simple pour maitre chaque nom sur une nouvelle ligne? merci d'avance

0
Whismeril Messages postés 19042 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 16 mai 2024 656
19 janv. 2023 à 16:00

On pourra te dire ça quand tu auras répondu à mes questions.


0
Rejoignez-nous