Date Won't Format

J

Jonathan Wood

I have a GridView control that displays the data in a List<> object;

My GridView contains the following in its definition:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
CssClass="grid" DataSourceID="ObjectDataSource1">
<Columns>
[...]
<asp:BoundField DataField="DueDate" HeaderText="Due Date"
SortExpression="DueDate" DataFormatString="-->{0:d}<--"
HtmlEncodeFormatString="False" />
[...]
</Columns>
[...]
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="GetWeekDetails" TypeName="DTS.Deliveries">
[...]
</asp:ObjectDataSource>

But the DueDate column is displayed in the format "-->8/21/2008 12:00:00
AM--<". It is obviously using my format string but not to format the date.

The data is of type List<WorkDetails> where WeekDetails is defined as:

public class WeekDetails
{
public int Week { get; set; }
public string Month { get; set; }
public DateTime DueDate { get; set; }
public int Deliveries { get; set; }
}

Deliveries.GetWeekDetails() is defined as:

public static List<WeekDetails> GetWeekDetails(int contractId, int
categoryId)
{
List<WeekDetails> list = new List<WeekDetails>();
int week = 0;

using (SqlDataReader rdr = DataHelper.ExecDataReader("SELECT DueDate,
TargetDeliveries FROM ScheduledDeliveries" +
" WHERE ContractID=@ContractID AND CategoryID=@CategoryID",
"@ContractID", contractId, "@CategoryID", categoryId))
{
int dueDateOrdinal = rdr.GetOrdinal("DueDate");
int targetOrdinal = rdr.GetOrdinal("TargetDeliveries");
while (rdr.Read())
{
week++;
WeekDetails wd = new WeekDetails();
wd.Week = week;
wd.DueDate = rdr.GetDateTime(dueDateOrdinal);
wd.Month = wd.DueDate.ToString("MMMM");
wd.Deliveries = rdr.GetInt32(targetOrdinal);
list.Add(wd);
}
}
return list;
}

I'm confident my select parameters are correct as they display the correct
results. I wondered if DueDate could've been converted to a string already
and that's why it wasn't formatting, but in the code above, I inserted a
line like string s = String.Format("{0:d}", wd.DueDate) and it appeared as
the date only as expected.

Can anyone guess what else I might try to figure out why my dates won't
format?

Thanks for any tips!

Jonathan
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,071
Latest member
MetabolicSolutionsKeto

Latest Threads

Top