[英]How do I filter a dataview by month from a datetime column?
我有一个DataGridView
,我想按另一个组合中的月份名称进行过滤。 我有一列(datetime列,称为“数据”),其中包含日期值。
我想,首先,我需要从日期字段中提取月份名称,并将其与组合框选择的项目进行比较。
数据是从mysql接收的,它是Windows窗体。
因此,在我要过滤的datagrid中,日期字段称为“数据”。 包含月份名称的组合已填充:
for (int i = 0; i <= 12; i++)
{
comboBox3.Items.Add(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames[i]);
}
因此,当我从组合中选择一个月时,我希望过滤数据网格中的记录,以便仅显示组合中指定的月份中的记录。
我不知道如何制作过滤器。 数据网格中的日期字段为(“ yy-mm-dd”),该组合包含月份名称。 我试图将datagrid中的日期字段格式化为“ MMMM”-与组合相同的格式,但是它不起作用,我猜是因为值仍然是yy-mm-dd格式,只是细胞改变了。
这是一个解决方案...
dt.DefaultView.RowFilter = "CONVERT(SUBSTRING(CONVERT(data, 'System.String'), 4, 2), 'System.Int32')-1= " + comboBox3.SelectedIndex;
我瞄准了组合的索引,过滤器得到的是月份号,而不是名称……我使用的是罗马尼亚文化,因此对于英语,必须稍加修改。 感谢大家...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.