C sharp - Actualizar DataGrid desde una ventana diferente a la que se encuentra el DataGrid

 
Vista:
sin imagen de perfil

Actualizar DataGrid desde una ventana diferente a la que se encuentra el DataGrid

Publicado por Brandon (2 intervenciones) el 27/07/2015 12:02:50
Hola, tengo un problemilla, quiero actualizar una tabla y el valor que necesito (para actualizarla) se encuentra en una ventana diferente, más específicamente es un Id de un registro y obviamente quiero que la tabla se llene con los datos de ese registro. En la misma ventana si se actualiza, pero si lo intento hacer desde la otra ya no.

Aquí una imagen:

Captura1

Al momento de dar aceptar no hace nada. En ese botón tengo este método:

1
2
3
4
5
6
7
8
private void btnAccept_Click(object sender, RoutedEventArgs e)
{
    MainWindow ma = new MainWindow();
    List<Animal> list = new List<Animal>();
    list.Add(new Animal(txtId.Text.ToString()));
    ma.dgAnimals.ItemsSource = list;
    this.Close();
}

En MainWindow se encuentra el DataGrid con el nombre de "dgAnimals" y se supone que con esta instrucción " ma.dgAnimals.ItemsSource = list;" se debe actualizar la tabla con la nueva lista pero no lo hace, y la lista si contiene datos.

Les adjuntare los códigos de las dos ventanas y también el codigo del diseño de ambas.
Es para un proyecto de la escuela y necesito entregarlo, si me pudieran ayudar estaría más que agradecido. Si necesitan que les pase el proyecto completo no hay problema, lo subo jaja.
Gracias de antemano :)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Actualizar DataGrid desde una ventana diferente a la que se encuentra el DataGrid

Publicado por David (60 intervenciones) el 28/07/2015 11:11:46
Tu código está casi bien. Lo único es que estás haciendo una ventana principal nueva en vez de recuperar la que ya existe.
Para recuperar la ventana principal tienes que sustituir la línea 3 de tu código por:
1
MainWindow ma = Application.OpenForms[0] as MainWindow;

Si te dice que no se encuentra Application, agrega el using
1
using System.Windows.Forms;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Actualizar DataGrid desde una ventana diferente a la que se encuentra el DataGrid

Publicado por Brandon (2 intervenciones) el 29/07/2015 08:00:35
Gracias por responder! pero el código no funciona, puse lo primero, después me marco error y puse el using y no lo acepta, será porque estoy trabajando con WPF?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Actualizar DataGrid desde una ventana diferente a la que se encuentra el DataGrid

Publicado por David (60 intervenciones) el 29/07/2015 09:53:25
Creía que era en WindowsForms.
Entonces no te vale nada de lo que te puse.
En WPF es:
1
MainWindow ma = Application.MainWindow as MainWindow;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar