C sharp - Datagrid en WPF

 
Vista:
sin imagen de perfil

Datagrid en WPF

Publicado por José Maria (5 intervenciones) el 26/02/2016 18:37:58
Alguien me ayuda a conectar una tabla a un datagrid?

Coon windows forms no tengo problemas pero con WPF no entiendo porque no puedo.

La propiedad Datasource no existe en WPF y sin ella no soy capaz.

un saludo
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
Imágen de perfil de Ariel
Val: 21
Ha aumentado 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Datagrid en WPF

Publicado por Ariel (13 intervenciones) el 27/02/2016 05:20:56
Hola, efectivamente la propiedad datasource en WPF no existe, lo que pudes hacer es crear una estructura (una clase u objeto) donde vas a guardar los datos que quieres introducir en el datagrid, y después hacer un binding, con esto queda enlazado el datagrid y tu estructura y una vez que modifiques cualquier valor en la estructura deberá de actualizare en el datagrid, y viceversa.
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
Imágen de perfil de Alejandro
Val: 17
Ha aumentado 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

Datagrid en WPF

Publicado por Alejandro (8 intervenciones) el 29/02/2016 14:12:33
Aqui te pongo un ejemplo practico de como llenar un DataGrid en WPF, espero te sirva de algo, saludos.

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
public partial class Test : Window
{
 
        public Test()
        {
            InitializeComponent();
            dataGrid.ItemsSource = buildDataGrid();
        }
 
		 private List<Pago> buildDataGrid()
        {
            DataSet ds = Dao.getListadoPago();
            List<Pago> pagos = new List<Pago>();
 
            for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
            {
                pagos.Add(new Pago
                {
                    id = Convert.ToInt32(ds.Tables[0].Rows[i]["id"].ToString()),
                    cuota = Convert.ToInt32(ds.Tables[0].Rows[i]["cuota"].ToString()),
                    apartamento = Convert.ToInt32(ds.Tables[0].Rows[i]["apto"].ToString()),
                    edificio = Convert.ToInt32(ds.Tables[0].Rows[i]["edificio"].ToString()),
                    fechaPago = Convert.ToDateTime(ds.Tables[0].Rows[i]["fecha_pago"].ToString()),
                    fechaInsertado = Convert.ToDateTime(ds.Tables[0].Rows[i]["fecha_act"].ToString())
                });
            }
 
            return pagos;
        }
}
 
 public static class Dao
{
	 public static DataSet getListadoPago()
        {
            DataSet ds = new DataSet();
            string s = "select id,cuota,fecha_pago,apto,fecha_act, getedificio(apto) as edificio ";
            s += "from T_PAGO order by apto asc";
 
            ds = executeQuery(s);
            if (ds == null)
                return null;
 
            return ds;
        }
}
 
 public class Pago
    {
        public int id { get; set; }
        public int cuota { get; set; }
        public int meses
        {
            get
            {
                return cuota / 5;
            }
        }
        public DateTime fechaPago { get; set; }
        public int apartamento { get; set; }
        public int edificio { get; set; }
 
        public DateTime fechaInsertado { get; set; }
        public string resumen
        {
            get
            {
                return String.Format("Fecha de actualización {0}/{1}/{2} {3}:{4}:{5}", fechaInsertado.Day, fechaInsertado.Month, fechaInsertado.Year, fechaInsertado.Hour, fechaInsertado.Minute, fechaInsertado.Second);
            }
        }
    }
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