Bonjour,
Je travaille actuellement sur VS 2010, MVC 3 + Razor.
Je dois créer un tableau à partir d'une collection. Pour ce faire, j'ai décidé d'utiliser la librairie WebGrid.
Je suis parvenu à faire pas mal de choses.. sauf que j'ai une petite subtilité:
l'une de mes colonnes (header) contient 2 sous-colonnes.
en html on ferait un:
grosso-modo...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <table> <tr> <th rowspan="2"> colonne 1 </th> <th colspan="2"> colonne 2 </th> </tr> <tr> <th> sous-colonne2-1 </th> <th> sous-colonne2-2 </th> </tr> </table>
Je ne sais pas comment gérer ce genre d'affichage avec WebGrid.
Enfin voilà, j'ai modifié le nom des champs, peut-etre maladroitement... mais ce code fonctionne, sauf que le nom des colonnes s'affiche pour chaque ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 @grid.GetHtml( htmlAttributes: new { id = "List" }, tableStyle: "grid", headerStyle: "head", alternatingRowStyle: "alt", caption: "WebGrid", columns: grid.Columns( grid.Column("colonne1", header:"colonne1"), grid.Column(header:"Colonne2", format: (item) => { string temp = "<div style='text-align: left;color: ed;height:120px;" + "width: 300px; padding-right: 1em; overflow: auto; overflow-x:hidden;'>"; var sub = new WebGrid(item.SousItems); temp += sub.GetHtml( columns:sub.Columns( sub.Column("sous-colonne-2-1", "sous-colonne-2-1", format: (subitem) => { string temp2 = string.Empty; foreach (var subs in item.LesItemps) { temp2 += subs.val1 + "<br />"; } return new HtmlString(temp2); }), sub.Column("CAS", "CAS", format:(subitem)=> { string temp3 = string.Empty; foreach (var subs in item.LesItemps) { temp3 += subs.val2 + "<br />"; } return new HtmlString(temp3); }) )); temp += "</div>"; return new HtmlString(temp); }) )) }
Dans les sous colonnes doivent s'afficher une liste d'éléments (chaque ligne en contienne plusieurs).
Source:
http://www.dreamincode.net/forums/to...ide-a-webgrid/
J'aimerais en fait faire quelque chose comme dans l'exemple donnée, sauf sans ré-afficher le nom des colonnes à chaque ligne.
Quelqu'un aurait une idée? Sinon... Si ce n'est pas possible, je le ferai à la main, c'est juste que je trouve dommage de ne pas utiliser ces petites librairies sympas qui existent déjà.
Merci d'avance a ceux qui essaieront de m'aider.
PS: Désolé pour mon orthographe :s
Partager