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. |
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 |
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.
|
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í. |
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 |
en el evento beforeInsert del dataset relacionado al dbgrid escribe: ABORT;
|
¿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 |
con el abort me va al pelo
Muchas Gracias; |
La franja horaria es GMT +2. Ahora son las 08:13:01. |
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