開発サポート

製品に関するご質問、お問い合わせ:  (03) 6892 8034

開発サポート チームは、お客様のプロジェクト成功のための技術サポートをご提供いたします。製品機能やプログラミングの問題、インストールの問題、製品ご利用時方法についての説明や調査に限らず、基本コントロールの扱い方や実現されたい内容をお伺いしたうえで製品活用のご提案など、製品利用に関するあらゆる課題に対してサポートをご提供いたします。製品を開発しているチームと協力し、最適な方法でお客様のプロジェクトを支援いたします。

こんなご質問ございませんか?

お客様が実現されたい事に対して、弊社のどのコントロールを利用すればよいのか、コントロールのどの機能を利用できるのかはもちろん、ビルトインとして用意されていない機能についてもどのようにカスタマイズすれば実現できるのか、可能な限りお客様のご要件に則した形でご案内差し上げます。
■○○を実現したい
(ご質問例)
グリッドの内容をエクセル出力したいのですが、特定の列および行はエクセルへ出力したくありません。簡単に実現可能でしょうか?

グリッドのエクセル出力は UltraGridExcelExporter を利用することで容易に実現できます。方法について以下ヘルプ トピックに記載がございますのでご確認くださいませ。

ヘルプ トピック - グリッドデータを Excel にエクスポートする:

Export Grid Data To Excel

特定の行を出力させない場合は、行の出力ごとに発生する RowExporting イベントをハンドリングし、イベント引数より取得できる行のキー値などで出力可否を判断し、最終的にイベント引数の Cancel プロパティに True を設定することで特定の行のみ出力させない事が可能です。

また、特定の列を出力しない場合は、同じ要領で以下のように CellExporting イベントをハンドリングすることで実現可能です。

  public Form1()
  {
      InitializeComponent();
      //イベントハンダラの追加
      ultraGridExcelExporter1.CellExporting += ultraGridExcelExporter1_CellExporting;
      ultraGridExcelExporter1.RowExporting += ultraGridExcelExporter1_RowExporting;
  }

  void ultraGridExcelExporter1_CellExporting(object sender, Infragistics.Win.UltraWinGrid.ExcelExport.CellExportingEventArgs e)
  {
      //SalesAmount列は出力しない。
      if (e.GridColumn.Key.Equals("SalesAmount"))
      {
          e.Cancel = true;
      }
  }

  void ultraGridExcelExporter1_RowExporting(object sender, Infragistics.Win.UltraWinGrid.ExcelExport.RowExportingEventArgs e)
  {
     //Category列が"A"の場合は、行自体を出力しない。
      if (e.GridRow.Cells["Category"].Value.ToString().Equals("A"))
      {
          e.Cancel = true;
      }
  }
  

上記コードを含むサンプル プロジェクトも添付しておりますので、併せてご確認くださいませ。

【関連 API リファレンス】

RowExporting

CellExporting

ありがとうございます。
グリッドのExcel出力自体がコード1行で、イベントハンドリング部分を含めても非常にシンプルに実装することができました!

サポート: お客様が実現されたい事に対して、弊社のどのコントロールを利用すればよいのか、コントロールのどの機能を利用できるのかはもちろん、ビルトインとして用意されていない機能についてもどのようにカスタマイズすれば実現できるのか、可能な限りお客様のご要件に則した形でご案内差し上げます。

■○○のサンプルが欲しい
(ご質問例)
複数階層グリッドの手動ロードオンデマンド(親レコード展開時に子レコードの抽出を個別ロジックで行う)を実装していますが、サーバとクライアントとの連携がうまくいかず困っています。MVC を利用した手動ロードオンデマンドの簡易サンプルをいただけませんか?
 

 以下のオンラインサンプルは階層グリッドのASP.NET MVCベースのものですが、View側の記述やController側の記述を併せてご確認いただけるものとなっております。まずはこちらをご参考にしていただければと思いますが、解決しない場合、「うまくいかない部分」を具体的に教えていただけませんでしょうか?

オンラインサンプル - HierarchicalGridロード オン デマンド

オンラインサンプルを参考に実装したのですが、第二階層を開いた際のサーバ側の処理が正しく動きません。
親レコードのKey値をもとに子レコードの情報を絞り込んで表示させたいのですが、その絞り込みの方法と値の戻し方の記述がわかりません。

第2階層展開時にサーバ側で子階層のレコードを特定の条件で絞り込んで返す簡易サンプルを作成いたしましたのでご確認いただけますでしょうか。

【コード抜粋(Controller)】

        //第2階層が展開されたときのデータ取得
        public JsonResult BindStore(string path, string layout)
        {
            //summaryIDでフィルタした子階層のデータを取得
            string summaryID = path.Split(':')[1];
            return Json(model.Stores.Where(p => p.SummaryID == (summaryID).ToString()), JsonRequestBehavior.AllowGet);
        }
  

子階層の[Url.Action]に"BindStore"を設定していた場合のサーバ側(Controller側)の処理の例ですが、引数の[path]にレコードのKey値の情報が含まれているため、その情報を取り出し、[Stores]からLinqクエリでSummaryIDに合致するレコードを取得し、最終的にJsonResultの形式で値を返しています。

添付:igHierarchicalGrid_lod_MVC.zip

