SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)

Salesforceに表計算グリッドコントロール「SPREAD」のパワーを融合する

「CData ADO.NET Provider for Salesforce 4J」の紹介

  • X ポスト
  • このエントリーをはてなブックマークに追加

Salesforceをデータソースに指定

 サーバーエクスプローラーでSalesforceのデータが確認できるようになるだけでも、いろいろな可能性があります。例えば、サーバーエクスプローラーのデータ接続は、アプリのデータソースのデータ接続として利用できます。

 それでは、Salesforceのキャンペーンページで表示される内容をCData経由でデータソースにして、表計算グリッドコントロールの「SPREAD for WPF」で表示するサンプルを作成してみましょう。

図7 キャンペーンページ
図7 キャンペーンページ

 キャンペーンページの内容はCampaignテーブルに格納されています。サーバーエクスプローラーで確認してみましょう。

図8 Campaignテーブル
図8 Campaignテーブル

新規プロジェクトの作成

 [ファイル]-[新しいプロジェクト]メニューを選択して[Windowsデスクトップ]-[WPFアプリケーション]を選択してWPFアプリの新規プロジェクトを作成します。

データソースの追加

 [表示]-[その他のウィンドウ]-[データソース]メニューを選択して[データソース]ウィンドウを表示します。

図9 [データソース]ウィンドウ
図9 [データソース]ウィンドウ

 [新しいデータソースの追加]リンクをクリックしてウィザードを起動します。

 (1)データソース構成ウィザードで、[データベース]を選択して[次へ]ボタンをクリックし、次に[データソース]を選択して[次へボタン]をクリックします。

図10 データソース構成ウィザード
図10 データソース構成ウィザード

 (2)[データの選択]画面で「CData [Cdata ADO.NET Provider for Salesforce 4J]」を選択します。このときパスワードを接続文字列に含まないようにします。

図11 データ接続の選択
図11 データ接続の選択

 (3)接続文字列をアプリケーション構成ファイルに保存します。

図12 接続文字列の保存
図12 接続文字列の保存

 (4)取得するテーブルおよび項目を指定します。

図13 取得内容の設定
図13 取得内容の設定

データソースとコントロールの関連付け

 [データソース]ウィンドウにウィザードで設定したテーブルが表示されていることを確認します。テーブル名の横のドロップダウンボタンをクリックして、コントロールの関連付けを「GCSpreadGrid」にします。

図14 コントロールの関連付け
図14 コントロールの関連付け

 もし、「GCSpreadGrid」が表示されていないときには、以下の手順を行えば表示されます。

  1. ツールボックスからGCSpreadGridをWPFウィンドウエディタにドラッグ&ドロップして、プロジェクトにSPREAD for WPFの参照設定などを追加
  2. 追加されているSPREAD for WPFを削除
  3. コントロールの関連付けで[カスタマイズ]を選択して[GCSpreadGrid]項目を選択

データソースから画面部品の配置

 コントロールの関連付けが終わったら、[データソース]ウィンドウの[Campaign]テーブルをWPFウィンドウにドラッグ&ドロップします。これでデータソースの内容をSPREADで表示する画面ができあがりました。

図15 SPREAD for WPFの配置
図15 SPREAD for WPFの配置

パスワードの設定

 データソースを作成するときにパスワードは除外しているので、MainWindows.xaml.vbにパスワードを設定するコードを追加します。

リスト1 SPREAD for WPFの配置
Class MainWindow 

    Private Sub Window_Loaded(sender As Object, …

        Dim DataSet1 As CZ1411DataSource.DataSet1 = …
        Dim DataSet1CampaignTableAdapter As  …

        DataSet1CampaignTableAdapter.Connection.ConnectionString &= ";password=hogehoge"

        DataSet1CampaignTableAdapter.Fill(DataSet1.Campaign)
        Dim CampaignViewSource As System.Windows.Data.CollectionViewSource = …
        CampaignViewSource.View.MoveCurrentToFirst()
    End Sub
End Class

 具体的には「DataSet1CampaignTableAdapter.Connection.ConnectionString」にパスワード指定の文字列を追加するコードになります。

実行

 Visual Studioでの定義と操作、そして1行だけコードを記述しただけですが、この状態で実行すればSalesforceからデータを取得してSPREADに表示ができます。

図16 データソースの表示例
図16 データソースの表示例

次のページ
コードからSalesforceを使用

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(SPREAD)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8400 2016/03/14 11:39

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング