Foros del Web » Programación para mayores de 30 ;) » .NET »

Duda sobre ListView

Estas en el tema de Duda sobre ListView en el foro de .NET en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 07/04/2008, 19:05
 
Fecha de Ingreso: octubre-2007
Mensajes: 490
Antigüedad: 16 años, 6 meses
Puntos: 3
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
  #2 (permalink)  
Antiguo 08/04/2008, 10:36
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
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
Programación en Español: DotNetcr.com
  #3 (permalink)  
Antiguo 08/04/2008, 17:15
 
Fecha de Ingreso: octubre-2007
Mensajes: 490
Antigüedad: 16 años, 6 meses
Puntos: 3
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 ??
  #4 (permalink)  
Antiguo 08/04/2008, 17:19
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
Re: Duda sobre ListView

podrias poner la linea que te da el error?
__________________
roy rojas
Programación en Español: DotNetcr.com
  #5 (permalink)  
Antiguo 08/04/2008, 17:28
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
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
Programación en Español: DotNetcr.com
  #6 (permalink)  
Antiguo 08/04/2008, 19:13
 
Fecha de Ingreso: octubre-2007
Mensajes: 490
Antigüedad: 16 años, 6 meses
Puntos: 3
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
  #7 (permalink)  
Antiguo 08/04/2008, 23:58
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
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
Programación en Español: DotNetcr.com
  #8 (permalink)  
Antiguo 09/04/2008, 08:38
 
Fecha de Ingreso: octubre-2007
Mensajes: 490
Antigüedad: 16 años, 6 meses
Puntos: 3
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 ??
  #9 (permalink)  
Antiguo 09/04/2008, 09:03
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
Re: Duda sobre ListView

como se llaman las 3 columnas de tu tabla?
__________________
roy rojas
Programación en Español: DotNetcr.com
  #10 (permalink)  
Antiguo 09/04/2008, 09:44
 
Fecha de Ingreso: octubre-2007
Mensajes: 490
Antigüedad: 16 años, 6 meses
Puntos: 3
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
  #11 (permalink)  
Antiguo 09/04/2008, 09:51
Avatar de royrojas  
Fecha de Ingreso: diciembre-2004
Mensajes: 458
Antigüedad: 19 años, 3 meses
Puntos: 3
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
Programación en Español: DotNetcr.com
  #12 (permalink)  
Antiguo 09/04/2008, 10:13
 
Fecha de Ingreso: octubre-2007
Mensajes: 490
Antigüedad: 16 años, 6 meses
Puntos: 3
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 ?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 00:56.