ダウンロード サンプルファイル (18.8 MB)
FlexGrid for WinForms
最後にXAMLではなくWindowsフォームでのFlexGridの使い勝手を確認してみましょう。
NuGetパッケージ追加
Windowsフォームのプロジェクトでも「Json.NET」と「Microsoft HTTP Client Libraries」のNuGetパッケージが存在します。
プロジェクト構成
WindowsフォームでもBindingが利用可能なので、プロジェクト構成もModel-ViewModel-Viewとして、Modelにロジック、Viewに見た目を記載します。
AEDModel.vbとMainViewModel.vbはWPF版がそのまま使えるので、既存項目の追加で所定のフォルダに追加します。
FlexGridの設置
ツールボックスに「.NET Frameworkコンポーネント」からC1FlexGridを追加し、さらにメインフォームにドラッグ&ドロップで設置します。
FlexGridのデータソースとしてMainViewModelクラスを指定します。
これでBindingの指定も完了です。
Binding設定
MainForm.vbのコードビハインド側で、SelectDataメソッドを呼び出してItemsをDataSourceに指定するコードを追記します。
Imports CZ1407Win.ViewModels
Public Class MainForm
Private MainVM As New MainViewModel
Public Sub New()
InitializeComponent()
SelectData()
End Sub
Private Async Sub SelectData()
Await Me.MainVM.SelectData()
Me.MainViewModelBindingSource.DataSource = Me.MainVM.Items
End Sub
End Class
実行
デフォルト状態ではAutoGenerateColumnsがTrueなので、このまま実行してみます。
表示列の明示的指定
列を明示的に指定するときは列エディタを使用します。
実行
設備変更欄に画像を表示するためには、コードビハインド側で明示的に画像URLから画像データに変換するなどの処理が必要になるため、今回は確認を省略したいと思います。
まとめ
FlexGridを使ってWebサービスから取得した値を一覧表示してみましたが、いかががだったでしょうか。AutoGenerateColumnsなどを活用して素早く手軽に一覧表示ができるのは使っていてかなり気持ちが良かったです。これからはSPREADだけではなくFlexGridについても評価の対象にしていきたいと思いました。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- 現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)連載記事一覧
- この記事の著者
-
初音玲(ハツネアキラ)
国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア




