2017-08-15 58 views
0

我目前使用Telerik的RadGridView來顯示數據庫中的數據。我也有空列供用戶輸入任何額外的信息。我希望應用程序執行的操作是關閉窗口到gridview後,用戶輸入到網格中的信息將被保存,並且當我再次打開應用程序時,信息將相應加載並仍然存在。有沒有辦法做到這一點?我搜索了很多不同的主題和論壇,但沒有找到明確的解決方案。我看到的主要趨勢是將這些信息保存回數據庫,但如果可能的話,我希望避免這樣做。我試圖使用他們的PersistanceFramework工具Telerik的建議,但無濟於事。如果有人能夠幫助我,這將是非常感激。 編輯: 我還應該提到,我使用linq查詢顯示數據庫中的數據,這就是爲什麼PersistanceFramework工具不適合我的情況。 這是我的Window_Loaded事件中的linq查詢。扣除ID,Check_No和Check_Date是用戶將輸入信息的空的三列。基本上,我想任何信息保存用戶輸入到這些列時,他們關閉該窗口,這樣它仍然存在,當他們打開:如何將數據保存在窗口關閉的WPF上的RadGridView中?

private void Window_Loaded(object sender, RoutedEventArgs e) 
    { 
     //Loads queries from each of the designated data tables in BSI_Test 
     var customerQuery = 
      (from customer in testEntity.Customers 
      join job in testEntity.Jobs 
      on customer.CID equals job.CID 
      join claim in testEntity.Claims 
      on job.JID equals claim.JID 
      select new DataProperties 
      { 
       Customer_Name = customer.CName, 
       Customer_ID = customer.CID, 
       Job_ID = job.JID, 
       Claim_ID = claim.CLAIMID, 
       Deduction_ID = DeductId, 
       Check_No = CheckNo, 
       Check_Date = CheckDate 
      }) 
      .OrderBy(c => c.Customer_Name); 

     //Populates the Telerik data grid with data. 
     gridView.ItemsSource = customerQuery.ToList(); 
    } 

我主要是困惑,我投入Window_Closing事件保存這些信息,以及我在Window_Loaded中加載的信息。

回答

1

是的這是Radcontrols.But是可能的。但它取決於你使用的版本。如果你使用演示版本可能他們可能不會提供that.if你使用許可證版本他們確實有它。

要做的事情是在緊要事件中必須將數據保存在數據庫中(或者如果不想將數據保存在數據庫中,則爲文本文件)。確保在close事件下運行Update命令,並且一旦您加載數據後,你必須加載數據在加載事件,特定column.in你的代碼我沒有看到你加載數據保存在關閉事件的數據。

希望這會幫助你解決你的問題。

+0

因此,我應該將數據保存回數據庫,我從中提取信息就是您說的內容。那些沒有與他們關聯的數據庫的列呢?這些是我爲這個應用程序創建的自定義列,用戶將在其中輸入自己的信息。 –

+0

是的,你的第一個問題。在數據庫中創建另一個額外的列,並檢查何時將其他列的數據加載到grid。如果額外的列爲空,則顯示爲空或跳過加載that.if數據只顯示數據,如同處理其他列。如果關閉窗口檢查用戶在新列中輸入任何數據並創建更新命令並更新數據庫列。 –

+0

Gotcha。原來,我的申請將採取稍微不同的方向,所以此問題目前幾乎無關緊要。謝謝你的迴應,因爲它是有幫助的! –