2011-12-04 74 views
1

背景:有關更新MySQL數據庫和devexpress Gauge值之間數據問題的數據綁定問題?

  1. 開發一種訂閱它們由盈透證券的API發送許多事件的交易系統。一個有趣的事件是關於我在交易小時內波動的交易賬戶價值,所以我希望立即看到帶有accountvalueupdate事件的信息。我在Visual Studio 2010中開發了基於ActiveX api和c#的這一個。

  2. 演示文稿我想檢查這些信息是使用由http://www.devexpress.com/Products/NET/Controls /的WinForms /量具/)。這個測量儀看起來很花哨,但其原理應該與我們在Visual Studio中使用的常規測量儀相似。似乎我只能通過數據綁定來更新量表的值,因爲我試圖將更新的帳戶值分配給this.myGauge.value並失敗。

  3. 我建立MySql和VS2010之間的MySql連接。我在MySQL中只創建一個名爲account的表。爲了簡單起見,我只有兩列(accountID和accountValue)和一行|(這意味着當事件帶有新的accountValue時,我只覆蓋accountValue上次會話的值,那麼行數總是1)真的很簡單想法.....)。在那個Gauge proporties中,我找到了databinng選項,並且使用高級選項設置了導航拋出可用表並將其綁定到唯一有用的列accountValue。

問題:

  1. 我成立了accountValue的默認值是500爲默認的測試。我建立我的軟件。儀表正確顯示500。
  2. 當然,我的真實賬戶價值不是500,所以現在我點擊一個按鈕連接到API並開始監聽事件。幾秒鐘後,自從我在控制檯上打開管理mysql表並使用select * from account連續觀看更新後,事件就會到來。我注意到accountValue列的值(表作品的權利我們只有一排,OEVERWRITTING MODE)變成正確的,例如,35000

然而,儀表並沒有改變在所有...! !現在,如果我關閉了我的軟件並重新構建,那麼量表顯示的值爲35000.現在我關閉了API並且沒有即將發生的事件,只使用mysql的命令行將accountValue的值再次更改爲500.沒有更新。

它看起來只有在構建會話期間或者它啓動時纔讀取表的值,並且從不聽綁定數據庫的更新。

順便說一句,我試圖將招標數據模式設置爲不是「onValidation」或「onPropertieschanged」,但它並不能解決雖然「onPropertieschanged」看起來是正確的....

+0

只是一個小想法,可能是我應該設置一個事件或計時器來強制測量儀重複綁定到我可以更新的數據。如果你們有任何在線教程或其他東西。請前進。 –

回答

1

我試圖將更新的帳戶值分配給this.myGauge.value ...

不幸的是,您提供的信息不允許清楚地診斷此問題。在WinForms GaugeControl和CircularGauge中都沒有Value屬性(只要在Linear/Digital/StateIndicator表中),但僅在ASPxGaugeControl(ASPxGaugeControl.Value)中。所以,請提供一個完整的示例代碼,不會在你身邊工作。

  • 的ArcScaleComponent.DataBindings屬性可以將數據綁定 到:使用標準的.NET數據綁定機制

    所有這些特性可以手動在代碼或改變數據綁定到數據源圓形儀表的當前值(ArcScale.Value)。

  • LinearScaleComponent.DataBindings屬性允許您將 數據綁定到線性標尺的當前值 (LinearScale.Value)。
  • DigitalGauge.DataBindings屬性允許您將數據綁定到由數字儀表顯示的 文本。
  • StateIndicatorComponent.DataBindings屬性允許您將 數據綁定到狀態指示器量表的狀態。

請查看以下文章以瞭解更多詳情:Data Binding
數據綁定功能演示了儀表的主要演示項目(數據綁定模塊):

this.arcScaleComponent2.DataBindings.Add(
    new System.Windows.Forms.Binding("Value", this.productsBindingSource, 
    "UnitsOnOrder", true, System.Windows.Forms.DataSourceUpdateMode.Never)); 

附:請使用DevExpress Support Center提出問題或報告問題,因爲在使用社區,新聞組或其他溝通渠道時,不能保證DX參與。

+0

非常感謝。我找到了解決方案,這是一個不錯的軟件。 –