2014-11-03 48 views
0

我有一個簡單的主/細節關係,其中一個訂單可以有多個收入分配。訂單有一個包含這些的集合。Lightswitch HTML數據綁定到詳細信息集合

我想在我的收入分配對象中總結一個屬性,並確保它合計到我的訂單總額中。但是,如果我對分配集合的count屬性進行了數據綁定,則會在首次添加空對象時調用,而不是在填充該對象時調用該屬性。因此,在創建「添加分配」屏幕並調用數據綁定函數時,會添加一個空分配。這當然意味着當點擊「添加分配」屏幕上的保存按鈕時,不會再次調用數據綁定功能。

任何人有任何想法?我基本上想要在「添加屏幕」中單擊保存按鈕時調用數據綁定功能,而不是之前。

這是HTML客戶端 - 不是Silverlight的

回答

0

我敢肯定的是,解決辦法是使用OData的查詢保存按鈕的數據綁定功能中得到你的彙總數據 - 或者一個單獨的按鈕(例如「Tally Order Totals」)。你究竟是怎麼做到的?我現在有點難以回答,但是從一個新的按鈕TallyOrderTotals開始,併爲您的總數添加一個新的數據字段。編輯TallyOrderTotals的post_render事件,並查找JavaScript中用於綁定新數據字段的值的分配。

某處你將需要一段代碼,看起來是這樣的:

myapp.activeDataWorkSpace.<datasource>.RevenueAllocations 
    .filter("OrderID eq " + msls._toODataString(<orderID>, ":String")) 
    .execute() 
    .then(function (result) { 
     // assign the result somewhere 
    } 

我不是說這東西你可以剪切和粘貼 - 但絕對看msls.js documentation,看看你可以在事件上下文中查詢數據。一個快速點然而 - 如果你只需要計算總數作爲驗證步驟,考慮在服務器端的SaveExecuting()事件中進行。這將允許您將異常備份到您的HTML頁面,msls.js腳本應在客戶端呈現。

希望有所幫助。 :)

+0

非常感謝Ozziemedes - 會讓你知道我怎麼樣! – Swomble 2014-11-13 12:21:11