Wypełniam formant DataGridView w formularzu systemu Windows (C # 2,0 nie WPF).
Moim celem jest wyświetlenie siatki, która starannie wypełnia całą dostępną szerokość komórkami - tj. Żadnych nieużywanych (ciemnoszarych) obszarów po prawej stronie i odpowiednio dopasowuje rozmiar każdej kolumny zgodnie z zawartymi w niej danymi, ale także umożliwia użytkownikowi zmianę rozmiaru dowolnej kolumny według ich upodobań.
Próbuję to osiągnąć, ustawiając AutoSizeMode każdej kolumny na DataGridViewAutoSizeColumnMode.AllCells, z wyjątkiem jednej z kolumn, które ustawiłem na DataGridViewAutoSizeColumnMode.Fill , aby upewnić się, że cały obszar siatki jest starannie wypełniony danymi. (Nie mam nic przeciwko temu, że gdy użytkownik próbuje zmienić rozmiar tej kolumny, wraca do rozmiaru, który zapewnia, że przestrzeń pozioma jest zawsze używana.)
Jednak, jak wspomniałem, po załadowaniu chciałbym pozwolić użytkownikowi na zmianę rozmiaru kolumn, aby dopasować je do własnych wymagań - ustawiając te wartości AutoSizeMode dla każdej kolumny, wydaje się, że użytkownik nie może wtedy zmienić rozmiaru tych kolumn.
Próbowałem nie ustawiać AutoSizeMode wszystkich kolumn, co pozwala na zmianę rozmiaru, ALE nie ustawia rozmiaru początkowego zgodnie z danymi, które zawierają komórki. Ten sam wynik występuje w przypadku zmiany AutoSizeMode siatki z powrotem na „Not Set” po załadowaniu danych.
Czy brakuje mi ustawienia, które umożliwia automatyczne ustawianie domyślnych szerokości kolumn ORAZ zmianę rozmiaru użytkownika, czy też istnieje inna technika, której muszę użyć podczas wypełniania kontrolki DataGridView?