private void HGDataBind()
        {
            DataSet ds = new DataSet();

            SisPackController.AdministrarGrillas.Configurar(this.hgAgencias, "AgenciaID", this.CantidadOpciones);

            if (Session["DsGuiasPendientesConsul"] == null)
            {
                string tipoGuia        = this.rbtGuiaA.Checked ? "A" : this.rbtGuiaB.Checked ? "B" : "",
                       sucGuia         = this.txtSucGuia.Text != "" ? this.txtSucGuia.Text : string.Empty;
                DateTime fechaEmiDesde = this.txtFechaEmisionDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaEmisionDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"),
                         fechaEmiHasta = this.txtFechaEmisionHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaEmisionHasta.Text) : DateTime.Today,
                         fechaRcpDesde = this.txtFechaRecepcionDesde.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaRecepcionDesde.Text) : Utiles.Fechas.FormatFechaDDMMYYYY("01/01/1900"),
                         fechaRcpHasta = this.txtFechaRecepcionHasta.Text != "" ? Utiles.Fechas.FormatFechaDDMMYYYY(this.txtFechaRecepcionHasta.Text) : DateTime.Today;
                int valorEstadia       = this.txtDiasEstadia.Text != "" ? Convert.ToInt32(this.txtDiasEstadia.Text) : 0,
                    nroGuia            = this.txtNroGuia.Text != "" ? Convert.ToInt32(this.txtNroGuia.Text) : 0;

                IAgencia   agencia    = AgenciaFactory.GetAgencia();
                DsAgencias dsAgencias = agencia.GetAgenciasConGuiasPendDataSet(fechaEmiDesde, fechaEmiHasta, fechaRcpDesde, fechaRcpHasta, tipoGuia, valorEstadia, nroGuia, sucGuia);

                DsAgencias.DatosRow[] drAgencias;
                if (!this.txtSucursalDGI.Text.Equals(""))
                {
                    drAgencias = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("SucursalDGI = '" + this.txtSucursalDGI.Text + "'");
                }
                else
                {
                    drAgencias = (DsAgencias.DatosRow[])dsAgencias.Datos.Select("", "SucursalDGI");
                }

                ds.Tables.Add(dsAgencias.Tables[0].Clone());
                ds.Tables[0].TableName = "Agencias";
                foreach (System.Data.DataRow row in drAgencias)
                {
                    ds.Tables["Agencias"].ImportRow(row);
                }

                IGuia guia = GuiaFactory.GetGuia();
                guia.TipoGuia        = tipoGuia;
                guia.NroGuia         = nroGuia;
                guia.NroSucursalGuia = sucGuia;
                DsGuias dsGuias = guia.GetGuiasPendientesDataSet(fechaEmiDesde, fechaEmiHasta, fechaRcpDesde, fechaRcpHasta, valorEstadia);

                DsGuias dsGuiasAux = new DsGuias();
                if (!this.txtSucursalDGI.Text.Equals(""))
                {
                    agencia.SucursalDGI = this.txtSucursalDGI.Text;
                    agencia.ConsultarBySucursal();
                    DsGuias.DatosRow[] drGuias = (DsGuias.DatosRow[])dsGuias.Datos.Select("AgenciaDestinoID = " + agencia.AgenciaID);
                    foreach (System.Data.DataRow row in drGuias)
                    {
                        dsGuiasAux.Datos.ImportRow(row);
                    }
                }
                else
                {
                    dsGuiasAux = dsGuias;
                }

                ds.Tables.Add(dsGuiasAux.Tables[0].Clone());
                ds.Tables[1].TableName = "Guias";
                //foreach(System.Data.DataRow row in drGuias)
                //    ds.Tables["Guias"].ImportRow(row);

                DataColumn colSel = ds.Tables[1].Columns.Add();
                colSel.ColumnName   = "Selec";
                colSel.DataType     = typeof(bool);
                colSel.DefaultValue = true;

                DataColumn colGuiaOrig = ds.Tables[1].Columns.Add();
                colGuiaOrig.ColumnName   = "GuiaOriginal1";
                colGuiaOrig.DataType     = typeof(bool);
                colGuiaOrig.DefaultValue = true;

                DataColumn colAAdmin = ds.Tables[1].Columns.Add();
                colAAdmin.ColumnName   = "AAdmin1";
                colAAdmin.DataType     = typeof(bool);
                colAAdmin.DefaultValue = true;


                int index = 0;
                foreach (System.Data.DataRow row in dsGuiasAux.Datos.Rows)
                {
                    ds.Tables["Guias"].ImportRow(row);

                    /*SFE: Modificacion para marcar como devueltas las primeras 50 guias de la lista. Solicitado por Fabian.*/
                    index = ds.Tables["Guias"].Rows.Count;
                    if (index > 50)
                    {
                        ds.Tables["Guias"].Rows[index - 1]["Selec"] = false;
                    }
                }

                DataColumn dc1  = ds.Tables["Agencias"].Columns["AgenciaID"],
                           dc2  = ds.Tables["Guias"].Columns["AgenciaDestinoID"];
                DataRelation dr = new DataRelation("GuiasAgencia", dc1, dc2, false);
                ds.Relations.Add(dr);

                Session["DsGuiasPendientesConsul"] = ds;
            }
            else
            {
                ds = (DataSet)Session["DsGuiasPendientesConsul"];
            }

            this.hgAgencias.DataSource = ds;
            this.hgAgencias.DataMember = "Agencias";
            this.hgAgencias.DataBind();
        }