SoloCodigo
CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: sirespi en Jueves 27 de Abril de 2006, 12:20
-
Ante todo, muy buenas. Llevo varios meses desconecntado de Internet para ya le voy a volver a dar caña. Asi que acudo a vosotros porque en el pasado siempre me ayudasteis. En fin, vamos a ver. Estoy haciendo unas cosillas con una base de datos, y tengo que mostrar tablas en un ListView. Me falla una cosa, me da error de restriccion o no se que leches en el listviewSubitem. Pense que era cosa del codigo, que ya esta muy avanzado, asi que he probado a hacerme un ejemplillo muy pequeño. Este es el codigo, es muy facil.
Dim conn As New SqlConnection("Persist security info=true; integrated security=sspi; data source=.;initial catalog =northwind")
Dim da As New SqlDataAdapter("SELECT * FROM Products", conn)
Dim ds As New DataSet
da.Fill(ds, "Mi tabla")
Me.ListView1.View = View.Details
Me.ListView1.Columns.Add("NOCheck", 0, HorizontalAlignment.Left)
Dim dc As DataColumn
For Each dc In ds.Tables("Mi tabla").Columns
Me.ListView1.Columns.Add(dc.ColumnName, 75, HorizontalAlignment.Center)
Next
Dim dr As DataRow
For Each dr In ds.Tables("Mi Tabla").Rows
Dim LVItem As New ListViewItem
For Each dc In ds.Tables("Mi tabla").Columns
LVItem.SubItems.Add(dr.Item(dc.ColumnName))
Next
Me.ListView1.Items.Add(LVItem)
Next
Y me da todo el rato un error en la parte en la que añado los Subitems, este es el error:
Excepción no controlada del tipo 'System.Reflection.AmbiguousMatchException' en microsoft.visualbasic.dll
Información adicional: No se puede llamar a ningún 'ListViewSubItemCollection.Add' sobrecargado al que se tenga acceso sin una conversión de restricción
En fin, no se, alguien ha tenido problemas con esto y sabe lo que esta pasando?
Un saludo y muchas gracias de antemano.
-
Hola sirespi, he probado con el código que pones y no me da ningún error.
El proyecto me sale bien. Te mando el ejemplo que hice con tu código.
Tu error tiene que estar en otra parte del código.
Hasta otra.
-
Muchisimas gracias Junahu.
La verdad es que es muy extraño. Ayer lo probe en otro lado y funcionaba. Pero en mi ordena no. Al final, logre averiguar una cosa y lo solucione. El fallo esta en el Subitem.
Esta era la cadena antigua:
LVItem.SubItems.Add(dr.Item(dc.ColumnName))
La nueva tan solo le he metido el ToString
LVItem.SubItems.Add(dr.Item(dc.ColumnName).ToString)
Y ahora me funciona a las mil maravillas.
Lo que sigo sin saber es porque en algun PC funciona si el ToString y en otro no. Será algo de la configuracion del VS.NET o del framework?
En cualquier caso, muchas gracias por tu ayuda.
Un saludo