SALVAR ORDENAÇÃO COLUNAS DATAGRIDVIEW

 Tópico anterior Próximo tópico Novo tópico

SALVAR ORDENAÇÃO COLUNAS DATAGRIDVIEW

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#483810 - 10/08/2018 11:40:12

GUILHERMECSOUZA
DIVINOPOLIS
Cadast. em:Janeiro/2017


Bom dia Pessoal,

Existe alguma forma por exemplo.
tenho um DataGridView com as colunas Cliente, Telefone, CPF, Endereco. como padrao.

o Usuario X vai reodernar as colunas como exemplo CPF, Cliente, Telefone, Endereco.

gostaria de salvar esta ordem em um arquivo ini ou de outra forma. de quando ele  abrir esta rotina novamente vai carregar a ordem que ele deixou as colunas. caso nao encontre o arquivo ele abre a padrao.

Obrigado desde já.



#483820 - 10/08/2018 13:16:41

JONESPARIS
ERECHIM
Cadast. em:Fevereiro/2006


Olá, existe uma forma mais fácil. Grava a preferência do usuário no banco de dados. Pode ser na tabela usuário ou uma tabela auxiliar, do tipo "usuariospreferencias". Nosso sistema ERP grava estas preferências na tabela usuários.

Jones Paris

#483822 - 10/08/2018 13:55:01

PERCIFILHO
MATAO [SP]
Cadast. em:Dezembro/2009


Eu faria como o JonesParis falou, gravando em uma tabela, ou se preferir, num arquivo .ini, mas na tabela acho que fica melhor.

____________________________________________________
Você sabe que alguém te ama não pelo que ele fala, mas pelo o que faz.
O amor não sobrevive de teorias.




#483823 - 10/08/2018 13:57:12

GUILHERMECSOUZA
DIVINOPOLIS
Cadast. em:Janeiro/2017


Citação:
:
Eu faria como o JonesParis falou, gravando em uma tabela, ou se preferir, num arquivo .ini, mas na tabela acho que fica melhor.

Pode me dar uma luz de como fazer isso?
não sei como fazer.



#483824 - 10/08/2018 14:10:41

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


Você pode salvar em qualquer lugar, no entanto, é mais interessante salvar isto no banco de dados.

Para pegar a preferencia do usuário, você pode pegar o evento onde ele clica para ordenar a coluna (ColumnHeaderMouseClick), e salvar seu estado no banco de dados por exemplo.

Você deve pegar a coluna e a ordem desejada.

  

dim colunaOrdenada as integer = seudatagrid.SortedColumn.Index
dim direcaoOrdenacao as integer = seudatagrid.SortOrder





#483829 - 10/08/2018 14:48:28

JONESPARIS
ERECHIM
Cadast. em:Fevereiro/2006


Certamente você possui uma tabela de usuários, com nome, senha, permissões, cria um campo chamado ordenacaogridclientes, neste campo, deixe como padrão aquilo que você considerar adequado, mas quando o usuário solicitar que você modifique a ordenação, grava no banco isso.

Ao abrir o form ou efetuar a pesquisa, você precisa consultar esta tabela e campo, dependendo da informação que tem lá no campo você cria um order by.

Exemplo:

                Dim rsPermissões As ADODB.Recordset
                Set rsPermissões= New ADODB.Recordset
                rsPermissões.CursorLocation = adUseServer
        
                rsPermissões.Open "select * from usuarios Where usuario = '" & Text28.Text & "'", conn, adOpenStatic, adLockOptimistic, adCmdText
                Dim OrdemClientes As String
                OrdemClientes = ""
                OrdemClientes = rsPermissões!ordenacaogridclientes
                rsPermissões.Close

                      If OrdemClientes = "Nome" Then
                               'Código para ordernar por nome
                      End if
                      If OrdemClientes = "Cidade" Then
                               'Código para ordernar por Cidade
                      End if


Jones Paris

#483834 - 10/08/2018 15:42:14

GUILHERMECSOUZA
DIVINOPOLIS
Cadast. em:Janeiro/2017


Citação:
:
Certamente você possui uma tabela de usuários, com nome, senha, permissões, cria um campo chamado ordenacaogridclientes, neste campo, deixe como padrão aquilo que você considerar adequado, mas quando o usuário solicitar que você modifique a ordenação, grava no banco isso.

Ao abrir o form ou efetuar a pesquisa, você precisa consultar esta tabela e campo, dependendo da informação que tem lá no campo você cria um order by.

Exemplo:

                Dim rsPermissões As ADODB.Recordset
                Set rsPermissões= New ADODB.Recordset
                rsPermissões.CursorLocation = adUseServer
        
                rsPermissões.Open "select * from usuarios Where usuario = '" & Text28.Text & "'", conn, adOpenStatic, adLockOptimistic, adCmdText
                Dim OrdemClientes As String
                OrdemClientes = ""
                OrdemClientes = rsPermissões!ordenacaogridclientes
                rsPermissões.Close

                      If OrdemClientes = "Nome" Then
                               'Código para ordernar por nome
                      End if
                      If OrdemClientes = "Cidade" Then
                               'Código para ordernar por Cidade
                      End if

na Verdade eu quero reordenar a sequencia das colunas.




#483835 - 10/08/2018 15:54:43

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


Última edição em 10/08/2018 15:55:21 por GUIMORAES

Citação:
  na Verdade eu quero reordenar a sequencia das colunas.


Você pode criar uma classe com a posição da coluna e o tamanho dela, serializar em arquivo ou até salvar no banco de dados.
Para isto, você deve usar uma coleção de dados, como o  Specialized.StringCollection.





 Tópico anterior Próximo tópico Novo tópico


Para responder este tópico o login é requerido
Se você já possui uma conta de usuário por favor faça seu login
Se você não possui uma conta de usuário use a opção Criar usuário