C# Winforms- Styling in bunifu datagridview not working

53 Views Asked by At

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.

1

There are 1 best solutions below

2
Vector On BEST ANSWER

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