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);
}
|