![](/img/trans.png)
[英]How to get the value of date cell datagridview into the datetimepicker?
[英]How to edit datetime value in datagridview without datetimepicker?
我在datagridview中有一个datetime列,并以自定义格式显示:dd / MM / yyyy HH:mm:ss
我想编辑datetime值,所以我尝试添加datetimepicker控件,如果正确选择了值,它就可以工作。 (但是我不认为这是有效的)。
有时,无效值会被接受,并且dgv_dataerror事件会无限发生,而不会让我更改值。
例如,当我继续使用键盘上的箭头键从一个单元格移动到另一个单元格时,如果我不按空格键,该单元格值将变为空,并且dataerror事件将无限期发生。
是否有任何其他解决方案可以在没有datetimepicker控制的情况下更改datetime值来实现此目的?
我在这里找到了答案: https : //msdn.microsoft.com/en-us/library/7tas5c80%28v=vs.110%29.aspx
它使用DateTime选择器创建一种DataGridViewColumn类型。
编辑:如何动态添加此自定义列:
dgvMain.DataSource = bulkImportTable;
CalendarColumn col = new CalendarColumn();
col.Name = "DeployDate";
dgvMain.Columns.Remove("DeployDate");
dgvMain.Columns.Add(col);
col.DataPropertyName = col.Name;
foreach (DataGridViewRow row in dgvMain.Rows)
{
row.Cells[dgvMain.Columns.Count - 1].Value = DateTime.Now.ToShortDateString();
}
在这段代码中,我使用了ToShortDateString(),但是您可以在此处使用自己的自定义方法。 一定还要在自定义的CalendarColumn中更改此自定义代码。使用ShortDateString和LongDateString的优势在于,当客户端具有不同的区域设置时,它会动态更改...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.