0

电流输出

替代文字 http://www.balexandre.com/temp/2010-05-19_1159.png

想要的输出

替代文字 http://www.balexandre.com/temp/2010-05-19_1158.png

当前代码

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

并在 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>

我要避免的是重复代码,所以我只能使用一个唯一的TemplateField

我可以使用 3 x 来完成此操作GridView,每天一个,但我真的在尝试简化代码,因为 Grid 将完全相同(如 HTML 代码所示),只是 DataSource 发生了变化。

非常感谢任何帮助,谢谢。

4

2 回答 2

0

为此使用ListView 。

于 2010-05-19T10:04:50.410 回答
0

您可以创建自定义模板并提供该模板三次,如:http: //msdn.microsoft.com/en-us/library/aa289501%28VS.71%29.aspx

于 2010-05-19T12:47:14.310 回答