Question : Ne peut pas placer le point d'émission de Datagridview pour énumérer l'objet

Bonjour j'ai une sous-routine appelée PopulateBatchLoadDataGridView que je veux employer pour peupler un datagridview.  J'avais employé le même code dans beaucoup de parties de mon application mais maintenant dans ce cas particulier, quand j'exécute le code, seulement le dernier disque est chargé dans le datagrid et il est chargé deux fois.  Tellement par exemple, ce voici trois disques dans la table de source, les derniers disques apparaît trois fois.  Cette routine appelle une fonction appelée GetTechnologyData qui semble fonctionner très bien.  Je ne suis pas sûr ce qui est on allant class= > " clair " de
> de " codeSnippet " de class= de
class= " lineNumbers " de
class= de
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
28 :
29 :
30 :
31 :
32 :
33 :
34 :
35 :
>Private " de l'id= " codeSnippet806807 de
 0 puis
            dgvTechnologySets.DataSource = tl
        Autrement
            dgvTechnologySets.DataSource = rien
        Finir si
    Finir le sous-marin

Fonction partagée par public GetTechnologyData () comme liste (de TechnologySet)
        Faible techlist en tant que nouvelle liste (de TechnologySet)
        Faible CnSql comme SqlConnection = BadsDB.GetConnection
        Faible cmdA comme SqlCommand
        cmdA = nouveau SqlClient.SqlCommand (« up_CompareTechnology », CnSql)
        cmdA.CommandType = CommandType.StoredProcedure
        Essai
            CnSql.Open ()
            Faible lecteur comme SqlDataReader = cmdA.ExecuteReader (CommandBehavior.CloseConnection)
            Faible t en tant que nouveau TechnologySet
            Faible x comme nombre entier = 1
            Faire tandis que lecteur. Lire
                t.TechnologySetCode = lecteur (« TechnologySetCode ») .ToString
                t.TechnologySetName = lecteur (« TechnologySetName ») .ToString
                t.TechnologySetType = lecteur (« TechnologySetType ») .ToString
                t.Notes = lecteur (« notes ») .ToString
                techlist. Ajouter (t)
            Boucle
            Techlist de retour

        excA de crochet comme SqlException
            MsgBox (excA.Message)
            Ne renvoyer rien
        Enfin
            CnSql.Close ()
        Essai de fin
class= de

Réponse : Ne peut pas placer le point d'émission de Datagridview pour énumérer l'objet

Vous devez changer votre code en tant que ci-dessous.

Vous devez mettre faible t en tant que nouveau TechnologySet dans la boucle au lieu de l'extérieur.
1 :
2 :
3 :
4 :
5 :
6 :
7 :
8 :
9 :
10 :
11 :
12 :
13 :
14 :
15 :
16 :
17 :
18 :
19 :
20 :
21 :
22 :
23 :
24 :
25 :
26 :
27 :
Fonction partagée par public GetTechnologyData () comme liste (de TechnologySet)
        Faible techlist en tant que nouvelle liste (de TechnologySet)
        Faible CnSql comme SqlConnection = BadsDB.GetConnection
        Faible cmdA comme SqlCommand
        cmdA = nouveau SqlClient.SqlCommand (« up_CompareTechnology », CnSql)
        cmdA.CommandType = CommandType.StoredProcedure
        Essai
            CnSql.Open ()
            Faible lecteur comme SqlDataReader = cmdA.ExecuteReader (CommandBehavior.CloseConnection)
            
            Faible x comme nombre entier = 1
            Faire tandis que lecteur. Lire
		Obscurcir t en tant que nouveau TechnologySet
                t.TechnologySetCode = lecteur (« TechnologySetCode ») .ToString
                t.TechnologySetName = lecteur (« TechnologySetName ») .ToString
                t.TechnologySetType = lecteur (« TechnologySetType ») .ToString
                t.Notes = lecteur (« notes ») .ToString
                techlist. Ajouter (t)
            Boucle
            Techlist de retour

        excA de crochet comme SqlException
            MsgBox (excA.Message)
            Ne renvoyer rien
        Enfin
            CnSql.Close ()
        Essai de fin
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us