如何从datetime列按月过滤数据视图?

时间:2013-01-09 18:21:44

标签: c# date datagridview

我有一个DataGridView,我希望根据另一个组合的月份名称进行过滤。我有一个列(日期时间列,称为“数据”),它保存日期值。

我想,首先我需要从日期字段中提取月份名称,然后将其与组合框所选项目进行比较。

数据是从mysql收到的,它是一个Windows窗体。

因此,在我要过滤的数据网格中,日期字段称为“数据”。 包含月份名称的组合已填充:

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格式,只有外观细胞变了。

1 个答案:

答案 0 :(得分:0)

这是一个解决方案......

dt.DefaultView.RowFilter = "CONVERT(SUBSTRING(CONVERT(data, 'System.String'), 4, 2), 'System.Int32')-1= " + comboBox3.SelectedIndex;

我瞄准了组合的索引,过滤器获取了月号,而不是名称...... 我正在使用罗马尼亚文化,所以对于英语,它必须适应一点。 谢谢大家...