Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Lenar un ListView desde una clase

Estas en el tema de Lenar un ListView desde una clase en el foro de C/C++ en Foros del Web. Hola Amigos. Resulta que tengo una clase llamada GPRS y un formulario Principal con un ListView "lstAlertas". El caso es que cada que recibo datos ...
  #1 (permalink)  
Antiguo 21/10/2010, 16:36
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Lenar un ListView desde una clase

Hola Amigos.

Resulta que tengo una clase llamada GPRS y un formulario Principal con un ListView "lstAlertas". El caso es que cada que recibo datos por UDP la clase realiza una serie de acciones. Una es agregar un registro a la base de datos. Ademas de eso debo mostrar en el ListView ese dato que se genero.

Asi que debo crear un nuevo Item y añadirlo al inicio del List.

Ese no es el problema. Pues desde el formulario creo un boton y al ejecutar un metodo Publico que se llama NuevaAlarma(string ID, string Mensaje, DateTime Fecha) si inserta el nuevo item. Ahora: Si lo hago desde la clase no hace nada.

Mi codigo es este:

Metodo en el form:

Public void NuevaAlarma(string ID, string Descripción, DateTime Fecha)
{
DataTable DT2 = new DataTable();
DT2 = misDispositivos. NombreDispositivo(ID);
ListViewItem LVI = new ListViewItem(DT2. Rows[0][0]. ToString() + " [" + ID + "]");
LVI.SubItems.Add(Descripción);
LVI.SubItems.Add(Fecha. ToString());
lstAlarmas.Items.Insert(0, LVI);
}


Y el codigo en la clase:

FrmPrincipal MiPrincipal = new frmPrincipal(); //Instancia del formulario Principal
MiPrincipal. NuevaAlarma(ID, Mensaje, Convert. ToDateTime(fechaHora));


Ayuda... Gacias=) (Y)
  #2 (permalink)  
Antiguo 21/10/2010, 18:34
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 9 meses
Puntos: 61
Respuesta: Lenar un ListView desde una clase

Supongo que el problema esta en que estas creando un FrmPrincipal en el codigo de la clase.
Deberia existir una forma de obtener el form principal sin crearlo.
Existira el metodo show() o parecido?

Tal vez te conviene poner un MiPrincipal.show() o Show() o algo asi, despues de la invocacion a NuevaAlarma(), a ver si aparece un segundo form.

Todo esto es solo una intuicion mía, ninguna certeza.

Última edición por CalgaryCorpus; 21/10/2010 a las 18:52
  #3 (permalink)  
Antiguo 22/10/2010, 07:22
 
Fecha de Ingreso: agosto-2010
Mensajes: 10
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Lenar un ListView desde una clase

Lo que lograria seria abrir una nueva instancia de ese formulario. Y lo que necesito es que se me inserte una nueva fila al listView ya que cada que me llega un dato por UDP esa clase me guarda en la base de datos el registro pero necesito mostrarlo inmediatamente en el List.

Si hago esto en la clase:
private frmPrincipal _frm;

public frmPrincipal frm
{
get { return _frm; }
set {_frm = value; }
}
Y esto en el formulario:
miGPRS.frm = this;

Me da.

instanciando en la clase de la siguiente manera:
frmPrincipal miPrincipal = frm;

Lo que no se es en que momento enviar desde el frmPrincipal el "miGPRS.frm" ya que si lo hago en el Load, al momento de llegada de los datos el frm esta null.

Conoces alguna forma de pasarle el frmPrincipal como parametro a la clase.

Etiquetas: clase, listview
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




La zona horaria es GMT -6. Ahora son las 18:54.