Фильтрация DataGridView по дате перед печатью - PullRequest
1 голос
/ 08 февраля 2010

Я фильтрую DataGridView по столбцу TIMESTAMP, чтобы пользователи могли определить дату данных для печати. Ниже описано, как я создаю свой фильтрованный DataGridView. Однако, чтобы получить правильные даты, например, с 8 февраля 2010 г. по 10 февраля 2010 г., мне нужно выбрать одну дату раньше, поэтому диапазон дат должен быть от 7 февраля 2010 г. до 10 февраля 2010 г., чтобы получить 8 февраля 2010 г. до 10 февраля 2010 года. Это слишком запутанно для пользователей.

TIMESTAMP объявлен как SqlDbType.DateTime.

Где я облажался?

private void CreateFilteredDataGridView(DataGridView dgv, string fromDate, string toDate)
{
    try
    {
        myDataSet = new DataSet();
        myDataSet.CaseSensitive = true;

        DataAdapter.SelectCommand.Connection = myConnection;
        DataAdapter.TableMappings.Clear();
        DataAdapter.TableMappings.Add("Table", "GARAGE");
        DataAdapter.Fill(myDataSet);

        myDataView = new DataView(myDataSet.Tables["GARAGE"], "TIMESTAMP >= '" + 
        Convert.ToDateTime(fromDate) + "' AND TIMESTAMP <= '" + 
        Convert.ToDateTime(toDate) + "'", "TIMESTAMP", DataViewRowState.CurrentRows);

        dgv.DataSource = myDataView;
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }

}

1 Ответ

1 голос
/ 08 февраля 2010

Я не могу сказать, в какое время вы переходите к этому методу, но возможно, что часть time вашего DateTime вызывает проблему. Убедитесь, что дата начала начинается в 00:00:00 (что должно произойти, если время не указано) и что дата окончания содержит 23: 59: 59.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...