Retroceder   Foros del Web > Programación para sitios web > .NET > win forms

Respuesta
 
Herramientas Desplegado
Antiguo 07-abr-2008, 19:05   #1 (permalink)
meraViglia ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Mensajes: 78
Pregunta Duda sobre ListView

Hola , ya les voy a mostrar

Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click

Me.TextBox1.Text = Me.ListView1.SelectedItems(0).SubItems(1).Text


End Sub

con esta lineas saco los datos que selecciono con el mouse en un ListView y lo muestro en un textbox la duda es !!

¿Que metodo se usa para hacer lo mismo pero mientra va recorriendo el ListView con las flechitas para arriba y para abajo ? y si hay otra forma mejor de como hacerlo

gracias de ante manos
meraViglia está desconectado   Responder Citando
Antiguo 08-abr-2008, 10:36   #2 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 377
Re: Duda sobre ListView

estan estos dos eventos del ListView

ItemSelectionChanged
Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedE ventArgs) Handles ListView1.ItemSelectionChanged

SelectedIndexChanged
Private Sub ListView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Antiguo 08-abr-2008, 17:15   #3 (permalink)
meraViglia ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Mensajes: 78
Re: Duda sobre ListView

Cita:
Iniciado por royrojas Ver Mensaje
estan estos dos eventos del ListView

ItemSelectionChanged
Private Sub ListView1_ItemSelectionChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.ListViewItemSelectionChangedE ventArgs) Handles ListView1.ItemSelectionChanged

SelectedIndexChanged
Private Sub ListView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
si ya esas las habia probado pero me da un error cuando seleciono un segundo renglon , el error es

InvalidArgument=El valor de '0' no es válido para 'index'.
Nombre del parámetro: index

que puede ser ??
meraViglia está desconectado   Responder Citando
Antiguo 08-abr-2008, 17:19   #4 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 377
Re: Duda sobre ListView

podrias poner la linea que te da el error?
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Antiguo 08-abr-2008, 17:28   #5 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 377
Re: Duda sobre ListView

ya vi cual era el error

pon esto

If CType(sender, ListView).SelectedItems.Count > 0 Then

End If

el asunto es que en un momento no hay ninguna linea seleccionada, entonces por eso dio el error del indice 0, pero seguidamente se vuelve a seleccionar, ese evento se ejecuta dos veces seguidas, una cuando deselecciona la linea del listview y la siguiente cuando se selecciona la siguiente linea.
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Antiguo 08-abr-2008, 19:13   #6 (permalink)
meraViglia ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Mensajes: 78
Re: Duda sobre ListView

Cita:
Iniciado por royrojas Ver Mensaje
ya vi cual era el error

pon esto

If CType(sender, ListView).SelectedItems.Count > 0 Then

End If

el asunto es que en un momento no hay ninguna linea seleccionada, entonces por eso dio el error del indice 0, pero seguidamente se vuelve a seleccionar, ese evento se ejecuta dos veces seguidas, una cuando deselecciona la linea del listview y la siguiente cuando se selecciona la siguiente linea.
excelente ya no da el error y mientra voy subiendo y bajando por el listview se va mostrarndo el dato en un textbox , muchas gracias

