2011-05-15 36 views
6

Tengo el siguiente código XAML:añadir manualmente filas en WPF DataGrid

<sdk:DataGrid Margin="58,8,52,18" Name="dataGridTickets"> 
    <sdk:DataGrid.Columns> 
     <sdk:DataGridTextColumn x:Name="ticketNoColumn" Header="Ticket No." IsReadOnly="True" Width="SizeToHeader"/> 
     <sdk:DataGridTextColumn x:Name="seatRowColumn" Header="Seat Row" IsReadOnly="True" Width="SizeToHeader"/> 
     <sdk:DataGridTextColumn x:Name="seatNumberColumn" Header="Seat Number" IsReadOnly="True" Width="SizeToHeader"/> 
    </sdk:DataGrid.Columns> 
</sdk:DataGrid> 

me gustaría introducir datos manuales en la red mediante programación, ¿cómo puedo llegar a hacer esto?

Gracias

Solución de Trabajo

Programatically add rows in a WPF DataGrid

Respuesta

8

no agrega filas a una rejilla.

  1. enlazar la cuadrícula a una lista (colección observable)
  2. añadir elementos a la lista.

Resultado: aparecen nuevas filas en la cuadrícula.

+5

Por qué no? Sé que no es el uso normal, pero se puede hacer. Puede haber casos en los que agregar elementos a una lista no sea un método preferido para operar. – IAmTimCorey

+7

@Biggs: esas instancias se llaman spaghetti-road. Agregue una lista intermedia si es necesario. Un control no es una estructura de datos. –

+0

@Henk Holterman - cierto, creo que solo estaba tratando de abordar directamente la pregunta del OP y es técnicamente posible. Sin embargo, tiene razón de que debería estar editando la estructura de datos subyacente en lugar del control de la interfaz de usuario. – IAmTimCorey

6

Si no desea DataBind la cuadrícula de datos (incluso en tiempo de ejecución), puede seguir los consejos de este artículo SO:

programmatically add column & rows to WPF Datagrid

Básicamente se crea una nueva fila (en código) y poblarlo con elementos y luego asignarlo a su grilla.

Como señaló Henk, no es una gran práctica. Si se trata de una situación única, puede haber una justificación, pero en general debe abordarla actualizando la fuente de datos subyacente. Este es un ejemplo de Microsoft:

http://social.msdn.microsoft.com/Forums/en/wpf/thread/9b96a798-e185-4d90-ba73-afc35eb91643