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)
-   -   Edición del Grid (https://www.clubdelphi.com/foros/showthread.php?t=1954)

TelloClos 03-07-2003 19:49:08

Edición del Grid
 
Hola otra vez!!! ( aún no me aburro)

esta vez el problemilla es el siguiente:

tengo una grid relacionada , a traves de un data source, a un procedimiento almacenado.
esta grid tiene dos celdas editables, sobre las cuales de forma satisfactoria puedo modificar su contenido al momento de posicionarme sobre estas en tiempo de ejecución.
el problema esta cuando yo deseo asignar un valor a una celda determinada por codigo.

ejemplo:

if tstringgrid(dbgListado).col = 11 then
if key = '*' then
dbgListado.columns[11].text := dbglistado.columns[9].text

o...

if tstringgrid(dbgListado).col = 11 then
if key = '*' then
dbgListado.columns[11].text := 'por favor funciona!'


me lanza una exepción diciendome :"que el conjunto de datos no esta ni en modo de edición ni de inserción..."

...ok esto puede lleguar a ser lógico, pero porque entonces me permite modificar el contenido en la grid cuando me posiciono sobre esta misma celda(11) con el cursor.

como dice un personaje de mi pais : Exijo una explicación!

de ante mano muchas gracias!

marcoszorrilla 03-07-2003 22:02:11

Sin entrar en la conveniencia de referirse a coordenadas y no al registro y campo concretos:

Código:

if tstringgrid(dbgListado).col = 11 then
if key = '*' then
MiQuery.Edit;
dbgListado.columns[11].text := 'por favor funciona!'

Un Saludo.

TelloClos 03-07-2003 23:10:43

gracias por contestar marcos!


existe si un pequeño inconveniente.
yo estoy utlizando un procedimiento almacenado, y este objeto no tiene la propiedad edit.

saludos!

marcoszorrilla 04-07-2003 15:59:04

Mírate la propiedad RequestLive y ponla a True.

Un Saludo.

TelloClos 04-07-2003 16:32:59

pero, la requestlive de que?????
el procedimiento almacenado no la tiene, el datsasource y el grid
tampoco.

Saludos!

marcoszorrilla 04-07-2003 16:38:20

Es cierto, no la tiene.
Quizás consultar la propiedad CanModify, para evitar al menos el error.

O ver UpdateSql, (componente).

Un Saludo.

TelloClos 04-07-2003 17:31:52

Hola!

"Quizás consultar la propiedad CanModify, para evitar al menos el error.": bueno consulte esta propiedad para verificar, o como dijiste tu evitar que se cayera mi aplicación, y lo simpatico fue que esta propiedad venia en "true" , o sea según esto yo tenia " permitido modificar" ...
...claro sólo en teoria ya que al realizar la asignación de valores me volvia a lanzar la excepción indicandome que mi DataSet no estaba ni en modo de inserción ni de edición ( a si de simpatico)

....en fin...

seguimos bucando ya un poco aburridos , pero con algo de esperanza hasta que chachan! a mi compañero se le prende la ampolleta :rolleyes:

y me pide ver si acaso el procedimiento tiene alguna propiedad EDIT o algo asi, y efectivamente si tenia esta propiedad y l inclumos de esta forma:


if tstringgrid(DBGListado).col = 11 then
if (key = '*') and (spritems.Canmodify= true) then
spritems.edit;
dbglistado.columns[11].field.value := 10


y Vuala! por fin nos resulto,

uno nunca deja de sorprenderse

mucha gracias marcos por la ayuda y el encaminamiento!!!

Saludos TelloClos

espero poder seguir molestando :D

TelloClos 04-07-2003 17:34:22

jajajaja

era la misma opción que tu me planteabas cuando me mostraste un ejemplo trabajando con un Query

asi es la vida....


La franja horaria es GMT +2. Ahora son las 20:05:00.

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