1
resposta

Componente com opção de filtragem.

Olá pessoal. Uma dúvida, vi esse componente (na imagem abaixo) em um sistema feito em VB6 e achei interessante. Só que a aplicação já estava compilada e não sei que compnente é este. Mas eu queria saber se alguém sabe se no VB.NET existe algum componente igual ou parecido com este? Ele tem essas linhas no inicio onde podemos realizar as filtragens nele, tem também do lado uma engrenagem que o usuário pode escolher mostrar no rodapé os valores de média, mínimo e máximo quando as colunas forem numéricas. Alguém sabe me indicar algum componente que faça estas coisas? Creio ser tipo no grid. Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Washington!

Pelo que entendi da sua descrição, você está procurando um componente que tenha funcionalidades de filtragem e exibição de dados estatísticos, como média, mínimo e máximo. No VB.NET, um componente que pode lhe oferecer essas funcionalidades é o DataGridView.

O DataGridView é um controle poderoso que permite exibir, editar e manipular dados tabulares. Ele também permite que você implemente a funcionalidade de filtragem. Você pode fazer isso criando um BindingSource e, em seguida, definindo seu Filter para o critério de filtragem desejado. Aqui está um exemplo:

Dim bs As New BindingSource()
bs.DataSource = DataGridView1.DataSource
bs.Filter = "column1 = 'value1' AND column2 = 'value2'"
DataGridView1.DataSource = bs

Quanto à funcionalidade de exibir valores de média, mínimo e máximo, você precisará implementar isso manualmente. Você pode fazer isso percorrendo as linhas do DataGridView e calculando esses valores. Aqui está um exemplo:

Dim sum As Decimal = 0
Dim min As Decimal = Decimal.MaxValue
Dim max As Decimal = Decimal.MinValue

For Each row As DataGridViewRow In DataGridView1.Rows
    Dim value As Decimal = Convert.ToDecimal(row.Cells("YourNumericColumn").Value)
    sum += value
    min = Math.Min(min, value)
    max = Math.Max(max, value)
Next

Dim average As Decimal = sum / DataGridView1.Rows.Count

' Agora você pode exibir min, max e average onde quiser.

Espero ter ajudado e bons estudos!