Tema: Listview
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/11/2010, 13:31
tzalejo
 
Fecha de Ingreso: septiembre-2010
Mensajes: 38
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Listview

Cita:
Iniciado por pancho2413 Ver Mensaje
Debes estar agregando la información así:

En Evento1:
GRID[i,i].Value="evento1";
i=i+1;

En Evento2:
GRID[i,i].Value="evento2";
i=i+1;

O algo similar. Las celdas de la grilla (en C# y muy seguramente en los otros lenguajes de la plataforma .NET) tienen la siguiente referencia: GRID[columna, fila], por lo que deberías hacer algo así (te doy el código en C#) teniendo en cuenta que 'i' es el número de columna y 'j' el número de fila iniciando ambas en cero:

Código C#:
Ver original
  1. EventoX()
  2. {
  3.    if (i<Grilla.Columns.Count) //si aún hay celdas pendientes en la fila actual
  4.       Grilla[i,j].Value="Algun texto";
  5.    else // esto es en caso que acabe la fila y que pase a la siguiente
  6.    {
  7.       i=0; //primera columna
  8.       j++; // equivale a   j=j+1 esto es para ir a la siguiente fila
  9.       if (j<Grilla.Rows.Count)
  10.          Grilla[i,j].Value="Algun texto";
  11.       else
  12.          MessageBox.Show("No hay más filas","Error");
  13.    }      
  14.    i++; //es lo mismo que decir   i=i+1, esto es para incrementar de columna
  15. }

El código que he dado controla desbordamientos de filas y columnas y lo podrías poner en cualquier evento. Por favor me comentas cualquier situación.

Saludos.


hola compañero disculpen que pregunte aca pero tengo casi el mismo problema... bueno...queria hacerle una consulta...quisiera agregar un elemento a listview pero utilizando esto:

Código vb:
Ver original
  1. f CnSqlP.State = ConnectionState.Open Then CnSqlP.Close()
  2.       CnSqlP.Open()
  3.       ' propiedades del SqlCommand  
  4.      Dim comando As New NpgsqlCommand
  5.       With comando
  6.           .CommandType = CommandType.Text
  7.           .CommandText = Sql
  8.           .Connection = CnSqlP
  9.       End With
  10.  
  11.       Dim DA As New NpgsqlDataAdapter  ' Crear nuevo SqlDataAdapter  
  12.      Dim DataSet As New DataSet ' Crear nuevo dataset  
  13.      DA.SelectCommand = comando
  14.       ' llenar el dataset  
  15.      DA.Fill(DataSet, "Tabla")
  16.       ' Propiedades del ListView  
  17.      With ListView
  18.                       .Items.Clear()
  19.                       .Columns.Clear()
  20.                       .View = View.Details
  21.                       .GridLines = True
  22.                       .FullRowSelect = True
  23.                       ' añadir los nombres de columnas  
  24.                      .Columns.Add("CODIGO", 55, HorizontalAlignment.Left)
  25.                       .Columns.Add("COMISION", 65, HorizontalAlignment.Left)
  26.                       .Columns.Add("FECHA INICIO", 90, HorizontalAlignment.Left)
  27.                       .Columns.Add("HORARIOS", 140, HorizontalAlignment.Left)
  28.                       .Columns.Add("ALUMNOS", 80, HorizontalAlignment.Left)
  29.       End With
  30.  
  31.        ' Añadir los registros de la tabla  
  32.  
  33.       With DataSet.Tables("tabla")
  34.           For f As Integer = 0 To .Rows.Count - 1
  35.           Dim dato As New ListViewItem(.Rows(f).Item(0).ToString)
  36.           ' recorrer las columnas  
  37.                For c As Integer = 1 To .Columns.Count - 1
  38.                       dato.SubItems.Add(.Rows(f).Item(c).ToString())
  39.                 Next
  40.             ListView.Items.Add(dato)
  41.           Next
  42.       End With


o sea aca ingreso los datos q vienen de una consulta...el tema es que en la columna ALUMNO quiero agregar un elemento que en este caso es un nro...
o sea dnd dice:

For c As Integer = 1 To .Columns.Count - 1
c=5 ingresar el nro, caso contrario ingreso los valores de la consulta...
if c=5 then
ingreso el nro
else
dato.SubItems.Add(.Rows(f).Item(c).ToString())
end if
Next


espero haberme explicado...desde ya muchas gracias...

pd:utilizo vb.net(2005)