lo que no entiendo porque la condicion If CType(sender,

por otro aldo

un ultimo detalle , como puedo mostrar dos campos en un solo combobox
con esto

Me.ComboBox1.DisplayMember = "descripcion_tipoDoc"

solo puedo hacer que aparesca un solo campo pero yo necesito dos , normalmente en las propiedades deberia de haber algo sobre eso pero no encuentro nada .

desde ya muchas gracias
meraViglia está desconectado   Responder Citando
Antiguo 08-abr-2008, 23:58   #7 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 377
Re: Duda sobre ListView

el Ctype lo que hace es convertir un tipo de dato en otro

en este caso
CType(sender, ListView)
convierte el objeto sender en un onjeto Listview, mas que todo por comodidad
por que igual hubiera funcionado con
sender.SelectedItems.Count

pero si lo haces como el segundo cuando pones el . (punto) no te aparecen las propiedades del listview.

con respecto al combo, el combo que provee .Net no te da esa posibilidad de mostrar dos campos en la descripcion, esas propiedades se podrian en controles como los de Infragistics. pero el default de .Net no te deja hacer eso.

lo que podrias hacer es que desde el procedimiento almacenado te muestre en una columna y concatenas los datos.

o le agregas al datatable que muestras en el combo, una columna con expression y le concatenas los datos.

por ejemplo
tienes un dataset con una tabla, el dataset se llama ds
este dataset tiene una tabla y con dos columnas Col01 y Col02

entones le agregas una nueva columna llamada Col03

ds.Tables(0).Columns.Add("Col03", GetType(String), "Col01 + Col02")

Esta nueva columna es la que muestras en el combo en la descripcion.

y listo

aqui hay dos buenos ejemplos para manejar expressions y compute en el datatable
http://www.dotnetcr.com/Libreria.asp...n-un-DataTable
http://www.dotnetcr.com/Libreria.asp...-del-DataTable
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Antiguo 09-abr-2008, 08:38   #8 (permalink)
meraViglia ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Mensajes: 78
Re: Duda sobre ListView

ok bien, lo puse de esta forma

en la tabla tengo solo tres columnas osea que la que fuera a crear seria una cuarta descripcion_tipoDoc4 y esa nueva columna se la paso al combobox quedando de esta forma


datos2.Tables(0).Columns.Add("descripcion_tipoDoc4 ", GetType(String), "cod_tipoDoc + id_tipoDoc + descripcion_tipoDoc ")

Me.ComboBox1.DisplayMember = "descripcion_tipoDoc4"

cuando copilo me sale lo siguiente en el combobox

System.Data.DataRowView . Tanta veces como registro haya

tendria que ver la otra forma de concatenar sin hacer una cuarta columna ??
meraViglia está desconectado   Responder Citando
Antiguo 09-abr-2008, 09:03   #9 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 377
Re: Duda sobre ListView

como se llaman las 3 columnas de tu tabla?
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Antiguo 09-abr-2008, 09:44   #10 (permalink)
meraViglia ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Mensajes: 78
Re: Duda sobre ListView

Cita:
Iniciado por royrojas Ver Mensaje
como se llaman las 3 columnas de tu tabla?
se llaman

tabla tipo_documento

id_tipoDoc
descripcion_tipoDoc y
cod_tipoDoc

en el combobox solo quiero que aparezcan el cod_tipoDoc y el descripcion_tipoDoc
meraViglia está desconectado   Responder Citando
Antiguo 09-abr-2008, 09:51   #11 (permalink)
royrojas está en el buen camino
 
Avatar de royrojas
 
Fecha de Ingreso: diciembre-2004
Mensajes: 377
Re: Duda sobre ListView

me podrias poner como estas llenando el combo, por que me parece q ahi estas haciendo algo mal.
es como si le enviaras el gettype como descripcion.

por que lo que te envie para concatenar esta bueno, mas que probado, ahi no hay error.

y a lo anterior me falto ponerle el espacio en blanco entre las columnas, se hace asi

ds.Tables(0).Columns.Add("Columna04", GetType(String), "Columna01 + ' ' + Columna02 + ' ' + Columna03")
__________________
roy rojas
sitio: DotNetcr.com | foro: ForosDotNet.com | blog: the news star
royrojas está desconectado   Responder Citando
Antiguo 09-abr-2008, 10:13   #12 (permalink)
meraViglia ha deshabilitado el karma
 
Fecha de Ingreso: octubre-2007
Mensajes: 78
Re: Duda sobre ListView

bueno tengo el llenado del dataset

Me.dataadapter.Fill(datos2, "tipo_documento") 'despues
Me.ComboBox1.DataSource = datos2.Tables(0) 'y por ultimo

datos2.Tables(0).Columns.Add("descripcion_tipoDoc4 ", GetType(String), "cod_tipoDoc + ' ' + id_tipoDoc + ' ' + descripcion_tipoDoc ")

¿no deberia de ir algun ComboBox1.DisplayMember ?
meraViglia está desconectado   Responder Citando
Respuesta
Calificación: Calificación de Tema: 1 votos, 4,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 03:10.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93