| Quan en una aplicació web, en un ASHX, es fa un grid hi ha que fer una crida a la clsHelper LoadGrid amb uns paràmetres en concret. Aquests paràmetres es creen fent servir les classes clsColumna i clsCampBBDD que estàn explicades aquí. Cal tenir en compte que alhora de definir les columnes aquestes han d'estar en el mateix ordre que al grid. En el codi a continuació es poden veure exemples de columnes compostes per més d'un camp de BBDD, formatades, que passa si el valor és null, etc... Millor veiem l'exemple: 
private void LoadGrid()
{
    string JSON;
    StringCollection CampsClau = new StringCollection();
    List<clsColumna> ColumnesGrid = new List<clsColumna>();
    clsColumna ColumnaGrid;
    string PK_Arxiu = "";
    Dictionary<string, string> ValorsExtra = new Dictionary<string, string>();
    clsCampBBDD CampGridBBDD;
    clsDestruccio TA = new clsDestruccio(ConnStr);
    
    
    
    
    
    PK_Arxiu = clsHelper.ObtenirArxiu(IdPersona, ConnStr, null, null);
    
    
    CampsClau.Add("PK_Destruccio");
    CampsClau.Add("FK_TAAD");
    CampsClau.Add("Exped_I");
    CampsClau.Add("DataInici");
    CampsClau.Add("DataFi");
    CampsClau.Add("FK_Estat");
    CampsClau.Add("FK_Arxiu");
    
    
    ValorsExtra.Add("FK_Arxiu", PK_Arxiu);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "PK_Destruccio";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    
    ColumnaGrid.Separador = " - ";
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "codi_TAAD";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "Descripcio";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    
    ColumnaGrid.Separador = "/";
    CampGridBBDD = new clsCampBBDD();
    
    CampGridBBDD.ValorSiNull = "-";
    CampGridBBDD.Nom = "Codi_TC";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    
    CampGridBBDD = new clsCampBBDD();
    
    CampGridBBDD.ValorSiNull = "-";
    CampGridBBDD.Nom = "Especifica_TC";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "Serie_documental";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "Any_obertura";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "Any_tancament";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "Metres";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "NumExpedients";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "Estat";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "Data_Destruccio";
    CampGridBBDD.Tipus = "System.DateTime";
    
    
    
    CampGridBBDD.Format = "dd/MM/yyyy";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    
    ColumnaGrid = new clsColumna();
    CampGridBBDD = new clsCampBBDD();
    CampGridBBDD.Nom = "bCataleg";
    ColumnaGrid.Camps.Add(CampGridBBDD);
    ColumnesGrid.Add(ColumnaGrid);
    JSON = clsHelper.LoadGrid(TA, Req, CampsClau, ColumnesGrid, ValorsExtra, "");
    Resp.Write(JSON);
}
 |