Saludos ralvaradot, mi problema es el siguiente... Es una tontería, seguro... Pero estoy intentando mostrar datos de un campo de fechas desde una bd sql en un listview... Y no lo consigo! :( Solo consigo que me muestre en cada una de las filas false, false, false... No lista los datos de la bd. ¿Me podrías ayudar? GRACIAS!
Un listview se llena de esta manera: ListView1.datasource = datatable1 ListView1.Datatext = "Nombre del campo a mostrar" ListView1-ValueMember = "Nombre del campo id" ¿Estas haciendo eso? ¿Cuál es tu código? ¿En qué linea exactamente te da el error?
Este es el código que utilizo para llenar el list, es problema es que no lista los valores de las fechas de la bd, sino "false" en cada uno de los registros. No me da ningún error. Gracias, Saludos. ListView1.LabelEdit = False 'vaciamos el listview1 ListView1.Items.Clear() RstTMP = New ADODB.Recordset RstTMP.Open(StrSQL, Conexion, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockReadOnly) If Not RstTMP.EOF And Not RstTMP.BOF Then RstTMP.MoveFirst() End If Do While Not RstTMP.EOF For Each RstFld In RstTMP.Fields 'RECORREMOS EL RECODSET Select Case UCase(Trim(RstFld.Name)) ' SI EL CAMPO ES NUMCANAL ASIGNAMOS A LA PROPIEDAD TEXT ' DE LISTVIEW Case "NUMCANAL" ItmX = New ListViewItem ItmX.Text = Trim("" & RstFld.Value) Case Else 'EL RESTO ASIGMANOS A SUBITEMS TIENE QUE IR POR ORDEN If UCase(Trim(RstFld.Name)) = "PRECIOKILO" Then If RstFld.Value > 0 Then ItmX.ImageIndex = 1 Else ItmX.ImageIndex = 0 End If End If If UCase(Trim(RstFld.Name)) = "SINPRECIO" Then If RstFld.Value = True Then ItmX.ImageIndex = 1 End If End If Dim fecha2 As Date If UCase(Trim(RstFld.Name)) = "DATANACEMENTO" Then subItmX = New ListViewItem.ListViewSubItem subItmX.Text = Format(RstFld.Value, "dd/MM/yyyy") ItmX.SubItems.Add(subItmX) Else subItmX = New ListViewItem.ListViewSubItem subItmX.Text = Trim("" & RstFld.Value) ItmX.SubItems.Add(subItmX) End If End Select Next ListView1.Items.Add(ItmX) N += 1 If N = 40 Then N = 1 Me.Refresh() End If RstTMP.MoveNext() Loop
Cuando agregas el subitems , lo estas haciendo mal de alli que te salga false subItmX = New ListViewItem.ListViewSubItem subItmX.Text = Trim("" & RstFld.Value) ItmX. SubItems. Add(subItmX) De las lineas anteriores, solo debes utilizar la siguiente: ItmX. SubItems.Add("" & RstFld. Value)
Gracias ralvaradot! Solucionado. Pero... donde tengo que dejar sólo esa línea es en el caso de la fecha, ya que en el else me son necesarias las tres (Lo comprobé y no funcionaba bien). Conclusión: En el IF ... 'DATANACEMENTO' Then, debe haber sólo una línea: ------------------------------- subItmX.Text = Format(RstFld.Value, "dd/MM/yyyy") Saludos... y Gracias también por la prontitud. ;)