Ir al contenido


Foto

Eliminar una coluimna del dataset


  • Por favor identifícate para responder
2 respuestas en este tema

#1 wbarrantes

wbarrantes

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 15 octubre 2010 - 05:22

alguien podria ayudarme con esto...  ya llevo dias y no se donde mas buscar...

tengo el siguiente codigo para tratar de eliminar una columna de un dataset...
1. las columnas que contiene son variables, y se establecen en tiempo de ejecucion, por lo que no puedo borrar con las propiedades del dataset, con el click derecho.
2. la eliminacion de la columna del dataset quiero hacerla solo alli, osea no se aplica a la base de datos...  lo que vaya a borrar...
3. posterior a eliminar la columna que no desee, guardo el resultado en un xml, de la siguiente manera


delphi
  1. ClientDataSet1.SaveToFile('c:\ejemplo.xml')


por lo que ocupo eliminar la columna para posteriormente guardar el resultado

un ejemplo de lo que trato de hacer



delphi
  1. index:=data.FieldDefs.IndexOf('Apellido1');
  2. if index>-1 then
  3. begin
  4. //Lo elimina de la lista de campos
  5.   XXX:=  data.FieldCount ;
  6. data.FieldDefs.Delete(index);
  7.   XXX:=  data.FieldCount ;
  8. end;



pero XXX sigue teniendo la misma cantidad de columnas, despues de la ejecucion....



  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 15 octubre 2010 - 05:34

Hola wbarrantes, bienvenido a DelphiAccess

¿ Ese campo lo utilizas para mostrarlo en tu forma ?

Si no, ¿ porque no utilizas campos persistentes y solo agregas los que deseas exportar a tu archivo xml ?

Salud OS
  • 0

#3 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 15 octubre 2010 - 05:44

Ensaya con esto:



delphi
  1. index:=data.FieldDefs.IndexOf('Apellido1');
  2. if index>-1 then
  3. begin
  4. //Lo elimina de la lista de campos
  5.   XXX:=  data.FieldCount ;
  6. data.FieldDefs.Delete(index);
  7. data.FieldDefs.Update;
  8.   XXX:=  data.FieldCount ;
  9. end;


  • 0




IP.Board spam blocked by CleanTalk.