2010-05-19 5 views
0

sortie courantQuel est le meilleur WebControl pour créer cette

alt text http://www.balexandre.com/temp/2010-05-19_1159.png

voulait sortie

alt text http://www.balexandre.com/temp/2010-05-19_1158.png

code actuel

public partial class test : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
      populateData(); 
    } 

    private void populateData() 
    { 
     List<temp> ls = new List<temp>(); 

     ls.Add(new temp { a = "AAA", b = "aa", c = "a", dt = DateTime.Now }); 
     ls.Add(new temp { a = "BBB", b = "bb", c = "b", dt = DateTime.Now }); 
     ls.Add(new temp { a = "CCC", b = "cc", c = "c", dt = DateTime.Now.AddDays(1) }); 
     ls.Add(new temp { a = "DDD", b = "dd", c = "d", dt = DateTime.Now.AddDays(1) }); 
     ls.Add(new temp { a = "EEE", b = "ee", c = "e", dt = DateTime.Now.AddDays(2) }); 
     ls.Add(new temp { a = "FFF", b = "ff", c = "f", dt = DateTime.Now.AddDays(2) }); 


     TemplateField tc = (TemplateField)gv.Columns[0]; // <-- want to assign here just day 
     gv.Columns.Add(tc); // <-- want to assign here just day + 1 
     gv.Columns.Add(tc); // <-- want to assign here just day + 2 

     gv.DataSource = ls; 
     gv.DataBind(); 
    } 
} 

public class temp 
{ 
    public temp() { } 

    public string a { get; set; } 
    public string b { get; set; } 
    public string c { get; set; } 
    public DateTime dt { get; set; } 
} 

et en HTML

<asp:GridView ID="gv" runat="server" AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:Label ID="Label1" runat="server" Text='<%# Eval("a") %>' Font-Bold="true" /><br /> 
       <asp:Label ID="Label2" runat="server" Text='<%# Eval("b") %>' Font-Italic="true" /><br /> 
       <asp:Label ID="Label3" runat="server" Text='<%# Eval("dt") %>' /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

Ce que j'essaie d'éviter est le code de répétition donc je ne peux utiliser l'unique TemplateField

je peux y arriver avec 3 x GridView, un pour chaque jour, mais je suis vraiment en train pour simplifier le code car la grille sera exactement la même (que le code HTML va), juste la DataSource change.

Toute aide est grandement appréciée, merci.

Répondre

0

utilisez ListView pour cela.

+0

'ListView' est le même que' GridView', ils se lient les deux données par ligne ... Je veux par rangée et par Colonne (chaque jour par colonne et contenu du jour par ligne dans cette colonne) – balexandre

Questions connexes