[英]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.