datagridviewとチャートを更新しようとしています。
私にはクラスがあり、そのクラスにはデータベースからデータテーブルを返す関数があります。
これがチャート(棒)を更新する方法であるため、bindingSourceが必要です。
残念ながら、チャートがPieの場合、更新にデータテーブルを使用する必要があります。
したがって、フォームをロードすると、次のようになります。
gbsGraph.DataSource = graphFunctions.prepareData() 'gbsGraph is a BindingSource
gdtGraphData = graphFunctions.prepareData() 'gdtGraphData isDataTable
gdv.DataSource = gbsGraph 'gdv is my datagridview
AddHandler gdtGraphData.RowChanged, AddressOf gdtGraphData_RowChanged 'add event for update piechart
fillChart()'code to fill the chart
ユーザーが更新ボタンを押したとき:
Private Sub tsmiRefresh_Click(sender As System.Object, e As System.EventArgs) Handles tsmiRefresh.Click
gbsGraph.DataSource = graphFunctions.prepareData()' this works and dgv and my bar charts are updated
gdtGraphData = graphFunctions.prepareData() 'this is should trigger the event gdtGraphData.RowChanged but it doesn't
End Sub
DataRowChangeのカスタムイベント:
Private Sub gdtGraphData_RowChanged(ByVal sender As Object, ByVal e As DataRowChangeEventArgs)
'Here is code to refill the Pie chart
'but the event isn't fired
End Sub
だから私の質問は、データテーブルを更新してgdtGraphData_RowChangedイベントを発生させる方法です。
ありがとうT