在datagridview中过滤数据时截断日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在datagridview中过滤数据时截断日期相关的知识,希望对你有一定的参考价值。
我试图过滤DataGridView
bounded从DataTable
sourceby using
DateTimePicker`
我的问题是列DATETIME
有日期和时间,我只想使用没有时间示例的日期
select cast(DATETIME as DATE) from table_name
我试过下面但是我得到错误消息说
表达式包含未定义的函数调用cast()
那我怎么能截断日期呢?
(MyDataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format("cast(DATETIME as DATE)= '{0}'", DpickerEntryDate.Value.ToShortDateString());
所有事件代码
if (DpickerEntryDate.Value.Date <= DateTime.Today.Date)
{
(MyDataGridView.DataSource as DataTable).DefaultView.RowFilter = string.Format("cast(DATETIME as DATE) = '{0}'", DpickerEntryDate.Value.ToShortDateString());
}
else if (DpickerEntryDate.Value.Date > DateTime.Today.Date)
{
MessageBox.Show("Can not use future date", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.RtlReading);
}
else
{
//do something
}
谢谢
答案
不要“截断”日期。让日期作为DateTime流入您的C#代码,然后在表单初始化代码中,通过从DataGridView
中获取列来设置列的样式(来自DataGridViewColumn
的Columns
属性的DataGridView
并设置DefaultCellStyle
column.DefaultCellStyle.Format = //Some format from DateTime.ToString(string format)
以上是关于在datagridview中过滤数据时截断日期的主要内容,如果未能解决你的问题,请参考以下文章
c# - 如何过滤包含单词和日期的日期列之间的datagridview?