Download - DbGrid Delphi
-
Verunatablaenuncomboyguardarelelementoelegidoenotratabla.UsamoselcomponenteDBLookupComboBoxPropiedades DataSource y DataField, es donde va a guardar este dato seleccionado
Propiedades ListSource y ListField, es la tabla donde estn los posibles valores
Propiedad KeyValue, es el valor que guarda.TablamaestrodetalleSetratadequealelegiruncampodeunatablageneral(Expedientes)nosmuestrelosdatosasociadosenotratabla(Fases)yrelacionadosconeseregistro.Laconexin,ADOConnection1,eslamismaqueenlatablamaestra.Latablamaestra(queveremosenundbgExpedientes)tieneasociados:
Unatabla(ADOTable1Expedientes)conectadaconADOConnection1yasociadalatablaT_Expedientes.Yundatasource(DataSource1)queenlapropiedadDataSettienevinculadalatablaanteriorADOTable1.
Latabladedetalle(queveremosenunDBGrid2)tieneasociados:Unatabla(ADOTable4Fases)conectadaconADOConnection1yasociadalatablaT_Fases.LapropiedadMasterFieldsserDataSource1ylapropiedadMasterFieldsserIdExpediente,queeselcampoquerelacionalasdostablasyqueajustaremospicandoenelbotnconlostrespuntosenpropiedadesdelADOTableFases.
Yundatasource(DataSource4)queenlapropiedadDataSettienevinculadalatablaanteriorADOTable4.
-
Ahoracadavezquecambieelregistrodelatablamaestra(DBGRid1),elDBGrid2delatabladetallemostrarlosregistrosrelacionados.
MostrarunDbGridconcasillasdeverificacinydesplegablesconopciones.UtilizamosuncomponentequesellamaDbGridEhyqueentreotrascosaspermitehacertodoeso.ElcomponentehayqueasociarloalatablaquequeremosmostrarconalpropiedadDataSource.Despusdeberemoscolocarlascolumnasquequeremosvermedianteeleditordcolumnas.CadacolumnalasociaremosuncampoconlapropiedadFieldNamequenospondrelttulodelacolumna.Casilladeverificacin:SielcampoesbooleanoenlaspropiedadesdelacolumnaelegiremoslapropiedadCheckBoxesylapondremosenTrue.Normalmenteloponeautomticamenteyaquealasociarlataladetectaqueesbooleano.Casillacondesplegable:EnestecasodeberemoselegirelorigendelosdatosquesepresentarneneldesplegabledelacolumnaElegiremosenDropDrowBoxlapropiedadListSource(unDataSetquetieneasociadalatablaconlosvaloresamostrareneldesplegabl)yenLookupParamslaspropiedadesLookupDataSet(latablaoconsultaasociadaalDatasetanterior),ylaspropiedadesKeyFieldNames(campodelatablaprincipal),LookupDisplayFieldName(elcampodelatablaSecundariaqueveremos),yLookupKeyFieldNames(campodelatablasecundariaquelarelacionaconlatablaprincipal).Estasegundapartesepuedehacerhaciendodobleclickencualquieradeloscamposdepropiedadyrellenandoeldialogoquesepresenta: