0

我有一个DataGridView我想从另一个组合中按月份名称过滤的。我有一个包含日期值的列(日期时间列,称为“数据”)。

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

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

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

for (int i = 0; i <= 12; i++)
        {
            comboBox3.Items.Add(System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.MonthNames[i]);
        }

因此,当我从组合中选择一个月时,我希望过滤数据网格中的记录,以便仅显示组合中指定的月份的记录。

我不知道如何制作过滤器。数据网格中的日期字段是 ("yy-mm-dd"),组合包含月份名称。我尝试将数据网格中的日期字段格式化为“MMMM” - 与组合格式相同,但它不起作用,我猜是因为值仍然是 yy-mm-dd 格式,只是外观细胞改变了。

4

1 回答 1

1

这是一个解决方案...

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

我瞄准组合的索引,过滤器获取月份编号,而不是名称......我使用的是罗马尼亚文化,所以对于英语,它必须稍作调整。感谢大家...

于 2013-01-11T02:19:56.673 回答