Eu criei um formulario com um CheckListBox onde eu carrego todos os campos do grid nele assim:
for I := 0 to Grid.Columns.Count - 1 do begin CheckListBox.Items.Add(Grid.Columns.Items[I].Title.Caption); CheckListBox.Checked[I] := (Grid.Columns.Items[I].Visible = True); end; e pra ocultar ou mostrar as colunas faço assim: for I := 0 to CheckListBox.Items.Count - 1 do begin for I2 := 0 to Grid.Columns.Count - 1 do begin if CheckListBox.Items.Strings[I] = Grid.Columns.Items[I2].Title.Caption then begin Grid.Columns.Items[I2].Visible := (CheckListBox.Checked[viInt] = True); Break; end; end; end; só isso!!! Em 21/12/05, Eduardo Silva (r) <[EMAIL PROTECTED]> escreveu: > > Amigo, como vc faz para deixar a coluna no grid visible ou não. Tipo o > usuário excluiu uma coluna (em tempo de execução é claro) e agora quer a > coluna de volta, como vc faz isso? > -----Mensagem original----- > De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] > nome de Eduardo Suruagy > Enviada em: quarta-feira, 21 de dezembro de 2005 08:51 > Para: delphi-br@yahoogrupos.com.br > Assunto: Re: [delphi-br] DBGrid > > > Bem, muito obrigado pelas respostas de todos, mas, vou definir o q > realmente > quero. > No meu sistema qd eu tiver qualquer DBGrid eu posso alterar o tamanho > das > colunas, a posição das mesmas, a descrição, posso deixar a coluna > visivel > ou > não. Tudo isso o proprio DBGrid salva em um arquivo *.cfg atravez da > função: > > //Esta linha Salva a aparência do DBGrid para que ele possa ser > carregado > da próxima vez que for utilizado. > for i := 0 to (Grid.Columns.Count - 1) do > Grid.Columns.SaveToFile('C:\Nome_DBGrid_'+CodUsuario); > > Assim eu posso guardar toda a configuração do dbgrid na pasta q eu > quiser > juntamente com o codigo do usuario, > na hora de carregar as configurações fica mais facil dessa forma do q > guardar as configurações no banco de dados, eu > já guardei todas essas configurações no banco mas da muito trabalho e > demora > um pouco p/ reajustar o dbgrid todo. > O q eu queria mesmo era o seguinte: Eu gerava o arquivo *.cfg do dbgrid > e > logo em seguida salvava no banco SQlServer 2000 qd o usuário fosse > entrar > no > sistema em qualquer maquina eu salvava todos os arquivo *.cfg que fossem > dele na maquina local (estou usando ADO+DataSetProvider+ClientDataSet), > eu > já fiz esse teste, mas, qd eu ia carregar o arquivo do banco para um > diretorio e carregava o dbgrid era como se o arquivo *.cfg perdesse sua > configuração e desse erro na hora de carrega-lo. > Pra carregar o arquivo no dbgrdi faço isso: > > if FileExists('C:\Nome_DBGrid_'+CodUsuario) then > Grid.Columns.LoadFromFile('C:\Nome_DBGrid_'+CodUsuario); > > A estrutura do banco seria a seguinte: > > Cod_Usuario Integer; > Nome_DBGrid Varchar(60); > Configuracoes_DBGrid ????? --> Aqui eu guardaria as configuracoes do > dbgrid > no caso o arquivo *.cfg > > Mas isso não sei como fazer sem perder e danificar a estrutra do > arquivo. > Ja > fiz os teste mudando a resolução do video mas não fica errado no dbgrid > fica > tudo certo do jeito q eu configurei as colunas e tbm nao da pra salvar > só > o > caminho pq vão ter situações de eu usar o sistema pela internet.... > Obrigado > pela atenção de todos e peço mais uma vez a ajuda de vcs!!! > > > ============================================================================ > ============= > > Em 21/12/05, Celso Lorenzetti - GMail <[EMAIL PROTECTED]> > escreveu: > > > > Olá Eduardo, > > > > para salvar as definições do DbGrid.Columns no banco de dados, > > > > vc deve utilizar um campo do tipo binário (BLOB), depende de qual > banco > de > > dados vc está utilizando. > > > > Eu tenho isso no postgresql. > > > > T+ > > > > ----- Original Message ----- > > From: Pablo Augusto > > To: delphi-br@yahoogrupos.com.br > > Sent: Tuesday, December 20, 2005 9:53 AM > > Subject: Re: [delphi-br] DBGrid > > > > > > voce pode salval apenas o caminho dos arquivos .cfg no banco de > dados > > com o > > tipo de campo varchar. > > > > > > > > > -------------------------------------------------------------------------- > ------------------ > > *tbl_config* > > > > > > > -------------------------------------------------------------------------- > ------------------ > > id | path > > > > > > > -------------------------------------------------------------------------- > ------------------ > > 1 | c:\programa\data\cfg1.cfg > > > > > > > -------------------------------------------------------------------------- > ------------------ > > 2 | c:\programa\data\cfg2.cfg > > > > > > > -------------------------------------------------------------------------- > ------------------ > > 3 | c:\programa\data\cfg3.cfg > > > > > > > -------------------------------------------------------------------------- > ------------------ > > > > dai você pode consultar o caminho e buscar ele no diretório > apropriado. > > > > > > Você pode tambem ao envés de criar o .cfg colocar os dados que > seriam > > contidos nesses arquivos em uma tabela no seu banco de dados ... > > > > existem várias possibilidades, você tem de ver a que melhor se > adapta > o > > seu > > caso. > > > > > > > > > > > > > > Em 20/12/05, Eduardo Suruagy <[EMAIL PROTECTED]> escreveu: > > > > > > Estou usando SQlServer+ ADO + ClientDataSet > > > Minha duvida é a seguinte: > > > Eu guardo as configurações dos DbGrids em arquivos *.cfg exemplo: > > > nome_dbgrid_codusuario.cfg, qd os usuários entram em algum > formulario > > eu > > > carrego as configurações do dbgrid mas eu queria q os arquivos > *.cfg > > > ficassem guardados no banco de dados cada arquivo seria um > registro > > > diferente, mas, não sei como fazer nem qual o tipo de campo que > devo > > usar > > > para esse tipo de arquivo... Porfavor me ajudem!! Obrigado!!! > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > -- > > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > > > > > > > > > > > > > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE > > > > > > < > > > > http://br.rd.yahoo.com/SIG=12fgd8p9a/M=386470.7632849.8508174.2369893/D=brcl > > ubs/S=2137111264:HM/Y=BR/EXP=1135088531/A=3135788/R=2/id=noscript/SIG=12c39t > rgo/* > http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis. > com > > > > > > ------------------------------ > > > *Links do Yahoo! Grupos* > > > > > > - Para visitar o site do seu grupo na web, acesse: > > > http://br.groups.yahoo.com/group/delphi-br/ > > > > > > - Para sair deste grupo, envie um e-mail para: > > > [EMAIL PROTECTED]< > > [EMAIL PROTECTED]> > > > > > > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos > do > > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > > > > > > > Yahoo! Grupos, um serviço oferecido por: > > PUBLICIDADE > > > > > > > > > > > > > > > -------------------------------------------------------------------------- > ---- > > Links do Yahoo! Grupos > > > > a.. Para visitar o site do seu grupo na web, acesse: > > http://br.groups.yahoo.com/group/delphi-br/ > > > > b.. Para sair deste grupo, envie um e-mail para: > > [EMAIL PROTECTED] > > > > c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > > Serviço do Yahoo!. > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > -- > > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > > > > > > > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE > > > < > http://br.rd.yahoo.com/SIG=12fuomtsa/M=386470.7632849.8508174.2369893/D=brc > > lubs/S=2137111264:HM/Y=BR/EXP=1135169653/A=3135788/R=2/id=noscript/SIG=12c39 > trgo/* > http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis > .com> > > ------------------------------ > > *Links do Yahoo! Grupos* > > > > - Para visitar o site do seu grupo na web, acesse: > > http://br.groups.yahoo.com/group/delphi-br/ > > > > - Para sair deste grupo, envie um e-mail para: > > > [EMAIL PROTECTED]< > [EMAIL PROTECTED] > om.br?subject=Unsubscribe> > > > > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > Yahoo! Grupos, um serviço oferecido por: > PUBLICIDADE > > > > > > ---------------------------------------------------------------------------- > -- > Links do Yahoo! Grupos > > a.. Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/delphi-br/ > > b.. Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED] > > c.. O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > Serviço do Yahoo!. > > > > __________ NOD32 1.1331 (20051220) Information __________ > > This message was checked by NOD32 antivirus system. > http://www.nod32.com > > > [As partes desta mensagem que não continham texto foram removidas] > > > > -- > <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> > > > > > > *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE > <http://br.rd.yahoo.com/SIG=12fe9h0uh/M=386470.7632849.8508174.2369893/D=brclubs/S=2137111264:HM/Y=BR/EXP=1135173783/A=3135788/R=2/id=noscript/SIG=12c39trgo/*http://ad.br.doubleclick.net/clk;22846485;12120066;a?http://www.hoteis.com> > ------------------------------ > *Links do Yahoo! Grupos* > > - Para visitar o site do seu grupo na web, acesse: > http://br.groups.yahoo.com/group/delphi-br/ > > - Para sair deste grupo, envie um e-mail para: > [EMAIL PROTECTED]<[EMAIL PROTECTED]> > > - O uso que você faz do Yahoo! Grupos está sujeito aos Termos do > Serviço do Yahoo! <http://br.yahoo.com/info/utos.html>. > > [As partes desta mensagem que não continham texto foram removidas] -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html