我有一个DataTable (实例名: TimeTable),它的DefaultView (实例名: TimeTableView)我试图用来根据日期进行过滤。列clock_in包含ISO8601格式的字符串。我想选择此DataTable/DefaultView中2009-10-08T08:22:02Z和2009-10-08T20:22:02Z之间的所有行。
我必须根据此标准筛选哪些内容?我试过了:
TimeTableView = TimeTable.DefaultView;
TimeTableView.RowFilter = "clock_in >= #2009-10-08T08:22:02Z# and #2009-10-08T20:22:02Z#";这对我不起作用。我是在错误的对象上操作,还是我的过滤器语法错误?
发布于 2010-01-17 03:05:40
最后我自己解决了这个问题。
要获取特定日期,请执行以下操作:
TimeTableView = TimeTable.DefaultView;
TimeTableView.RowFilter = String.Format("CONVERT(clock_in, System.DateTime) = #{0}#", dayToFilter.ToShortDateString());要获取日期范围(其中A和B是DateTime对象):
TimeTableView = TimeTable.DefaultView;
TimeTableView.RowFilter = String.Format("CONVERT(clock_in, System.DateTime) >= #{0}# AND CONVERT(clock_in, System.DateTime) <= #{1}#", A.ToShortDateString(), B.ToShortDateString());https://stackoverflow.com/questions/2076131
复制相似问题