我有一个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格式,只有外观细胞变了。
答案 0 :(得分:0)
这是一个解决方案......
dt.DefaultView.RowFilter = "CONVERT(SUBSTRING(CONVERT(data, 'System.String'), 4, 2), 'System.Int32')-1= " + comboBox3.SelectedIndex;
我瞄准了组合的索引,过滤器获取了月号,而不是名称...... 我正在使用罗马尼亚文化,所以对于英语,它必须适应一点。 谢谢大家...