Persistindo em XML com ClientDataSet.
Olá pessoal, nesta quickTip mostrarei como criar colunas dinamicamente no clientDataSet.
Isso pode se tornar muito interessante se combinado com o recurso de salvar os dados do ClientDataSet em arquivos XML, dessa forma podemos permitir que o usuário crie campos customizados e grave informações em um arquivo XML.
Insira um DBGrid, um ClientDataSet e um DataSource no formulário e faça as devidas ligações entre eles. O Formulário deve parecer com o seguinte:
No evento OnCreate do formulário, insira o seguinte código para criar as colunas dinamicamente.
Como podemos ver no código àcima, nós declaramos duas variáveis, uma do tipo TStringField e outra do tipo TIntegerField, em seguida nós criamos o Field, damos um nome para o mesmo e alteramos a propriedade displayLabel.
Quando alteramos a propriedade dataSet para clientDataSet1, automaticamente o próprio Field irá se incluir na lista de fields ClientDataSet1, é por isso que não precisamos dar Fields.Add no clientDataSet.
Após isso nós damos um createDataSet para que a estrutura seja criada em memória e damos um open para abrir o dataSet e nos possibilitar ver a estrutura recém-criada.
É isso aí pessoal, espero que tenham gostado.
Até a próxima, um abraço.