Ich habe ein Datagrid, das von einer Combobox gefiltert wird, und ich möchte Zeilen in diesem Datagrid mit up und down Tasten tauschen.Wie kann ich Zeilen in einem gefilterten Datagrid in WPF austauschen, ohne die Datenquelle zu beeinträchtigen?
Ich habe den folgenden Code für bis Schaltfläche, aber nach dem Austauschen von Zeilen werden die Elemente in der Datenquelle von Datagrid geändert, um die Elemente zu entsprechen, die gefiltert wurden und andere Zeilen ebenfalls entfernt werden.
Das ist mein Code:
if (Datagrid1.SelectedIndex != -1 && Datagrid1.SelectedIndex != 0)
{
DataTable dt = ((DataView)Datagrid1.ItemsSource).ToTable();
int index = Datagrid1.SelectedIndex;
DataRow selectedRow = dt.Rows[index];
DataRow newRow = dt.NewRow();
newRow.ItemArray = selectedRow.ItemArray;
dt.Rows.Remove(selectedRow);
dt.Rows.InsertAt(newRow, index - 1);
Datagrid1.ItemsSource = dt.DefaultView;
Datagrid1.SelectedIndex = index - 1;
}
Wie kann ich die Reihenfolge ändern, ohne die Datenquelle zu beeinflussen?
ich Ihnen dringend, in eine MVVM Lösung für Ihr Projekt aussehen würde empfehlen. Mit MVVM wären solche Aufgaben viel einfacher. – Chrille
@Chrille Ich bin nicht vertraut mit MVVM. – JDM
Wenn Sie die Zeit und den Willen haben zu lernen, versuchen Sie in diesem Thema nach Tutorials zu suchen. "MVVM WPF" – Chrille