Salesforceをデータソースに指定
サーバーエクスプローラーでSalesforceのデータが確認できるようになるだけでも、いろいろな可能性があります。例えば、サーバーエクスプローラーのデータ接続は、アプリのデータソースのデータ接続として利用できます。
それでは、Salesforceのキャンペーンページで表示される内容をCData経由でデータソースにして、表計算グリッドコントロールの「SPREAD for WPF」で表示するサンプルを作成してみましょう。
キャンペーンページの内容はCampaignテーブルに格納されています。サーバーエクスプローラーで確認してみましょう。
新規プロジェクトの作成
[ファイル]-[新しいプロジェクト]メニューを選択して[Windowsデスクトップ]-[WPFアプリケーション]を選択してWPFアプリの新規プロジェクトを作成します。
データソースの追加
[表示]-[その他のウィンドウ]-[データソース]メニューを選択して[データソース]ウィンドウを表示します。
[新しいデータソースの追加]リンクをクリックしてウィザードを起動します。
(1)データソース構成ウィザードで、[データベース]を選択して[次へ]ボタンをクリックし、次に[データソース]を選択して[次へボタン]をクリックします。
(2)[データの選択]画面で「CData [Cdata ADO.NET Provider for Salesforce 4J]」を選択します。このときパスワードを接続文字列に含まないようにします。
(3)接続文字列をアプリケーション構成ファイルに保存します。
(4)取得するテーブルおよび項目を指定します。
データソースとコントロールの関連付け
[データソース]ウィンドウにウィザードで設定したテーブルが表示されていることを確認します。テーブル名の横のドロップダウンボタンをクリックして、コントロールの関連付けを「GCSpreadGrid」にします。
もし、「GCSpreadGrid」が表示されていないときには、以下の手順を行えば表示されます。
- ツールボックスからGCSpreadGridをWPFウィンドウエディタにドラッグ&ドロップして、プロジェクトにSPREAD for WPFの参照設定などを追加
- 追加されているSPREAD for WPFを削除
- コントロールの関連付けで[カスタマイズ]を選択して[GCSpreadGrid]項目を選択
データソースから画面部品の配置
コントロールの関連付けが終わったら、[データソース]ウィンドウの[Campaign]テーブルをWPFウィンドウにドラッグ&ドロップします。これでデータソースの内容をSPREADで表示する画面ができあがりました。
パスワードの設定
データソースを作成するときにパスワードは除外しているので、MainWindows.xaml.vbにパスワードを設定するコードを追加します。
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に表示ができます。