我在 MySQL 数据库中有一个日期商店,其格式为Datetime
。
我想将仅日期放在一个DataGridView
中,但是当我尝试使用以下时间获取日期时,例如:
29/06/2016 12:01:21
我尝试使用DATE()
函数直接从 MySQL 查询中找到日期,但它仍然不起作用,因为在我的DataGridView
我看到日期格式化为如下:
29/06/2016 00:00:00
最后我尝试使用侧码来设置列,但没有结果
dataGridView.Columns[1].DefaultCellStyle.Format = "dd/MM/yyyy";
我使用DataSource
将我的数据“链接”到我的DataGridView
。
这是代码:
var dataTable = listOfResult.ToDataTable(); //ToDataTable() Function that convert List into DataTable
dataGridView.DataSource = dataTable;
dataGridView.Columns[1].DefaultCellStyle.Format = "dd/MM/yyyy";
listOfResult
是这种动态的列表,其中包含所有日期。
功能ToDataTable()
public static DataTable ToDataTable(this IEnumerable<dynamic> items)
{
var data = items.ToArray();
if (!data.Any()) return null;
var dt = new DataTable();
foreach (var key in ((IDictionary<string, object>) data[0]).Keys)
dt.Columns.Add(key);
foreach (var d in data)
dt.Rows.Add(((IDictionary<string, object>) d).Values.ToArray());
return dt;
}
答案 0 :(得分:1)
TaW是对的。设置DataType:replace
dt.Columns.Add(key);
与
dt.Columns.Add(key, typeof(DateTime));
表示所需的列。