dbgrid delphi

3
Ver una tabla en un combo y guardar el elemento elegido en otra tabla. Usamos el componente DBLookupComboBox Propiedades DataSource y DataField, es donde va a guardar este dato seleccionado Propiedades ListSource y ListField, es la tabla donde están los posibles valores Propiedad KeyValue, es el valor que guarda. Tabla maestrodetalle Se trata de que al elegir un campo de una tabla general (Expedientes) nos muestre los datos asociados en otra tabla (Fases) y relacionados con ese registro. La conexión, ADOConnection1, es la misma que en la tabla maestra. La tabla maestra (que veremos en un dbgExpedientes) tiene asociados: Una tabla (ADOTable1 Expedientes) conectada con ADOConnection1 y asociada la tabla T_Expedientes. Y un datasource (DataSource1) que en la propiedad DataSet tiene vinculada la tabla anterior ADOTable1. La tabla de detalle (que veremos en un DBGrid2) tiene asociados: Una tabla (ADOTable4 Fases) conectada con ADOConnection1 y asociada la tabla T_Fases. La propiedad MasterFields será DataSource1 y la propiedad MasterFields será Id Expediente, que es el campo que relaciona las dos tablas y que ajustaremos picando en el botón con los tres puntos en propiedades del ADOTable Fases. Y un datasource (DataSource4) que en la propiedad DataSet tiene vinculada la tabla anterior ADOTable4.

Upload: garcia2210

Post on 19-Oct-2015

71 views

Category:

Documents


6 download

TRANSCRIPT

  • 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: