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:

Form 1

No evento OnCreate do formulário, insira o seguinte código para criar as colunas dinamicamente.

Código 1

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.

Form 1

É isso aí pessoal, espero que tenham gostado.

Até a próxima, um abraço.