Ver Mensaje Individual
  #7  
Antiguo 21-12-2021
feliz-58 feliz-58 is offline
Miembro
 
Registrado: sep 2012
Posts: 314
Reputación: 12
feliz-58 Va por buen camino
Smile

Cita:
Empezado por kuan-yiu Ver Mensaje
Faltan datos. No has dicho como está definido en la BD, ni como es la consulta, ni si has dado de alta los campos en el ClientDataSet o los toma dinámicamente de la consulta.
Si el campo es editable con un simple: "micampo.size := longitud" deberías poder cambiarlo. O directamente en el formulario.
Si este cambio no es persistente es porque haces algo más con ese campo.

Revisa que el dato original no tenga esa limitación de tamaño o que utilizas algún paso intermedio que imponga una limitación.
Revisa que el componente de formulario (grid, dbedit...) no tenga una máscara, maxlength, size, displaywidth.
Revisa que no cambies por código el tamaño, o que hagas la carga o definición de los campos una segunda vez que machaque lo que has puesto.
Pon breakpoints en el código, o mensajes o lo que más te guste, para ver en que punto se modifica el size del campo en cuestión.
Hola,
1- Como Dije arriba, lo lleno con una consulta de un Query, la cual Hace un Select de la base de datos.
La tabla es Productos.
Mi campo en la tabla es Descripcion Nvarchar 80.
SQL Server.

La consulta es:
Código SQL [-]
'Select Cod, Descripcion, Existencia, Categoria, SubCategoria, Suplidor, '+
             'Serie, Cod_Produc_Suplidor as Cod_Suplidor FROM Productos';

Para Trae los datos al ClientDataSet lo hago asi:
Código Delphi [-]
 Tfactura.Insert;
TFacturaDESCRIPCION.AsString := FAgregarproducto.Qtemp.FieldByname('Descripcion').AsString;

Nota: La unica cosa que hago que tenga que ver con la forma en que se muestra esa columna, es que le doy una alineacion centrada. No tiene que ver pero lo comento.
Código Delphi [-]
DBGrid1.Columns[3].Title.Alignment := taCenter;

Cuando en el OnShow del Form, aplico lo de
Código Delphi [-]
TfacturaDescripcion.size := 100;
Tafactura.Active;
Me da error de fuera de Rango.


2- Lo del campo original ya mencione que son 80.
3- El DBgrid muestra los datos cuando se habre el ClientDataSet, asi que no estan predefinidos ni delimitados de ninguna clase.
4- No cambio por codigo el tamaño.

Creo que respondi todo.
Gracias.

Última edición por feliz-58 fecha: 21-12-2021 a las 15:43:44.
Responder Con Cita