private void dataGridView_Scroll(object sender, ScrollEventArgs e)
        {
            HScrollBar hScrollBar = dataGridView.Controls.OfType <HScrollBar>().First();

            if (hScrollBar.Visible && e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
            {
                GridFooter.HorizontalScroll.Maximum     = hScrollBar.Maximum;
                GridFooter.HorizontalScroll.Minimum     = hScrollBar.Minimum;
                GridFooter.HorizontalScroll.LargeChange = hScrollBar.LargeChange;
                GridFooter.HorizontalScroll.SmallChange = hScrollBar.SmallChange;
                GridFooter.HorizontalScroll.Value       = e.NewValue;
                GridFooter.Update();
                dataGridView.Update();
            }
        }
        private void PopulateGrid()
        {
            Grid.DataSource = this.Datos;
            Grid.DataBind();
            GridFooter.DataSource = this.datosFooter;
            GridFooter.DataBind();

            // Reviso si los datos están en memoria
            if (Session["DsImportesVentas_FacturasConceptos_lstMontosVentas"] != null)
            {
                // Los datos están en memoria
                DsImportesVentas ds = (DsImportesVentas)Session["DsImportesVentas_FacturasConceptos_lstMontosVentas"];
                gridFacturasConceptos.DataSource = ds.FacturasConceptos;
                gridFacturasConceptos.DataBind();
            }
        }