Mam DataGridView, którego używam w projekcie C# Winforms. Siatka NIE generuje automatycznie kolumn. Ręcznie ustawiłem nazwy kolumn i właściwości.Wyrównanie komórek DataGridView nie zadziała
Dotyczy to także DefaultCellStyle dla komórek. Chcę, aby wszystkie komórki typu DataGridViewCheckBoxColumn zostały wyśrodkowane. Ręcznie ustawiłem to wyrównanie dla każdej kolumny tego typu w projektancie. Te zmiany nie pojawiają się, gdy załadowany jest datagridview.
W następnym podejściu Użyłem poniższy kod w przypadku DataBindingComplete (który również nie miał wpływu)
foreach (DataGridViewColumn dgvc in this.dgv_Automations.Columns)
{
if(dgvc.CellType == typeof(DataGridViewCheckBoxCell))
dgvc.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
Gdy debugowanie, powyższy kod już wyrównanie ustawić centrum. Jednak nadal nie pojawia się na siatce.
I CAN dostać to działa, jeśli w trakcie imprezy DataBindingComplete zrobić coś takiego:
foreach (DataGridViewRow dgvr in this.dgv_Automations.Rows)
{
dgvr.Cells["isErrors"].Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
Mam jednak wiele z tych kolumn i to naprawdę nie ma sensu, aby zrobić to w ten sposób . EDYTOWANIE: Zaimplementowałem go w ten sposób i tylko z około 10 wierszy jest bardzo zauważalne opóźnienie od ustawienia tej właściwości w każdej komórce.
Moje pytanie brzmi: jaki jest właściwy sposób robienia tego? Dlaczego projektant DefaultCellStyle nie działa?
Proszę nie zamieniać tytułów na "C#" i tym podobne. Po to są te tagi. –
Noted. Nie będzie w przyszłości. – ImGreg