PDA

Ver la Versión Completa : Campos ReadOnly y Required en ClientDataset


gatosoft
26-04-2012, 21:53:13
Buen día amigos,

Les comento mi problema en espera de su ayuda:

Tengo un módulo que recibe una variable String que contiene un archivo XML. Este archivo lo cargo en un ClientDataset con la sentencia:

ClientDataset1.XMLData := MyVariableString;

El módulo debe permitir al usuario realizar algunas tareas sobre los datos (Insert, Update, Delete).... sin afectar la data real, lo cual quiere decir que nunca haré un ApplyUdates... el objetivo es entregar los datos al usuario y que se divierta con ellos sin hacer daños... pero bueno, ese no es el punto.

El problema está en que las consultas que llegan vienen con validaciones desde la base de datos, como: El campo es requerido, o el campo es de solo lectura....

He intentado después de hacer el cargue de datos hacer modificaciones como:

cdsConsulta.Fields[i].Required := False;
cdsConsulta.Fields[i].ReadOnly := False;


Pero no sucede nada... de hecho, hago la prueba de guardar los archivos antes y después de estas modificaciones y efectivamente no sucede nada en el ClientDataset....

cdsConsulta.SaveToFile('c:\salida1.xml');
for i := 0 to cdsConsulta.FieldCount-1 do
Begin
cdsConsulta.Fields[i].Required := False;
cdsConsulta.Fields[i].ReadOnly := False;
End;//for i
cdsConsulta.SaveToFile('c:\salida2.xml');


Un fragmento del XML es el siguiente (Antes y después):

<FIELDS>
<FIELD attrname="tid_codigo" fieldtype="i4"/>
<FIELD attrname="tid_pai_codigo" fieldtype="i4" required="true"/>
<FIELD attrname="pai_codigoiso" fieldtype="string.uni" readonly="true" WIDTH="10"/>
<FIELD attrname="tid_nombre" fieldtype="string.uni" required="true" WIDTH="120"/>
<FIELD attrname="tid_descripcion" fieldtype="string.uni" WIDTH="200"/>
<FIELD attrname="tid_estado" fieldtype="string.uni" required="true" WIDTH="10"/>
</FIELDS>


Les agradezco sus opiniones...!

PDTA: Trabajo con XE

Al González
26-04-2012, 23:11:26
Hola gatosoft.

Que agradable es verte activo nuevamente en el foro. :)

Creo que el problema que describes tiene que ver con esto (http://www.clubdelphi.com/foros/showthread.php?p=374599#post374599).

Saludos.

gatosoft
26-04-2012, 23:23:28
Muchas gracias AL..!!!! solucionado...!!!

:rolleyes: No se como pude dejar que esto pasara... me hizo falta un poco de investigación sobre temas ya resueltos... :eek:

Y pues si... ahora tengo mas tiempo para mi y mis proyectos (personales y de Software) así que espero estar mas a menudo por acá...

un saludo,