private void HGDataBind() { DataSet ds = new DataSet(); //SisPackController.AdministrarGrillas.Configurar(this.hgLocalidadesCodigoPostal, "AgenciaCodigoPostalID", this.CantidadOpciones); IAgenciaCodigoPostal agenciaCodigoPostal = AgenciaCodigoPostalFactory.GetAgenciaCodigoPostal(); agenciaCodigoPostal.ProvinciaID = Utiles.Validaciones.obtieneEntero(ddlProvincia.SelectedValue); if (BusqAgenciaFiltroTerminal.Sucursal == string.Empty) { agenciaCodigoPostal.AgenciaTerminalIDFiltro = 0; agenciaCodigoPostal.PuntoRecepcionTerminalIDFiltro = 0; } else { if (Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroTerminal.AgenciaID) > 0) { agenciaCodigoPostal.AgenciaTerminalIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroTerminal.AgenciaID); } else { agenciaCodigoPostal.PuntoRecepcionTerminalIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroTerminal.AgenciaID) * -1; } } if (BusqAgenciaFiltroDomicilio.Sucursal == string.Empty) { agenciaCodigoPostal.AgenciaDomicilioIDFiltro = 0; agenciaCodigoPostal.PuntoRecepcionDomicilioIDFiltro = 0; } else { if (Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroDomicilio.AgenciaID) > 0) { agenciaCodigoPostal.AgenciaDomicilioIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroDomicilio.AgenciaID); } else { agenciaCodigoPostal.PuntoRecepcionDomicilioIDFiltro = Utiles.Validaciones.obtieneEntero(this.BusqAgenciaFiltroDomicilio.AgenciaID) * -1; } } agenciaCodigoPostal.CPDesdeFiltro = this.txtCPDesdeFiltro.Text; agenciaCodigoPostal.CPHastaFiltro = this.txtCPHastaFiltro.Text; ILocalidadAgenciaCodigoPostal localidadCodigoPostal = LocalidadAgenciaCodigoPostalFactory.GetLocalidadAgenciaCodigoPostal(); localidadCodigoPostal.ProvinciaID = Utiles.Validaciones.obtieneEntero(ddlProvincia.SelectedValue); DsAgenciaCodigoPostalDistribucion dsAgencias = agenciaCodigoPostal.GetAgenciasCodigoPostalDist(); DsLocalidadesAgenciaCodigoPostalDist dsLocalidades = localidadCodigoPostal.GetLocalidadesAgenciasCodigoPostalDist(); DsAgenciaCodigoPostalDistribucion.DatosRow[] drAgencias; DsLocalidadesAgenciaCodigoPostalDist.DatosRow[] drLocalidades; // Clono la estructura de la tabla ds.Tables.Add(dsAgencias.Tables[0].Clone()); ds.Tables[0].TableName = "Agencias"; drAgencias = (DsAgenciaCodigoPostalDistribucion.DatosRow[])dsAgencias.Datos.Select(); drLocalidades = (DsLocalidadesAgenciaCodigoPostalDist.DatosRow[])dsLocalidades.Datos.Select(); foreach (System.Data.DataRow row in drAgencias) { ds.Tables["Agencias"].ImportRow(row); } ds.Tables.Add(dsLocalidades.Tables[0].Clone()); ds.Tables[1].TableName = "Localidades"; foreach (System.Data.DataRow row in drLocalidades) { ds.Tables["Localidades"].ImportRow(row); } DataColumn dc1 = ds.Tables["Agencias"].Columns["AgenciaCodigoPostalDistribID"], dc2 = ds.Tables["Localidades"].Columns["AgenciaCodigoPostalDistribID"]; DataRelation dr = new DataRelation("AgenciaLocalidades", dc1, dc2, false); ds.Relations.Add(dr); Session["DsLocalidadesExcel"] = ds; this.hgLocalidadesCodigoPostalDist.DataSource = ds; this.hgLocalidadesCodigoPostalDist.DataMember = "Agencias"; this.hgLocalidadesCodigoPostalDist.DataBind(); }