製品版のみの機能
ファンネル チャート - TypeScript の使用
このサンプルは CTP 機能を使用しています。製品版では、API や動作が変更される場合があります。
ファンネル チャート
重み付けスライス
選択されたスライス (スライス選択が実行されるまでグリッドは空です):
選択されたスライス (スライス選択が実行されるまでグリッドは空です):
このサンプルは、より大きい画面サイズのためにデザインされました。
モバイル デバイスで画面を回転、フル サイズ表示、またはその他のデバイスにメールで送信します。
このサンプルでは、TypeScript でウェイト スライス可能なファンネル チャートを作成する方法を紹介します。
ファンネル チャートのスライス選択機能を有効にし、スライスの選択イベントを処理する方法を紹介します。
コード ビュー
クリップボードへコピー
<!DOCTYPE html> <html> <head> <title></title> <!-- Ignite UI for jQuery Required Combined CSS Files --> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/themes/infragistics/infragistics.theme.css" rel="stylesheet" /> <link href="http://cdn-na.infragistics.com/igniteui/2024.1/latest/css/structure/infragistics.css" rel="stylesheet" /> <script src="http://ajax.aspnetcdn.com/ajax/modernizr/modernizr-2.8.3.js"></script> <script src="http://code.jquery.com/jquery-1.11.3.min.js"></script> <script src="http://code.jquery.com/ui/1.11.1/jquery-ui.min.js"></script> <!-- Ignite UI for jQuery Required Combined JavaScript Files --> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.core.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.dv.js"></script> <script src="http://cdn-na.infragistics.com/igniteui/2024.1/latest/js/infragistics.lob.js"></script> </head> <body> <link href="/css/charts/chart-samples.css" type="text/css" rel="stylesheet" /> <div class="sampleContent"> <div class="chartContainer"> <h4>ファンネル チャート</h4> <div id="chartNormal"></div> </div> <div class="chartContainer"> <h4>重み付けスライス</h4> <div id="chartWeighted"></div> </div> <div> <div style="float: left; padding-top: 7px; border-bottom: 1px solid #d0d0d0; width: 100%;"> </div> <div style="float: left; padding-top: 20px;"> <h4 style="float: left;">選択されたスライス (スライス選択が実行されるまでグリッドは空です): </h4> <table id="selectedSlicesGrid1"></table> </div> <div style="float: right; padding-top: 20px;"> <h4 style="float: left;">選択されたスライス (スライス選択が実行されるまでグリッドは空です): </h4> <table id="selectedSlicesGrid2"></table> </div> </div> <script src="/TypeScriptSamples/funnel-chart/typescript.js"></script> </div> </body> </html>
/// <reference path="/js/typings/jquery.d.ts" /> /// <reference path="/js/typings/jqueryui.d.ts" /> /// <reference path="/js/typings/igniteui.d.ts" /> class Department { departmentName: string; budget: number; constructor(inDepartmentName: string, inBudget: number) { this.departmentName = inDepartmentName; this.budget = inBudget; } } var departments: Department[] = []; departments.push(new Department("事務", 30)); departments.push(new Department("セールス", 50)); departments.push(new Department("IT", 60)); departments.push(new Department("マーケティング", 50)); departments.push(new Department("開発", 100)); departments.push(new Department("サポート", 20)); var selectedSlicesNormal = []; var selectedSlicesWeighted = []; $(function () { // Create a basic funnel chart $("#chartNormal").igFunnelChart({ width: 325, height: 500, dataSource: departments, valueMemberPath: "budget", innerLabelMemberPath: "budget", innerLabelVisibility: "visible", outerLabelMemberPath: "departmentName", outerLabelVisibility: "visible", allowSliceSelection: true, useUnselectedStyle: true, sliceClicked: function (evt, ui) { if (ui.selected) { selectedSlicesNormal.push(ui.item); } else { var index = selectedSlicesNormal.indexOf(ui.item, 0); if (index != undefined) { selectedSlicesNormal.splice(index, 1); } } $("#selectedSlicesGrid1").igGrid("dataBind"); }, selectedSliceStyle: { fill: "lightblue", stroke: "black" }, unselectedSliceStyle: { fill: "lightgrey", stroke: "grey" } }); // Instantiate the selected slices grid for the basic funnel chart $("#selectedSlicesGrid1").igGrid({ dataSource: selectedSlicesNormal, columns: [ { key: "departmentName", headerText: "グループ", width: "130px" }, { key: "budget", headerText: "予算", width: "70px" } ] }); // Create a funnel chart with weighted size slices $("#chartWeighted").igFunnelChart({ width: 325, //"325px", height: 500, dataSource: departments, outerLabelAlignment: "right", valueMemberPath: "budget", innerLabelMemberPath: "budget", innerLabelVisibility: "visible", outerLabelMemberPath: "departmentName", outerLabelVisibility: "visible", funnelSliceDisplay: "weighted", allowSliceSelection: true, useUnselectedStyle: true, sliceClicked: function (evt, ui) { if (ui.selected) { selectedSlicesWeighted.push(ui.item); } else { var index = selectedSlicesWeighted.indexOf(ui.item, 0); if (index != undefined) { selectedSlicesWeighted.splice(index, 1); } } $("#selectedSlicesGrid2").igGrid("dataBind"); }, selectedSliceStyle: { fill: "lightblue", stroke: "black" }, unselectedSliceStyle: { fill: "lightgrey", stroke: "grey" } }); // Instantiate the selected slices grid for the funnel chart with weighted slices $("#selectedSlicesGrid2").igGrid({ dataSource: selectedSlicesWeighted, columns: [ { key: "departmentName", headerText: "グループ", width: "130px" }, { key: "budget", headerText: "予算", width: "70px" } ] }); });