0

您将如何在 Gridview 中设置日历 EditItemTemplate 的选定日期?

<asp:TemplateField HeaderText="beginDate" SortExpression="beginDate">
                    <EditItemTemplate>
                        <asp:Calendar ID="cal1" runat="server" SelectedDate="1 june 2019"></asp:Calendar>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Bind("beginDate") %>'></asp:Label>
                    </ItemTemplate>

我试过了

  • SelectedDate="2019 年 6 月 1 日"
  • SelectedDate="2012/04/04"
  • SelectedDate="<%# Bind("beginDate") %>" (这个中断 - 不想打开编辑屏幕) <%# Bind("beginDate") %> 返回 "2019/06/05" 哪个是 SQL 数据库中的日期字段。

我不知道为什么 SelectedDate 不想工作,即使我如上所示对所选日期进行硬编码。

在此处输入图像描述

4

1 回答 1

0

SelectedDate是一个DateTime属性,所以你可以在代码隐藏设置它(我更喜欢)或通过内联标签在 aspx 上RowDataBoundGridView

<asp:Calendar ID="cal1" SelectedDate="<%= new DateTime(2019,06,01) %>" runat="server"></asp:Calendar>

编辑由于这似乎不起作用,请使用代码隐藏方法:

protected void Gridview1_RowDataBound(Object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        Calendar cal = (Calendar)e.Row.FindControl("cal1");
        cal.SelectedDate = new DateTime(2019, 06, 01);
    }
}
于 2013-04-26T08:37:37.510 回答