Witam. Nie mogę sobie z tym poradzić i proszę o pomoc :) Chcę zmienić kolejności kolumn - to umiem. Tylko, że kolejność kolumn zależy od "wartości" kolumn. Wyjaśniam. Każda kolumna w jednym polu ma pewną wartość. I na podstawie tych wartości trzeba posortować kolumny, ale nie komórki tylko samą kolejność kolumn. Przykład:
kolumna1 | kolumna2 | kolumna3 |
---|---|---|
... | ... | ... |
5 | 1 | 10 |
Kolumny powinny mieć kolejność względem tych pól czyli:
kolumna3 | kolumna1 | kolumna2 |
---|---|---|
... | ... | ... |
10 | 5 | 1 |
Nie mogę sobie poradzić z tym sortowaniem właśnie, żeby połączyć indexy + wartości. Kombinowałem z listami, tablicami, słownikiem i ciągle mi się sypie coś. Może ktoś będzie wiedział jak to zrobić :| Ja będę próbowałem dalej.
Jak ktoś się chce pośmiać to oto jedna próba :D
List<int[]> newIndices = new List<int[]>();
for (int i = 1; i < dgvPoints.Columns.Count; i++)
if (dgvPoints[i, 10].Value != null)
newIndices.Add(new int[2] {i, int.Parse(dgvPoints[i, 10].Value.ToString())});
else
newIndices.Add(new int[2] {i, 0});
newIndices.Sort();
for (int i = 1; i < dgvPoints.Columns.Count; i++)
dgvPoints.Columns[i].DisplayIndex = newIndices[i - 1][1];
[...] Now only god knows...
;)