Affichage incomplet dans 1 listview suivant la methode ? Help !

Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 14 mai 2008 à 14:42
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010 - 14 mai 2008 à 17:54
bonjour,

je bloque sur l'utilisation d'un listview et je vous appelle au secours :

je me sert d'un listview pour afficher les spools disponibles sur un serveur d'imprimante en lisant le registre de celui ci.
j'utilise une combobox qui permet soit d'afficher toutes les imprimantes disponibles soit de les trier par batiment

mon probleme : quand je choisis d'afficher toutes les imprimantes j'ai bien toutes les imprimantes batiments par batiments
mais quand je filtre pour un batiment donné, alors je n'ai pas la meme liste; il manque des imprimantes qui pourtant s'affiche bien quand je les listes toutes et la j'avoue que ....

en filtrage par batiments j'ai l'erreur suivante : "la reference d'objet n'est pas définie à une instance d'un objet"

voici le code utilisé pour lister toutes  les imprimantes du serveur :

Dim Ruche
As RegistryKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine,
"Serveur").OpenSubKey(
"SYSTEM\CurrentControlSet\Control\Print\Printers",
False)

Dim FindShare
As RegistryKey

If
Me.ComboBox2.SelectedItem =
"..Tous"
Then

For
Each Nom
As
String
In Ruche.GetSubKeyNames

FindShare = Ruche.OpenSubKey(Nom,
False)

Dim Spool
As
String = FindShare.GetValue(
"Share Name")

Me.ListView1.Sorting = SortOrder.Ascending

Me.ListView1.Items.Add(FindShare.GetValue(
"Location")).SubItems.Add(Spool)

Nextet voici le code pour trier les imprimantes par batiments :

Else

Dim ChoixduBatiment
As
String =
Me.ComboBox2.SelectedItem

Dim NomIMP
As
String

For
Each NomIMP
In Ruche.GetSubKeyNamesFindShare = Ruche.OpenSubKey(NomIMP,

False)

Dim Batiment
As
String = FindShare.GetValue(
"Location")

Dim Spool
As
String = FindShare.GetValue(
"Share Name")

If InStr(Batiment.ToUpper, ChoixduBatiment.ToUpper) > 0
Then

Me.ListView1.Sorting = SortOrder.Ascending

Me.ListView1.Items.Add(Batiment).SubItems.Add(Spool)

End
If

Next

End
Ifsi vous y comprenenz quelquechose merci de m'aider svp.

_____________
 (débutant inside)

4 réponses

Le newbie Messages postés 200 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 24 mars 2012 2
14 mai 2008 à 15:12
Salut,

As-tu essayé par curiosité de faire ça :

Dim ChoixduBatiment AsString = Me.ComboBox2.SelectedItem
MsgBox(ChoixduBatiment)

Je ne pense pas car tu te serais rendu compte que ta valeur est nulle.

Par contre ça c'est mieux :
Dim ChoixduBatiment AsString = Me.ComboBox2.Text

Bonne prog.
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
14 mai 2008 à 15:45
Bonjour,

non je n'avais pas essayé.
je viens de le faire et ce n'est ni mieux ni moins bien :
pour un batiment donné j'ai toujours une liste imcomplete (6 imprimantes sur le 10 affichées via le choix "tous" par exemple)
et toujours la meme erreur "la reference d'objet n'est pas définie à une instance d'un objet"
merci quand meme

_____________
 (débutant inside)
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
14 mai 2008 à 15:54
j'ai l'impression que c'est sur l'affichage de certains subitems que ça bloque
mais dant la mesure ou j'ai bien la liste complete avec le choix "tous"
je seche

_____________
 (débutant inside)
0
Tyrell2 Messages postés 251 Date d'inscription samedi 19 novembre 2005 Statut Membre Dernière intervention 2 novembre 2010
14 mai 2008 à 17:54
cherchez plus j'ai la solution : rien à voir avec le code cela venait d'une erreur dans le registre du serveur : une clé sans aucune valeur dedans ce qui apparemment deplait au code qui plantait arrivé à son niveau.


clé supprimée : fonctionnement normal du tri dans la listview


va falloir que j'affine mon code pour tester l'existence ou non de la valeur dans le registre avant de chercher à la lire je crois...




_____________
 (débutant inside)
0
Rejoignez-nous