Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   poner grid en blanco (https://www.clubdelphi.com/foros/showthread.php?t=55145)

sargento elias 09-04-2008 13:11:46

poner grid en blanco
 
2 cosillas

1.- como puedo hacer para que un Dbgrid me aperzca inicialmente vacio (contiene datos of course).

2.- En el mismo grid tengo campos editables que se me guardan al cambiar de registro, pero claro en el último registro me aparece otro registro en blanco un poco indeseable, que me aconsejais?

gracias.

Lepe 09-04-2008 14:04:55

1.- De dos formas:
- con: dbgrid1.Datasource := nil;
- o bien que la consulta no tenga resultados o que esté cerrada Dbgrid1.datasource.dataset.Close;


2.- El código aclararía mucho, pero básicamente, en el afterScroll, comprueba que está en modo edidición para ordenar guardar los campos editables.

Saludos

juanlaplata 09-04-2008 14:08:19

Si no me equivoco, el DBGrid es el componente que sirve para visualizar los datos de cualquier "Dataset" , "Query", etc en forma de grilla. Por lo tanto los datos no son del DBGrid sino de estos ultimos. Por lo tanto si estan conectados y hay datos se ve. En mi caso tome la costumbre de que los DBgrid no sean editables y doy a insertar o modif con Edits o DBEdits segun el caso.

sargento elias 09-04-2008 15:52:09

lepe gracias por lo del grid.

La verdad que no puedo poner código, así que lo explicaré mas detenidamente.

en el grid me tienen que salir filtradas unas busquedas,vale.

tengo un campo IMPORTE, otro calculado PENDIENTE y otro ENTREGAS A CUENTA.Me han pedido que en el campo entregas a cuenta pueda introducir una cantidad que se restará a importe y actulizará el campo pendiente(una simple resta) hasta ahí bien, pero la actualizacion solo la realizo cuando llego al ultimo campo del registro y pulso enter(me pasa al siguiente registro) Eso va perfecto.

Pero cuando llego al ultimo registro que me muestra el grid y a su ultimo campo, para actualizarlo he de pulsar enter y me pasa a un registro nuevo en blanco que me gustaria que no apareciera o no pudiera escribir sobre el.

juanlaplata: Yo prefiero controlarlo por edits tb, pero es que me lo han pedido así.

juanlaplata 09-04-2008 19:41:53

Bueno. Si el filtrado esta OK. Puedes ver la cantidad de filas que te Devuelve dicho filtro (DataSet.RecordCount). Y verificar si se encuentra el dicha fila (DataSet.RecNo = DataSet.RecordCount), no se puede insertar . No me acuerdo bien el hilo pero lo habia leido en este foro. Lo busco y lo agrego aqui mismo.

Edit: aqui el tema que comentaba: http://www.clubdelphi.com/foros/show...rtar+en+dbgrid

eduarcol 09-04-2008 20:51:39

en el evento beforeInsert del dataset relacionado al dbgrid escribe: ABORT;

Lepe 10-04-2008 09:54:55

¿No será que te falta un DBNavigator?

Si para guardar necesitas pulsar "intro", es señal de que no tienes un DBNavigator, quizás sea la solución óptima. Puedes ocultar todos los botones y dejar sólo Guardar, insertar y cancelar.

Saludos

sargento elias 10-04-2008 10:55:44

con el abort me va al pelo

Muchas Gracias;


La franja horaria es GMT +2. Ahora son las 10:38:22.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi