Cuestión : No puede fijar fuente de datos de Datagridview para enumerar el objeto

Hola tengo una subrutina llamada PopulateBatchLoadDataGridView que quiera utilizar para poblar un datagridview.  He estado utilizando el mismo código en muchas partes de mi uso pero ahora en este caso particular, cuando ejecuto el código, sólo el expediente pasado se carga en el datagrid y se carga dos veces.  Tan por ejemplo, aquí es tres expedientes en la tabla de la fuente, los expedientes pasados aparece tres veces.  Esta rutina está llamando una función llamada GetTechnologyData que parezca trabajar muy bien.  No estoy seguro cuál es on que va class= > " claro " del
> del " codeSnippet " del class= del
class= " lineNumbers " del
class= del
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 notpretty PopulateBatchLoadDataGridView secundario " del class= " del id= " codeSnippet806807 del
 0 entonces
            dgvTechnologySets.DataSource = tl
        
            dgvTechnologySets.DataSource = nada
        Terminar si
    Terminar el submarino

Función compartida público GetTechnologyData () como lista (de TechnologySet)
        Techlist dévil como nueva lista (de TechnologySet)
        CnSql dévil como SqlConnection = BadsDB.GetConnection
        cmdA dévil como SqlCommand
        cmdA = nuevo SqlClient.SqlCommand (“up_CompareTechnology”, CnSql)
        cmdA.CommandType = CommandType.StoredProcedure
        Intento
            CnSql.Open ()
            Lector dévil como SqlDataReader = cmdA.ExecuteReader (CommandBehavior.CloseConnection)
            T dévil como nuevo TechnologySet
            X dévil como número entero = 1
            Hacer mientras que lector. Leer
                t.TechnologySetCode = lector (“TechnologySetCode”) .ToString
                t.TechnologySetName = lector (“TechnologySetName”) .ToString
                t.TechnologySetType = lector (“TechnologySetType”) .ToString
                t.Notes = lector (“notas”) .ToString
                techlist. Agregar (t)
            Lazo
            Techlist de vuelta

        excA del retén como SqlException
            MsgBox (excA.Message)
            No volver nada
        Finalmente
            CnSql.Close ()
        Intento del final
class= del

Respuesta : No puede fijar fuente de datos de Datagridview para enumerar el objeto

Usted necesita cambiar su código como abajo.

Usted necesita poner t dévil como nuevo TechnologySet en lazo en vez de exterior.
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:
Función compartida público GetTechnologyData () como lista (de TechnologySet)
        Techlist dévil como nueva lista (de TechnologySet)
        CnSql dévil como SqlConnection = BadsDB.GetConnection
        cmdA dévil como SqlCommand
        cmdA = nuevo SqlClient.SqlCommand (“up_CompareTechnology”, CnSql)
        cmdA.CommandType = CommandType.StoredProcedure
        Intento
            CnSql.Open ()
            Lector dévil como SqlDataReader = cmdA.ExecuteReader (CommandBehavior.CloseConnection)
            
            X dévil como número entero = 1
            Hacer mientras que lector. Leer
		Amortiguar t como nuevo TechnologySet
                t.TechnologySetCode = lector (“TechnologySetCode”) .ToString
                t.TechnologySetName = lector (“TechnologySetName”) .ToString
                t.TechnologySetType = lector (“TechnologySetType”) .ToString
                t.Notes = lector (“notas”) .ToString
                techlist. Agregar (t)
            Lazo
            Techlist de vuelta

        excA del retén como SqlException
            MsgBox (excA.Message)
            No volver nada
        Finalmente
            CnSql.Close ()
        Intento del final
Otras soluciones  
 
programming4us programming4us