【发布时间】:2022-02-22 02:09:51
【问题描述】:
我需要将值从 DataGridView 转换为 List (dd-mm-yyyy)。要将值添加到 DataGridView,我使用 DateTimePicker 和 Button。在 Button_Click 上:
DateTime dt = datetimepicker1.Value.Date;
RowsWithDates.Rows.Add(dt.ToString("d"));
现在我想将 RowsWithDates (DataGridView) 中的所有日期添加到列表中。我试过这个,但没有成功。
List<DateTime> items = new List<DateTime>();
foreach (DataGridViewRow dr in RowsWithDates.Rows)
{
DateTime item = new DateTime();
foreach (DataGridViewCell dc in dr.Cells)
{
item = dc.Value;//here i had error (can't convert object to System.DateTime)
}
items.Add(item);
}
【问题讨论】:
-
你试过了吗?
item = Convert.ToDateTime(dc.Value) -
我会把它作为答案发布,你可以接受它
-
我会说这是一种不好的做法。您在
Button_Click中有一次 DateTime 实例。但是您丢失了它并存储了一个字符串。稍后您尝试再次将其从字符串恢复到 DateTime。我会将 DateTime 添加到网格中并使用 UI 格式化解决方案 - 例如CellFormatting- 按照用户的需要显示。这样数据和演示文稿就不会混淆。
标签: c# list datetime datagridview