none
Insertar filas (con ComboBox) en un DataGrid RRS feed

  • Pregunta

  • Hola,

    Mi problema es que necesito añadir filas en un dataGrid. Y una de las columnas debe ser un comboBox con una lista de elementos.

    Una vez se ejecuta la aplicación habrá un botón que será el encargado de añadir filas una vez pulsado. El siguiente código añade filas sin problemas. Pero no consigo incluir una cuarta columna que debería ser el comboBox cargado con varios elementos.

    private void button1_Click(object sender, RoutedEventArgs e)
            {
                DataGridTextColumn c1 = new DataGridTextColumn();
                c1.Header = "ID";
                c1.Binding = new Binding("ID");
                dataGrid1.Columns.Add(c1);
    
                DataGridCheckBoxColumn c2 = new DataGridCheckBoxColumn();
                c2.Header = "IsChecked";
                c2.Binding = new Binding("IsChecked");
                dataGrid1.Columns.Add(c2);
    
                DataGridTextColumn c3 = new DataGridTextColumn();
                c3.Header = "Name";
                c3.Binding = new Binding("Name");
                dataGrid1.Columns.Add(c3);
               
                dataGrid1.Items.Add(new Item() { ID = 1, Name = "Someone1", IsChecked = true});
                dataGrid1.Items.Add(new Item() { ID = 2, Name = "Someone2", IsChecked = false});
                dataGrid1.Items.Add(new Item() { ID = 3, Name = "Someone3", IsChecked = true});
                dataGrid1.Items.Add(new Item() { ID = 4, Name = "Someone4", IsChecked = false});
            }
        }
    
        public class Item
        {
            public int ID { get; set; }
            public string Name { get; set; }
            public bool IsChecked { get; set; }
    }
    

    El código para agregar la columna con el comboBox sería el siguiente:

                DataGridComboBoxColumn c4 = new DataGridComboBoxColumn();
                c4.Header = "Elementos";
                dataGrid1.Columns.Add(c4);
    


    A partir de aquí me pierdo. Le paso como ItemSource un array con elementos, pero luego no consigo llegar a añadirlo y que se vea en el dataGrid.

    Espero haber sido lo suficientemente claro. Supongo que será algo bastante sencillo, pero no doy con ello. Espero que alguien pueda ayudarme.

    Un saludo y muchas gracias!

     

    miércoles, 11 de enero de 2012 14:58

Todas las respuestas