2016-07-11 4 views
2

Я работаю над приложением Windows.показать последние данные в виде сетки данных

В этом приложении я сохраняю данные в базе данных.

И получение данных в виде сетки данных.

Для этого я использую следующий код:

var expenselist = db.SP_TodaysExpense().Where(a => a.Date <= DateTime.Now.Date).ToList(); 

DgvTodaysExpense.DataSource = expenselist; 

выше код показывает все данные в базе данных. Но я хочу показать данные, которые добавляются только после открытия приложения.

Так как я могу это сделать?

Заранее спасибо.

+1

Сохраните текущую дату и время при открытии этого приложения и используйте его для замены фактического DateTime.Now.Date – Steve

+0

. Я попробую. Спасибо @Steve –

+0

'System.Diagnostics.Process.GetCurrentProcess(). StartTime' - это то, что ты ищешь. –

ответ

2

Вы должны сохранить значение Datetime в настройках приложения (Щелкните правой кнопкой мыши Project => СВОЙСТВ => Настройки):

Примечание: Используйте Scope => Пользовательский, чтобы иметь возможность обновить значение.

Затем в Program.cs Главный метод добавления:

Properties.Settings.Default.LastOpenedTime = DateTime.Now; 
Properties.Settings.Default.Save(); 

и изменить свой запрос:

DateTime queryTime = Properties.Settings.Default.LastOpenedTime ; 
var expenselist = db.SP_TodaysExpense().Where(a => a.Date >= queryTime).ToList(); 

DgvTodaysExpense.DataSource = expenselist; 

Более подробную информацию о настройках приложения: Читать Here

+1

Здесь querytime показывает «01-01-0001 00:00:00», и мой запрос ничего не возвращает. –

+0

@sweets Это не может быть '01-01-0001 00: 00: 00', если вы установите его в' Program.cs' DateTime.Now; – user3185569

+1

Это сработало. Спасибо @ user3185569 –

2

OP : Я хочу показать данные, которые добавляются только после открытия приложения ication.

Основываясь на ваших требованиях, вам необходимо получить время начала вашего приложения. Хранение времени начала в настройках бессмысленно (пока оно будет работать). Есть также лучшие варианты:

  • Вариант 1 - Получить время запуска приложения с использованием StartTime из Current Process:

    var start = System.Diagnostics.Process.GetCurrentProcess().StartTime; 
    
  • Вариант 2 - магазин StartTime в статическом свойстве Program класс:

    public static DateTime StartTime { get; private set; } /* Usage: Program.StartTime */ 
    [STAThread] 
    static void Main() 
    { 
        StartTime = DateTime.Now; 
        //... 
    } 
    
+0

Я пропустил этот. Проголосуйте за вас. – user3185569

+0

Спасибо за отзыв :) –

Смежные вопросы