none
Formatar célula especifica em DataGridView (DGV) RRS feed

  • Pergunta

  • Olá amigos, tenho um DGV criado a partir do exemplo abaixo:

            Dim MostrarResults As New List(Of Results)
            Dim obs As New BindingSource()
            obs.Add(New Results("a - Custo inical,R$:", Format(a1(), "##,##0.##"), Format(a2(), "##,##0.##"), Format(a3(), "##,##0.##")))
            ...
            Dim col As DataGridViewColumn = New DataGridViewTextBoxColumn()
            col.DataPropertyName = "INF"
            col.Name = "Informação"
            col.ReadOnly = True
            ...
     DataGridView1.Columns.Add(col)
            With Me.DataGridView1.Columns("Informação")
                .DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft
            End With
            DataGridView1.Columns.Add(Col1)
            DataGridView1.Columns.Add(Col2)
            DataGridView1.Columns.Add(Col3)
    DataGridView1.DataSource = obs
            Me.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
            Return Result

    No caso o DGV após criado fica com 43 linhas, dessas eu gostaria que 3 células especificas na coluna 1 e/ou a linha correspondente a estas células do DGV ficassem em negrito. Já procurei aqui no fórum e em outros também, mas não encontrei tal informação.

    Serei grato se alguém puder me ajudar, estou apto a outras dúvidas :D

    sexta-feira, 18 de setembro de 2015 13:20

Respostas

  • Agradeço a todos pela ajuda.

    No fim das contas era disto que precisava:

    DataGridView1.Rows(2).DefaultCellStyle.Font = New Font("Arial", 12, FontStyle.Bold)

    • Marcado como Resposta Marcos SJ quinta-feira, 1 de outubro de 2015 13:46
    terça-feira, 22 de setembro de 2015 15:09
  • O código seria esse:

    DataGridView1.Rows(2).DefaultCellStyle.BackColor = Color.FloralWhite
    DataGridView1.Rows(2).DefaultCellStyle.Font = New Font("Arial", 12, FontStyle.Bold)

    Código Total

    DataGridView1.ColumnCount = 2 DataGridView1.Columns(0).HeaderText = "Código" DataGridView1.Columns(1).HeaderText = "Nome" DataGridView1.Rows.Add(1, "Nome 1") DataGridView1.Rows.Add(2, "Nome 2") DataGridView1.Rows.Add(3, "Nome 3") DataGridView1.Rows.Add(4, "Nome 4") DataGridView1.Rows.Add(5, "Nome 5")

    DataGridView1.Rows(2).DefaultCellStyle.BackColor = Color.FloralWhite DataGridView1.Rows(2).DefaultCellStyle.Font = New Font("Arial", 12, FontStyle.Bold)



    Fulvio Cezar Canducci Dias



    terça-feira, 22 de setembro de 2015 14:42

Todas as Respostas

  • Olá A_Nunes,

    Tudo bem?

    Entendi o que você quer fazer, mas qual seria o problema que está enfrentando para poder fazer isso? 

    Você precisa informar em sua postagem qual é o erro de sistema/linguagem que esteja o impedindo fazer isso.

    Atenciosamente


    Marcos Roberto de Souza Junior

    Esse conteúdo e fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as respostas que resolveram o seu problema. Essa e uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    • Editado Marcos SJ segunda-feira, 21 de setembro de 2015 17:37
    segunda-feira, 21 de setembro de 2015 13:52
  • Olá Marcos, bem meu problema em si seria deixar a linha destacada em vermelho com seu conteúdo em negrito.

    Tentei configurar por "rows", mas não deu muito certo.

    A figura abaixo pertence a tabela que é criada no form, como resultado do DGV.

    Sim, estou usando VB.NET.
    • Editado A_Nunes segunda-feira, 21 de setembro de 2015 20:36
    segunda-feira, 21 de setembro de 2015 15:45
  • Para mudar colocar negrito ou mudar a cor da fonte você pode usar a propriedade Style da row, para colorir a borda da linha terá que desenhar um retângulo no evento CellPanting. Nesse Link segue um exemplo.

    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    • Marcado como Resposta Marcos SJ terça-feira, 22 de setembro de 2015 11:06
    • Não Marcado como Resposta A_Nunes terça-feira, 22 de setembro de 2015 11:55
    terça-feira, 22 de setembro de 2015 04:59
  • Olá Bruno, Marcos. O link o qual você me passou não resolveu meu problema o evento CellPanting apenas pinta o fundo de determinadas células, no meu caso apenas o texto deve ficar em negrito. Enquanto ao Style Row adicionei a linha:

    Dim font1 As New Font(DataGridView1.DefaultCellStyle.Font.FontFamily, 10, FontStyle.Bold)
    Junto com a chamada:
    DataGridView1.Rows(2).Cells("Informação").Style.Font = font1

    Rows(2) seria a linha que quero aplicar a formatação. - Ainda não estou bem acostumado com essa propriedade!

    "Informação" é  1ª coluna tabela.

    Porém novamente sem êxito, quando tento rodar o aplicativo da erro: "System.ArgumentOutOfRangeException" em mscorlib.dll
    • Editado A_Nunes terça-feira, 22 de setembro de 2015 13:53
    terça-feira, 22 de setembro de 2015 13:51
  • O código seria esse:

    DataGridView1.Rows(2).DefaultCellStyle.BackColor = Color.FloralWhite
    DataGridView1.Rows(2).DefaultCellStyle.Font = New Font("Arial", 12, FontStyle.Bold)

    Código Total

    DataGridView1.ColumnCount = 2 DataGridView1.Columns(0).HeaderText = "Código" DataGridView1.Columns(1).HeaderText = "Nome" DataGridView1.Rows.Add(1, "Nome 1") DataGridView1.Rows.Add(2, "Nome 2") DataGridView1.Rows.Add(3, "Nome 3") DataGridView1.Rows.Add(4, "Nome 4") DataGridView1.Rows.Add(5, "Nome 5")

    DataGridView1.Rows(2).DefaultCellStyle.BackColor = Color.FloralWhite DataGridView1.Rows(2).DefaultCellStyle.Font = New Font("Arial", 12, FontStyle.Bold)



    Fulvio Cezar Canducci Dias



    terça-feira, 22 de setembro de 2015 14:42
  • Agradeço a todos pela ajuda.

    No fim das contas era disto que precisava:

    DataGridView1.Rows(2).DefaultCellStyle.Font = New Font("Arial", 12, FontStyle.Bold)

    • Marcado como Resposta Marcos SJ quinta-feira, 1 de outubro de 2015 13:46
    terça-feira, 22 de setembro de 2015 15:09