いただいたサンプルをベースにControllerとViewの連携部分を実装したところうまく動きました!サンプルをデバッグ実行することでコードが追えて処理の流れが掴むことができました。

サポート: 基本的なプロパティ設定やよくあるカスタマイズについてはオンライン ヘルプや API のページに記述がございますが、複雑な実装が必要になるケースでは API の理解や動作するアプリの実装に時間がかかる場合がございます。お客様の状況に合わせた機能サンプルを作成しご提供することで、コンポーネント利用方法の理解を助け、開発における生産性を高めます。

■○○についてアドバイスが欲しい
(ご質問例)
大量データをバインドするグリッドにて、どの様な列設定やデータのバインドを行うとパフォーマンスを向上させることができるのかアドバイスをいただけますか?
 

 初期描画の遅延については様々な原因が考えられますが、以下のヘルプトピックにグリッドの描画パフォーマンスに大きく関連するigGridの記述がございます。まずはこちらをご確認いただけますでしょうか?

オンラインヘルプ igGridのパフォーマンスガイド

 また、バインドするデータ量や列数が多い場合は仮想化の機能を有効にすることで、初期描画時間を大きく改善できますが、こちらはすでにOnになっておりますでしょうか?

オンラインヘルプ igGrid 仮想化

 また、現在実装されているigGridの定義情報をいただければ、何かアドバイス差し上げられる点があるかもしれませんので詳しい情報をいただけましたら幸いでございます。

パフォーマンスガイドの情報ありがとうございます。また、既に仮想化は利用しておりますが、1セルのサイズが小さく一度に表示されるセルの数が大変多いため、描画に時間がかかっているのではないかと思われます。

現在のigGridの定義情報を抜粋し添付させていただきました。もし改善できる部分があればアドバイスいただけませんでしょうか?

ソースコードの抜粋ありがとうございました。
列の定義情報を確認いたしましたが、Template列を多く見受けられました。パフォーマンスガイドにあるように、Template列の利用はパフォーマンスに大きく影響がございますので、もしTemplate列を利用せずに実装できるのであればパフォーマンス向上できることかと思われます。Templateの定義を見ると、書式設定とCSSの設定が行われていますが、これらは[column.formatter]及び[column.CssClass]の設定で代用可能です。

API リファレンス column.formatter

API リファレンス column.CssClass

 上記APIを代用のうえ、パフォーマンスが改善するかご確認いただけますでしょうか?

Formatter及びCssClassオプションの代用により、初期描画時間が約半分になりました。
本当に助かりました!

サポート: 開発を進める上での「この実装で正しいのか?ベストなのか?」といった疑問にもお答えします。私たちは、長年蓄積された開発サポートのノウハウと製品を開発しているチームとの連携により、お客様のプロジェクトのご要件に沿ったサポートをいたします。

■問題の発生
(ご質問例)
タッチ対応ディスプレイにてピンチ操作を行ったときに、特定のブラウザでピンチ操作ができません。
 

 ご連絡いただきました問題について、弊社側でも確認いたしました。確認したところ、Zoombarと組み合わせで利用している場合のみ発生する問題で、Mobile Safari以外のサポート対象ブラウザでは発生いたしません。 弊社の開発部門にて詳細な原因を確認し製品不具合であった場合、修正/テスト後に修正が適用されたサービスリリースを提供いたします。

 進捗がございましたらご連絡差し上げます。

承知いたしました。ご連絡お待ちしております。

弊社開発部門にて問題が確認され、修正が行われました。
サービスリリースご提供の準備ができましたらご連絡差し上げます。
ご不便をおかけし申し訳ございませんが、今しばらくお待ちいただけますようお願いいたします。

本問題の修正を含むサービスリリースが公開されました。

・Ignite UI 2015 Volume 2 (Build XXXX)

・Ignite UI 2015 Volume 1 (Build XXXX)

サービスリリースのダウンロードは こちら 行っていただけます。また、本サービスリリースのリリースノートにつきましては以下のページをご確認いただけますでしょうか。

http://blogs.jp.infragistics.com/blogs/jpdevsupport/archive/XXXXXX

ご確認のほど、宜しくお願いいたします。

サービスリリースを適用し問題が解消されていることを確認しました。
早急にご対応いただき、ありがとうございました!

サポート: ご報告いただきました問題については早急に確認を行い、弊社開発部門にて調査させていただきます。もし製品の不具合があった場合には、製品の改修を行いサービス リリースとして修正版モジュールを提供させていただきます。その際の進捗やサービス リリースのご連絡については開発サポート窓口を通じて行わせていただきます。また、問題の修正だけではなく、コードにより問題を回避できる場合はその回避策などご案内させていただきます。

開発サポートの種類や詳細に関しましては、サポート ポリシーをご参照くださいませ。

 

■その他、有償サービスのご紹介
インフラジスティックスでは、ユーザー エクスペリエンス (UX) 向上のためのトレーニングや、UX の向上を実現する手段として弊社ユーザー インターフェース (UI) コントロールを効率的に利用するための技術トレーニングを有償にてご提供いたしております。その他、オンサイトによる有償サポートや、プロジェクトの要件に対する弊社製品の Fit & Gap コンサルテーションなど、様々なプロフェッショナル サービスを提供しております。