![]() |
Item en dbgrid
Hola amigos
Pengo un DBGrid con varias columnas en una aplicacion. Tengo algunos valores en la propiedad PickList de algunas columnas. El problema es el siguiente, como puedo asignar uno de esos valores para que salga por defecto. En el caso de las columnas que no tienen PickList como puedo introducurles algun valor a traves del codigo ? O sea algo similar a lo que hacemos con un Combobox escojer el valor a mostrar por defecto Código:
ComboBox1->ItemIndex = 4;Código:
ComboBox1->Items->Add(ADOQuery1->FieldByName("campo")->AsString)Código:
ComboBox1->Items->Add("cualquier cosa") |
Hola impadron.
Te pongo un ejemplo de como agregar valores a PickList (TStrings) de determinada columna, por código. Código:
...Saludos. |
muchas gracias ecfisa por tu ayuda en estos tres temas, pero el problema realmente esta en definir uno de estos valores que agregamos para que salga por defecto ya seleccionado, q el usuario no tenga que desplegar la lista y seleccionarlo.
El otro asunto es como poder introducir valores en una celda del dbgrid, o sea escribirle el valor directamente como si fuera un edit Código:
Edit1->Text = "un texto"; |
Hola impadrón.
Cita:
(que yo no conozca no quiere decir que no exista o se pueda ;)). En cuanto a asignar un valor a una celda, no te olvides que el TDBGrid es como una "representación visual" de los datos que existen en un TDataSet, por lo que podrías hacer algo así: Código:
DBGrid1->DataSource->DataSet->Edit();Un saludo. |
Cita:
Código:
ADOQuery6->SQL->Clear();Con respecto a lo de asignar un valor a una celda, bueno voy a probar con la idea que me acabas de dara ver que tal resulta. Saludos y Muchas Gracias |
Hola...
Los TDataSet tienen un evento llamado OnNewRecord, el cual te puede servir para inicializar valores en un registro nuevo. Esto te lo comento por que me imagino que quieres que al insertar un nuevo registro en la rejilla el campo que cuenta con el PickList ya tenga seleccionado un valor. Saludos... |
Cita:
gracias |
Hola...
Pues básicamente la idea es la misma que te mencionó ecfisa, solamente que tienes que hacerlo desde el evento que te comenté:
Saludos... |
Cita:
Creo que la traduccion es algo asi no ? Código:
void __fastcall TForm2::ADOQuery1NewRecord(TDataSet *DataSet) |
Cita:
Código:
DBGrid1->DataSource->DataSet->FieldByName("campo")->AsString = "Valor"; |
Hola...
Cita:
Código:
void __fastcall TForm2::ADOQuery1NewRecord(TDataSet *DataSet)Saludos... |
Cita:
Saludos. |
| La franja horaria es GMT +2. Ahora son las 07:23:15. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi