Infragistics XamDataGrid を使用してSybase のダイナミックグリッドを作成

杉本和也
杉本和也
リードエンジニア
CData ADO.NET Provider とInfragistics XamDataGrid を使用してダイナミックグリッドを構築。

Infragistics WPF UI コントロールを使用すると、デスクトップおよびタッチデバイス用の、最新のMicrosoft Office に着想を得たアプリを構築できます。CData ADO.NET Provider for Sybase と組み合わせると、ライブのSybase にアクセスして動的なグリッド、グラフその他のビジュアライゼーションを構築できます。この記事では、Infragistics XamDataGrid コントロールを使用してVisual Studio でダイナミックグリッドを作成する方法について説明します。

続行するには、Infragistics WPF UI コンポーネントをインストールしてください。こちらから無償トライアルをダウンロードできます。:https://www.infragistics.com/products/wpf

WPF プロジェクトを作成する

VisualStudio を開き、新しいWPF プロジェクトを作成します。

SQL クエリをCData ADO.NET Provider に渡すためのTextBox と、クエリを実行するためのButton を追加します。

Adding a TextBox and Button to the App.

以下は、この時点でのXAML です。


  
    
    
  

XamDataGrid の追加と構築

初期コントロールを追加した後、アプリにXamDataGrid を追加します。コンポーネントがVisual Studio に表示されます。

Adding the XamDataGrid to the App.

コンポーネントをデザイナーで配置して、TextBoxButton の下に配置し、アプリの境界に接するようにします。

XamDataGrid Placement.

XamDataGrid を配置したら、XAML を編集してXamDataGrid のDataSource 属性を「{Binding}」に設定し、FieldSettings のAllowRecordFilteringAllowSummaries を「true」に設定します。次に、Button コンポーネントのClick イベントハンドラーとして空のメソッドを追加します。以下は、この時点でのXAML です。


  
    
    

    
      
        
      
    

  

Sybase に接続してクエリする

ダイナミックDataGrid を使用してWPG App を構築するための最後のステップとして、リアルタイムSybase のデータに接続し、クエリを実行します。まず、CData ADO.NET Provider への参照をプロジェクトに追加します。(通常、C:\Program Files\CData\CData ADO.NET Provider for Sybase\lib にあります。)

Adding the CData ADO.NET Provider as a Reference (Salesforce is shown.)

次に、プロバイダーを標準のData ライブラリとともに名前空間に追加します。

using System.Data.CData.Sybase;
using System.Data;

最後に、Sybase に接続するコードを追加し、TextBox からのテキストを使用してClick イベントハンドラーにクエリします。

Sybase は、Basic 認証、Kerberos 認証、LDAP 認証などの認証方法をいくつかサポートしています。

Basic 認証を使用した接続

次を設定してデータを認証し接続します。User およびPassword を設定してSybaseIQ 認証を使用します。

  • User:認証Sybase ユーザーのユーザー名に設定。
  • Password:認証Sybase ユーザーのパスワードに設定。
  • Server:SybaseIQ またはSAP SQL Anywhere データベースインスタンスの名前またはネットワークアドレスに設定。
  • Database:指定されたサーバーで実行されているSybaseIQ またはSAP SQL Anywhere データベースの名前に設定。

オプションで、UseSSL をtrue に設定することにより、TLS/SSL で接続を保護できます。

Note: 上記のCData 製品 設定でSAP SQL Anywhere のインスタンスに接続することもできます。

Kerberos 認証を使用した接続

Kerberos 認証を活用するには、次の接続プロパティを使用してそれを有効にすることから始めます。

  • AuthScheme:Kerberos に設定すると、Sybase への認証に使用されます。

Kerberos 認証用に設定する必要がある接続プロパティに関しては、Kerberos の使用 情報を参照してください。

以下は接続文字列の例です。

Server=MyServer;Port=MyPort;User=SampleUser;Password=SamplePassword;Database=MyDB;Kerberos=true;KerberosKDC=MyKDC;KerberosRealm=MYREALM.COM;KerberosSPN=server-name

LDAP 認証を使用した接続

LDAP 認証で接続するには、LDAP 認証メカニズムを使用するようにSybase サーバーサイドを設定する必要があります。

LDAP 用にSybase を設定したら、Basic 認証と同じクレデンシャルを使用して接続できます。

private void Button_Click(object sender, RoutedEventArgs e)
{
  //connecting to Sybase
  string connString = "User=myuser;Password=mypassword;Server=localhost;Database=mydatabase;Charset=iso_1;";
  using (var conn = new SybaseConnection(connString))
  {
    //using the query from the TextBox
    var dataAdapter = new SybaseDataAdapter(textBox.Text, conn);
    var table = new DataTable();
    dataAdapter.Fill(table);

    //passing the DataRowCollection to the DataContext
    //  for use in the XamDataGrid
    this.DataContext = table.Rows;
  }
}

アプリケーションを実行する

アプリが構築が完了したら、XamDataGrid にSybase のデータを表示する準備が整いました。「Execute」をクリックすると、アプリはSybase に接続し、CData ADO.NET Provider を介してSQL クエリを送信します。

Querying Sybase のデータ

リアルタイムSybase のデータがグリッドに表示されます。

Displying Sybase データ(Salesforce is shown)

カラム名をヘッダーにドラッグ & ドロップし、データをグループ化します。

Grouping Sybase データ(Salesforce is shown)

グループ化とフィルタを追加すると、もとになるSQL クエリがSybase に直接送信されるため、リアルタイムSybase のデータをドリルダウンして特定の必要な情報のみを見つけることができます。

Grouped and filtered Sybase データ(Salesforce is shown)

無償トライアルと詳細

この時点で、リアルタイムSybase のデータへのアクセスを持つダイナミックWPF アプリが作成されています。詳細については、CData ADO.NET プロバイダページをご覧ください。30日の無償評価版をダウンロードすれば、Infragistics UI コントロールを使用して構築したアプリでリアルタイムSybase のデータを今すぐ試すことができます。

はじめる準備はできましたか?

Sybase Data Provider の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

SAP Sybase Icon Sybase ADO.NET Provider お問い合わせ

Sybase データベースに連携する.NET アプリケーションを簡単に構築。