Hi,
Ich stelle mir in einem Tool eine DataGrid zusammen, in der ich die Mengen-Angabe editierbar haben möchte.
Visuell macht er das auch, aber leider sind diese Änderungen in Folgeaktionen scheinbar nicht ersichtlich.
Meine DataGrid sieht gekürzt so aus (XAML):
Neue Zeilen werden mit einer 1 als default für die TextBox angelegt.
Ändere ich den Wert nun, und möchte die Items der DataGrid verarbeiten, wird bei allen wieder 1 verwendet?!
In der Event-Methode RefreshSummary() habe verschiedene Dinge, wie bspw.:
probiert, sowie versucht, die komplette Grid neu zu schreiben.
Auch in den KeyUp und KeyDown Events habe ich mich probiert, aber irgendwie übernimmt er die Änderungen nicht für das entsprechende Item.
Wie wäre die beste Lösung oder der einfachste Weg?
Danke für Hinweise und Tipps!
Gruß Arne
Ich stelle mir in einem Tool eine DataGrid zusammen, in der ich die Mengen-Angabe editierbar haben möchte.
Visuell macht er das auch, aber leider sind diese Änderungen in Folgeaktionen scheinbar nicht ersichtlich.
Meine DataGrid sieht gekürzt so aus (XAML):
HTML Code:
<DataGrid Grid.Row="2" Name="gridSummary" ItemsSource="{Binding Summary}" AlternatingRowBackground="#eee" SelectionMode="Single" SelectionUnit="FullRow"> <DataGrid.Columns> <DataGridTemplateColumn Header="Artikel" Width="Auto"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Path=ArticleSku}" VerticalAlignment="Center" FontSize="14" Padding="5,0"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTemplateColumn Header="Matchcode" Width="*"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <TextBlock Text="{Binding Path=Matchcode}" VerticalAlignment="Center" FontSize="14" Padding="5,0"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTemplateColumn Header="Menge" Width="Auto"> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <Grid> <!-- Um die folgende TextBox geht es --> <TextBox Text="{Binding Path=Quantity, Mode=TwoWay}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" VerticalAlignment="Stretch" VerticalContentAlignment="Center" FontSize="14" TextChanged="RefreshSummary"/> </Grid> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> </DataGrid.Columns> </DataGrid>
Ändere ich den Wert nun, und möchte die Items der DataGrid verarbeiten, wird bei allen wieder 1 verwendet?!
In der Event-Methode RefreshSummary() habe verschiedene Dinge, wie bspw.:
PHP Code:
this.gridSummary.Items.Refresh();
this.gridSummary.UpdateLayout();
Auch in den KeyUp und KeyDown Events habe ich mich probiert, aber irgendwie übernimmt er die Änderungen nicht für das entsprechende Item.
Wie wäre die beste Lösung oder der einfachste Weg?
Danke für Hinweise und Tipps!
Gruß Arne
Comment