Ich habe eine Datentabelle (dt) mit 6 Spalten (S1, S2, S3 sind string
und D1, D2, D3 sind double
). Die Kombination der string
Spalten (S1, S2, S3) meine PrimaryKey bilden:Wie Datentabelle sortieren und Primärschlüssel beibehalten?
dt.PrimaryKey = new DataColumn[]
{ dt.Columns["S1"], dt.Columns["S2"], dt.Columns["S3"] };
Nun, ich möchte dt von D1, D2, D3 sortieren und als Datentabelle speichern. Hier ist, was ich habe:
DataView view = new DataView(dt);
view.Sort = "D1, D2, D3";
dt = view.ToTable();
Das Problem ist, dt die Art und Weise sortiert wird, wollte ich durch meine PrimaryKeys verloren. Ich habe versucht, die 3. Zeile durch dt = view.Table.Copy();
zu ersetzen, die die PrimaryKeys behält, aber die Sortierung wird nicht funktionieren. Ich versuchte auch LINQ
(How to sort DataTable based on multiple column?) zu verwenden und überprüfte diesen Trend (DataTable.DefaultView.Sort Doesn't Sort), aber keiner von ihnen arbeitete.
Mache ich etwas falsch? Jede Hilfe wird sehr geschätzt.
Haben Sie versucht, die DefaultView.Sort-Eigenschaft NACH der view.Table.Copy festzulegen? – Steve