protected void btnChangePaging_Click(object sender, EventArgs e)
 {
     EntityMapper eMapper = new EntityMapper(Utils.LocalizedLanguage);
         List<ISTAT.Entity.Categorization> lCategorization = eMapper.GetCategorizationList(_sdmxObjects);
         int numberOfRows = 0;
         if ( !txtNumberOfRows.Text.Trim().Equals( string.Empty ) && int.TryParse( txtNumberOfRows.Text, out numberOfRows ) )
         {
             if ( numberOfRows > 0 )
             {
                 gridView.PageSize = numberOfRows;
             }
             else
             {
                 gridView.PageSize = Utils.GeneralCategorizationGridNumberRow;
                 txtNumberOfRows.Text = Utils.GeneralCategorizationGridNumberRow.ToString();
             }
         }
         else if ( !txtNumberOfRows.Text.Trim().Equals( string.Empty ) && !int.TryParse( txtNumberOfRows.Text, out numberOfRows ) )
         {
             Utils.ShowDialog( Resources.Messages.err_wrong_rows_number_pagination );
             return;
         }
         else if ( txtNumberOfRows.Text.Trim().Equals( string.Empty ) )
         {
             gridView.PageSize = Utils.GeneralCategorizationGridNumberRow;
             txtNumberOfRows.Text = Utils.GeneralCategorizationGridNumberRow.ToString();
         }
         gridView.DataSourceID = null;
         gridView.DataSource = lCategorization;
         gridView.DataBind();
 }
        private void BindData()
        {
            EntityMapper eMapper = new EntityMapper(Utils.LocalizedLanguage);
            List<ISTAT.Entity.Categorization> lCategorization = eMapper.GetCategorizationList(_sdmxObjects);
            int numberOfRows = 0;

            if ( !txtNumberOfRows.Text.Trim().Equals( string.Empty ) && int.TryParse( txtNumberOfRows.Text, out numberOfRows ) )
            {
                gridView.PageSize = numberOfRows;
            }
            else
            {
                gridView.PageSize = Utils.GeneralCategorizationGridNumberRow;
            }
            lblNumberOfTotalElements.Text = string.Format( Resources.Messages.lbl_number_of_total_rows, lCategorization.Count.ToString() );
            gridView.DataSourceID = null;
            gridView.DataSource = lCategorization;
            gridView.DataBind();

            if ( lCategorization.Count == 0 )
            {
                txtNumberOfRows.Visible = false;
                lblNumberOfRows.Visible = false;
                btnChangePaging.Visible = false;
            }
            else
            {
                txtNumberOfRows.Visible = true;
                lblNumberOfRows.Visible = true;
                btnChangePaging.Visible = true;
            }
        }
        protected void OnSorting(object sender, GridViewSortEventArgs e)
        {
            EntityMapper eMapper = new EntityMapper(Utils.LocalizedLanguage);
            List<ISTAT.Entity.Categorization> lCategorization = eMapper.GetCategorizationList(_sdmxObjects);

            if ((SortDirection)ViewState["SortExpr"] == SortDirection.Ascending)
            {
                lCategorization = lCategorization.OrderBy(x => TypeHelper.GetPropertyValue(x, e.SortExpression)).Reverse().ToList();
                ViewState["SortExpr"] = SortDirection.Descending;
            }
            else
            {
                lCategorization = lCategorization.OrderBy(x => TypeHelper.GetPropertyValue(x, e.SortExpression)).ToList();
                ViewState["SortExpr"] = SortDirection.Ascending;
            }

            int numberOfRows = 0;

            if ( !txtNumberOfRows.Text.Trim().Equals( string.Empty ) && int.TryParse( txtNumberOfRows.Text, out numberOfRows ) )
            {
                gridView.PageSize = numberOfRows;
            }
            else
            {
                gridView.PageSize = Utils.GeneralCategorizationGridNumberRow;
            }

            gridView.DataSourceID = null;
            gridView.DataSource = lCategorization;
            gridView.DataBind();
        }