токовый выход
альтернативный текст 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.
Любая помощь очень ценится, спасибо.