none
WPF como mostrar elementos en un combobox en un datagrid??? RRS feed

  • Pregunta

  • hola he hecho un datagrid, y he tenido problemas con el combobox, es el unico que por ahora me ha dado problemas, lo he hecho con datepicker, textbox, checbox:

    <dg:DataGridTemplateColumn Header="Entregable" Width="80">
                        <dg:DataGridTemplateColumn.CellTemplate>
                          <DataTemplate>
                            <TextBox />
                          </DataTemplate>
                        </dg:DataGridTemplateColumn.CellTemplate>
                        <dg:DataGridTemplateColumn.CellEditingTemplate>
                          <DataTemplate>
                            <TextBlock Text=""/>
                          </DataTemplate>
                        </dg:DataGridTemplateColumn.CellEditingTemplate>
                      </dg:DataGridTemplateColumn>

    pero ahora lo que quiero hacer es un combobox:

    <dg:DataGridTemplateColumn Header="Responsable Principal" Width="90">
                        <dg:DataGridTemplateColumn.CellTemplate>
                          <DataTemplate>
                            <ComboBox />
                          </DataTemplate>
                        </dg:DataGridTemplateColumn.CellTemplate>
                        <dg:DataGridTemplateColumn.CellEditingTemplate>
                          <DataTemplate>
                            <TextBlock Text=""/>
                          </DataTemplate>
                        </dg:DataGridTemplateColumn.CellEditingTemplate>
                      </dg:DataGridTemplateColumn>

    y quisiera mostrar en el combo una lista de elementos en un xml, como puedo hacer esto¿?

     

    muchas gracias

    domingo, 18 de abril de 2010 17:36

Respuestas

  • hola, al fin lo hice desde el cs (muchas gracias david, me sirvio tu ayuda en otro tema de datagrid)

    lo hice sin añadir la lista, y solo creando un combo

    StackPanel PanelTipoPrecedenciaGantt = (StackPanel)e.OriginalSource;
          ComboBox CBTipoPrecedenciaGantt = new ComboBox();
    
          var a = doc.Descendants("TipoPrecedencia").Select(tipoprec => new { name = tipoprec.Attribute("Nombre").Value, value = tipoprec.Attribute("idTipoPrec").Value });
          Dictionary<string, string> source = a.ToDictionary((w) => w.name.ToString(), (w) => w.value.ToString(), StringComparer.CurrentCulture);
          CBTipoPrecedenciaGantt.ItemsSource = source;
          CBTipoPrecedenciaGantt.DisplayMemberPath = "Key";
          CBTipoPrecedenciaGantt.SelectedValuePath = "Value";
    
          while (PanelTipoPrecedenciaGantt.Children.Count < 1)
          {
            PanelTipoPrecedenciaGantt.Children.Add(CBTipoPrecedenciaGantt);
          }
    muchas gracias, igual, si alguien tiene una mejor solucion le agradeceria si la posteara

    • Marcado como respuesta ccmmasi martes, 20 de abril de 2010 23:44
    martes, 20 de abril de 2010 23:44

Todas las respuestas

  • hola

    como puedo hacer que el combobox dentro del datagrid me tome informacion de un xml¿?

     

    ademas de esto tambien saber como puedo comparar fechas, tengo dos datepicker (fecha inicial y fecha final), validar que la fecha inicial seleccionada sea mayor o siguiente a la final y viceversa.

    muchas gracias

    martes, 20 de abril de 2010 19:28
  • hola, al fin lo hice desde el cs (muchas gracias david, me sirvio tu ayuda en otro tema de datagrid)

    lo hice sin añadir la lista, y solo creando un combo

    StackPanel PanelTipoPrecedenciaGantt = (StackPanel)e.OriginalSource;
          ComboBox CBTipoPrecedenciaGantt = new ComboBox();
    
          var a = doc.Descendants("TipoPrecedencia").Select(tipoprec => new { name = tipoprec.Attribute("Nombre").Value, value = tipoprec.Attribute("idTipoPrec").Value });
          Dictionary<string, string> source = a.ToDictionary((w) => w.name.ToString(), (w) => w.value.ToString(), StringComparer.CurrentCulture);
          CBTipoPrecedenciaGantt.ItemsSource = source;
          CBTipoPrecedenciaGantt.DisplayMemberPath = "Key";
          CBTipoPrecedenciaGantt.SelectedValuePath = "Value";
    
          while (PanelTipoPrecedenciaGantt.Children.Count < 1)
          {
            PanelTipoPrecedenciaGantt.Children.Add(CBTipoPrecedenciaGantt);
          }
    muchas gracias, igual, si alguien tiene una mejor solucion le agradeceria si la posteara

    • Marcado como respuesta ccmmasi martes, 20 de abril de 2010 23:44
    martes, 20 de abril de 2010 23:44