如何将List <datetime>绑定到GridView </datetime>

时间:2011-04-19 17:35:06

标签: c# asp.net

我已阅读Stack Overflow问题 How to bind a List to a gridview?

但是我需要绑定一个List&lt; DateTime&gt;到gridview,但主要我还希望能够从ItemTemplate中访问DateTime值。我怎么做?当我使用DataTable时,我曾经这样做过:

<%# Eval("SDIndex") %>

如何将其直接链接到List&lt; DateTime&gt;?

1 个答案:

答案 0 :(得分:4)

您可以尝试以下方法:

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Linq" %>
<script type="text/C#" runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        var dates = Enumerable.Range(1, 20).Select(x => new DateTime(2011, 4, x)).ToList();
        grd.DataSource = dates;
        grd.DataBind();
    }
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head id="Head1" runat="server">
    <title></title>
</head>
<body>
    <form id="Form1" runat="server">
    <asp:GridView ID="grd" runat="server" AutoGenerateColumns="false">
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <%# ((DateTime)GetDataItem()).ToString("dd/MM/yyyy") %>
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>
    </form>
</body>
</html>

这也应该有效:

<%# string.Format("{0:dd/MM/yyyy}", GetDataItem()) %>