DataTable tempTable = new DataTable;
.
.
.
tempTable = getCustomerTable();
在这种情况下,tempTable将有一个表(名为CustomerInvoice) 5列。第3列名为DueDate。我打印到列表视图 如下:
for (int i = 0; i < tempTable.Rows.Count; i++)
{
DataRow row = tempTable.Rows[i];
ListViewItem lvi = new ListViewItem(row["CuInvoiceID"].ToString());
lvi.SubItems.Add(row["CustomerQuoteID"].ToString());
lvi.SubItems.Add(row["DueDate"].ToString());
lstvRecordsCInv.Items.Add(lvi);
}
tempTable.Clear();
这就是UI上的DueDate值:
alt text http://img8.imageshack.us/img8/1116/52705575.jpg
我希望它没有时间看起来像这样:
2010年7月4日
2011年8月20日
我更喜欢在应用程序而不是数据库级别解决此问题。
注意:数据库中的DueDate属于datetime类型。
我在C#中与Sql-Server交互编码。
我希望我的问题很清楚。
答案 0 :(得分:1)
而不是:
lvi.SubItems.Add(row["DueDate"].ToString());
您可以执行以下操作:
DateTime lDate = row["DueDate"] as DateTime;
lvi.SubItems.Add(lDate.ToString("MMMM dd, yyyy");
“MMMM dd,yyyy”字符串中的值来自MSDN here(您还可以使用here中的标准日期格式)
如果您想在可以使用lDate.Date
的日期进行任何实际计算答案 1 :(得分:0)
您可以使用DateTime的ToString方法来定义格式。
row["DueDate"].ToString("dd MMM yyyy"); // 04 Jul 2010
查看DateTime.ToString(String)以查看各种格式。
答案 2 :(得分:0)
在输入时对其进行格式化,因此对于您的格式,请修改以下行
lvi.SubItems.Add(row["DueDate"].ToString("MMMM dd, yyyy"));
答案 3 :(得分:0)
不是调用默认的DueDate.ToString(),而是将格式字符串传递给“ToString”,如下所示:
dateOnly.ToString( “d”)
“d”指定仅打印日期。