2016-07-11 2 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値を保存する必要があります(右のプロジェクト=> Propeties => [設定]をクリックしてください):

注:値を更新できるようにするために、適用範囲=>ユーザを使用してください。

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

をしてまで、あなたのクエリを変更します:Program.csの主な方法で次に

が追加アプリケーション設定の詳細について

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 'Program.cs'でDateTime.Nowに設定した場合、' 01-01-0001 00:00:00'にすることはできません。 – user3185569

+1

これは働いています..thanks @ user3185569 –

2

OPを読みます:私は、アプリケーションを開いた後に追加されるデータを表示したいication。

要件に基づいて、アプリケーションの開始時間を取得する必要があります。設定に開始時間を格納するのは無意味です(うまくいく)。より良いオプションもあります。

  • オプション1 -Current ProcessStartTimeを使用して、アプリケーションの起動時間を取得します:

    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

フィードバックありがとう:) –

関連する問題