PDA

Ver la Versión Completa : Agregar datos a un DBGrid


maycampana
03-10-2012, 21:18:07
Hola amigos, necesitaría saber si es posible mostrar un texto fijo en una celda del DBGrid además del dato que trae de la base de datos. Lo que quería hacer es en un listado de socios mostrar en una columna la cuenta de Facebook de cada uno, por ej. que se muestre 'facebook.com/' como texto igual para todos y el nombre de la cuenta personal lo traigo de la tabla de datos personales.
La idea era que con un click sobre la celda poder conectanos a su cuenta de Facebook. Se puede en el evento OnCellClick u algún otro evento programar eso? En un botón común ya lo pude hacer funcionar pero no se en la grilla. Gracias

Casimiro Notevi
03-10-2012, 21:32:54
En el select del dataset que se trae los datos puedes añadirlo, algo así:

select codigo, 'facebook.com/' || nombresociedad from tbClientes

maeyanes
03-10-2012, 21:38:27
Hola...

Puedes usar un campo calculado y en el evento OnCalFields del DataSet, generas el texto a mostrar:


procedure TMyForm.TableCalcField(Sender: TDataSet);
begin
FacebookField.Value := Format('http://www.facebook.com/%s', [TableFaceUserName.AsString])
end;


Saludos...

roman
03-10-2012, 21:43:31
Ya Casimiro te puso una opción. Otra opción es uar el evento OnGetText del campo correspondiente.

Pero en realidad, una cosa es mostrar el texto deseado y otra cosa es reaccionar ante el click y abrir la página. Ni siquiera tendrías porqué agregar el texto fijo. Dices que ya lo lograste en un botón, entonces no entiendo porqué no puedes hacer lo mismo en el evento OnCellClick. Simplemente tendrías que tomar el nombrfe del usuario con


Column.Field.AsString


y concatenarle el resto.

Agrego: No había visto el mensaje de maeyanes, pero aplica lo mismo que te digo.

// Saludos

maycampana
05-10-2012, 15:09:26
Gracias chicos, a mi tampoco me gusta la idea de agregar en todas las celdas a la cuenta de cada uno también la parte fija "facebook.com/". Yo lo programé en un botón, con la ayuda de uds., y todo funcionó bien y muy contenta estaba yo. Pasa que me pidieron si podía hacer que la conexión se logré desde cada celda, como un link, se entiende? Gracias voy a probar lo que me ofrecieron y después les cuento. Saludos