Domingo 17 de Noviembre de 2024, 22:45
SoloCodigo
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
Inicio
Foros
Chat
Ayuda
Buscar
Ingresar
Registrarse
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
Editar Stringgrid
« anterior
próximo »
Imprimir
Páginas: [
1
]
Autor
Tema: Editar Stringgrid (Leído 8458 veces)
jojobax_
Miembro activo
Mensajes: 44
Editar Stringgrid
«
en:
Miércoles 28 de Mayo de 2008, 03:51 »
0
Esa es mi duda amigos:
Como al hacer clic en un botón dar la posibilidad de editar SOLO la celda seleccionada (StringGridx->Row) ?
Otra duda sería que al hacer clic en otro botón los datos escritos en las celdas se guarden y queden asi (los guardo en un archivo binario)
Probe con el EditMode=true pero no funciona.
Espero sus respuestas
Tweet
fachamix
Miembro MUY activo
Mensajes: 173
Nacionalidad:
Re: Editar Stringgrid
«
Respuesta #1 en:
Miércoles 28 de Mayo de 2008, 18:57 »
0
primero , en la ayuda que trae el borland , trae una especificacion detallada de todos los controles que vienen con el seria bueno que explores hasta artarte esa ayuda (artarte porke no esta bien organziada, para mi gusto)
creo , creo, no estoy en mi pc ahora, que tienes que usar Columns
[y] para referirte a una columna en particular
tipo : StrGrid->Columns[1][1]->.........
prueba
La muerte vive celosa, de mi amada flor la vida. Dicen que me anda buscando, ojala si un dia me pilla. Me alle MACHAO Y CANTANDO PA QUE SE MUERA DE ENVIDIA
jojobax_
Miembro activo
Mensajes: 44
Re: Editar Stringgrid
«
Respuesta #2 en:
Jueves 29 de Mayo de 2008, 17:13 »
0
Gracias por contestar fachamix, el tema es que se como editar las celdas, lo que quiero hacer es que
la celda se "transforme" en un edit para que el usuario pueda escribir directamente sobre ella
Espero sus respuestas
Elforious
Miembro activo
Mensajes: 44
Re: Editar Stringgrid
«
Respuesta #3 en:
Viernes 30 de Mayo de 2008, 04:17 »
0
Creo que lo que buscas está en "Object Inspector", "Options", "goEditing = true";
y si querés que no se pueda editar una sola columna (fila) o varias, te vas al evento "OnKeyPress", y le dices que, por ejemplo,
si (StringGrid1->Col == 0) entonces
Key = 0;
Espero haber ayudado.
fachamix
Miembro MUY activo
Mensajes: 173
Nacionalidad:
Re: Editar Stringgrid
«
Respuesta #4 en:
Viernes 30 de Mayo de 2008, 04:43 »
0
aaaaaaaaaa fijate entonces
cuando cargas el stringgrid al formulario , fijate en la barra de propiedades (esa ventanita a tu derecha seguramente con todas las opcions del conmtrol, para poerle el nombre, etc), la opcion esta ahi, dice Options con un mas, expandi esa opcion haciendo click en el mas, y vas a ver la opcion goEditing o algo asi que esta el FALSE, cambiala a TRUE y .... vuala!
La muerte vive celosa, de mi amada flor la vida. Dicen que me anda buscando, ojala si un dia me pilla. Me alle MACHAO Y CANTANDO PA QUE SE MUERA DE ENVIDIA
Linspire
Miembro MUY activo
Mensajes: 232
Re: Editar Stringgrid
«
Respuesta #5 en:
Viernes 30 de Mayo de 2008, 08:32 »
0
mmmmm, me parece que puedo inspirarte de la siguiente forma, lo que puedes hacer es que al dar clic en el botón se ponga por ejemplo en la celda seleccionada un valor de la siguiente forma
Código: Text
StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row]="Celda editable";
//despues de esto programas el evento OnSelectCell del StringGrid
void __fastcall TForm1::StringGrid1SelectCell(TObject *Sender, long Col, long Row, bool &CanSelect)
{
if(StringGrid1->Cells[Col][Row]=="Celda editable")
CanSelect=true;
else
CanSelect=false;
}
obviamente la propiedad GoEditing debe estar a TRUE
Espero que te sirva y si no entendiste dime y te lo explico mejor
ah, y para guardar los datos de la celda puedes crear una matriz temporal que almacene los valores del StringGrid cuando hagas clic en el botón, obviamente la matriz debe ser de la misma dimensión que el stringgrid, y por ejemplo puedes hacer que se recorra el stringrid y se almacenen los valores en la matriz, esto es si solo quieres que el valor dure mientras se ejecuta el programa, de lo contrario puedes almacenarlo en un archivo de texto y sustituirlo las veces que desees con un nuevo archivo conteniendo nuevos valores...
[size=109]
My Blog de Programación
[/i][/b][/size]
´
[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]
Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.
el_shanky
Miembro MUY activo
Mensajes: 177
Re: Editar Stringgrid
«
Respuesta #6 en:
Sábado 31 de Mayo de 2008, 01:50 »
0
Man me habia tomado el trabajo de hacerte una explicación detallada de una solucion para tu problema pero andá saber con que criterio el admin me borra los posts...
EI aclarando lo evidente: el criterio es obvio, suena a necedad o estupidez que pretendas no verlo, cualquier mensaje donde cometas la estupidez de insultar a cualquier otro usuario (especialmente si lo haces sin ninguna necesidad y sin que este participando del hilo) se borrara. Y pese a que patalees y digas lo que digas, no es censura (toma nota de como se escribe esta palabra por favor) sino moderacion. Y para terminar sino te gusta ya sabes lo que podes hacer.
En fin para no escribir todo otra vez y que me lo borren te diré la idea central junto con el código central:
Con sto habilitas que las celdas sean editables:
Código: Text
StringGrid1->Options<< goEditing;
con esto lo deshabilitas:
Código: Text
StringGrid1->Options>> goEditing;
Bastante obvio lo c...
Ahora lo que yo habia epnsado para que solo peudas editar una celda es ahcer algún tipo de variabvls globales que guarden las coordenadas de la celda selecionada y si se selecciona otra que salte el segundo código que te pasé!
despues me contas
salute
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook
http://www.maxcode.com.ar
http://www.shanky.com.ar
jojobax_
Miembro activo
Mensajes: 44
Re: Editar Stringgrid
«
Respuesta #7 en:
Sábado 31 de Mayo de 2008, 05:29 »
0
mil gracias a todos, voy a probar sus codigos y despues les cuento como resolvi mi problema.
Pense que se podía de alguna manera "transformar" la fila seleccionada en una fila editable (como excel, osea que pase a ser una especie de Edit)
Lo del goEditing=true lo habia probado pero no pasa nada, el usuario no puede modificar nada
sigo probando amigos, saludosss
el_shanky
Miembro MUY activo
Mensajes: 177
Re: Editar Stringgrid
«
Respuesta #8 en:
Sábado 31 de Mayo de 2008, 19:48 »
0
Es que estas acostumbrado a usar el insepctor de objetos del borland, entonces claro si queres habilitar el goEditing le pones true y listo! pero la forma correcta de ahcerlo mediante código (y la que vas a necesitar vos para habilitarlo y deshabilitarlo segun conveniencia) es la que te puse antes.
Spero resuelvas lo tuyo! salute
"La programación hoy en día es una carrera entre los ingenieros de software intentado construir mejores y más eficientes programas a prueba de idiotas y el Universo intentando producir mejores y más grandes idiotas. De lejos, el Universo está ganando." - Rich Cook
http://www.maxcode.com.ar
http://www.shanky.com.ar
jojobax_
Miembro activo
Mensajes: 44
Re: Editar Stringgrid
«
Respuesta #9 en:
Sábado 31 de Mayo de 2008, 22:48 »
0
si, obvio que hay que hacerlo mediante codigo, además lo que quiero es que al seleccionar una fila y luego presionar un boton, esta sola se pueda editar. Tu idea Shanky la tenia pasa que no me sente mucho ultimamente a probar.
gracias a todos nuevamente
Imprimir
Páginas: [
1
]
« anterior
próximo »
SoloCodigo
»
Foros
»
Programación General
»
C/C++
»
C++ Builder
(Moderador:
Eternal Idol
) »
Editar Stringgrid