FlexGrid for WPF
データの生成
株価情報サンプル > データの生成

この株価情報アプリケーションは、常に更新される動的なデータを提供して実際のサーバーをシミュレートするデータソースを使用します。

動的な特性を持つデータを取得するために、このデータソースオブジェクトは FinancialDataList に対して、約 4,000 の FinancialData オブジェクト、および指定されたスケジュールに基づいてオブジェクトを変更するタイマーを提供します。呼び出し元は、値の更新頻度および一度に更新する数を指定できます。

FinancialDataList をグリッドに連結し、プログラムの実行中に更新パラメータを変更することにより、データ更新に対してグリッドが対応するパフォーマンスをチェックできます。

データソースの実装の詳細を確認するには、サンプルソースの FinancialData.cs ファイルを参照してください。

グリッドは、株価情報データソースに簡単に連結できます。グリッドを FinancialDataList に直接連結する代わりに、ここでは、仲介として機能して通常の通貨、ソート、グループ化、フィルタ処理のサービスを提供する ListCollectionView を作成します。このコードを次に示します。

コードのコピー
// データソースを作成します。
FinancialDataList list = FinancialData.GetFinancialData();
var view = new MyCollectionView(list);
// グリッドにデータソースを連結します。
_flexFinancial.ItemsSource = view;

前のサンプルと同様に、AutoGenerateColumns プロパティを False に設定し、XAML を使ってグリッド列を作成します。

コードのコピー
<fg:C1FlexGrid x:Name="_flexFinancial"
  MinColumnWidth="10"
  MaxColumnWidth="300"
  AutoGenerateColumns="False" >
  <fg:C1FlexGrid.Columns>
    <fg:Column Binding="{Binding Symbol}"    Width="100" />
    <fg:Column Binding="{Binding Name}"      Width="250" />
    <fg:Column Binding="{Binding Bid}"       Width="150"
        Format="n2" HorizontalAlignment="Right" />
    <fg:Column Binding="{Binding Ask}"       Width="150"
        Format="n2" HorizontalAlignment="Right" />
    <fg:Column Binding="{Binding LastSale}"  Width="150"
        Format="n2" HorizontalAlignment="Right" />
    <fg:Column Binding="{Binding BidSize}"   Width="100"
        Format="n0" HorizontalAlignment="Right" />
    <fg:Column Binding="{Binding AskSize}"   Width="100"
        Format="n0" HorizontalAlignment="Right" />
    <fg:Column Binding="{Binding LastSize}"  Width="100"
        Format="n0" HorizontalAlignment="Right" />
    <fg:Column Binding="{Binding Volume}"    Width="100"
        Format="n0" HorizontalAlignment="Right" />
    <fg:Column Binding="{Binding QuoteTime}" Width="100"
        Format="hh:mm:ss" HorizontalAlignment="Center" />
    <fg:Column Binding="{Binding TradeTime}" Width="100"
        Format="hh:mm:ss" HorizontalAlignment="Center" />
  </fg:C1FlexGrid.Columns>
</fg:C1FlexGrid>
関連トピック