Search code examples
c#winformsdatagridviewbunifu

C# Winforms- Styling in bunifu datagridview not working


I am working with a C# Winforms application. In my application I am setting the theme for it using a method.

Everything works but the bunifuDataGridView(dataGridview, dataGridView1) doesn't get the new header style selection back color.

I tried by asking chat gpt but it was more stupid than I am

dataGridView1.CurrentTheme.HeaderStyle.BackColor = ThemeColor.PrimaryColor;
dataGridView1.CurrentTheme.HeaderStyle.SelectionBackColor = ThemeColor.SecondaryColor;

dataGridView.CurrentTheme.HeaderStyle.BackColor = ThemeColor.PrimaryColor;
dataGridView.CurrentTheme.HeaderStyle.SelectionBackColor = ThemeColor.SecondaryColor;

I am calling this method from the form load event. I did set "Allow custom theming" to true.

Only the headerStyle.selectionBackcolor doesn't work.

If someone knows how to solve it - please help me.


Solution

  • Have a look at this code and call styleDGV in on Form load

        Private Sub StyleDGV()
    
        'Set Design of the DataGridView
        dgvTX.DefaultCellStyle.Font = New Font("Times New Roman", 13.0F, FontStyle.Bold)
        dgvTX.ColumnCount = 8
        dgvTX.Columns(0).Width = 50   'ID
        dgvTX.Columns(1).Width = 140  'Date
        dgvTX.Columns(2).Width = 136  'TxType
        dgvTX.Columns(3).Width = 120  'Amt
        dgvTX.Columns(4).Width = 114  'ckNum
        dgvTX.Columns(5).Width = 390  'Desc
        dgvTX.Columns(6).Width = 130  'Bal
        dgvTX.Columns(7).Width = 10  'dumbS
        'To Set Col Header Size Mode = Enabled
        'To Set Col Header Default Cell Styles DO in Properties
        dgvTX.Columns(6).DefaultCellStyle.Format = "c"
    
    
        dgvTX.ColumnHeadersHeight = 10 'Sans Serif 'Tahoma
        dgvTX.ColumnHeadersDefaultCellStyle.Font = New Font("Sans Serif", 12.0F, FontStyle.Bold)
    
        dgvTX.ColumnHeadersDefaultCellStyle.ForeColor = Color.Blue
        dgvTX.DefaultCellStyle.BackColor = Color.LightGoldenrodYellow
        dgvTX.Columns(2).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        dgvTX.Columns(3).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
        dgvTX.Columns(4).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
        dgvTX.Columns(6).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
    
    
        'dgvTX.Enabled = False 'Prevents Selection of data and scrolling
        'DGV Header Names
        dgvTX.Columns(0).Name = "TID"
        dgvTX.Columns(1).Name = "  Date"
        dgvTX.Columns(2).Name = "  Tx Type"
        dgvTX.Columns(3).Name = "  Amount"
        dgvTX.Columns(4).Name = "  CK Num"
        dgvTX.Columns(5).Name = "Desctiption"
        dgvTX.Columns(6).Name = "  Balance"
        dgvTX.Columns(7).Name = "     "
    
    
        dgvTX.Columns(0).SortMode = DataGridViewColumnSortMode.NotSortable
        dgvTX.Columns(1).SortMode = DataGridViewColumnSortMode.NotSortable
        dgvTX.Columns(2).SortMode = DataGridViewColumnSortMode.NotSortable
        dgvTX.Columns(3).SortMode = DataGridViewColumnSortMode.NotSortable
        dgvTX.Columns(4).SortMode = DataGridViewColumnSortMode.NotSortable
        dgvTX.Columns(5).SortMode = DataGridViewColumnSortMode.NotSortable
        dgvTX.Columns(6).SortMode = DataGridViewColumnSortMode.NotSortable
    
    End Sub