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

ここに1つの解決策があります...

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

私はコンボのインデックスを目指し、フィルターは名前ではなく月番号を取得します...私はルーマニアの文化を使用していたので、英語の場合は少し調整する必要があります. みんな、ありがとう...

于 2013-01-11T02:19:56.673 に答える