FlexSheetコントロールをカスタマイズして、クライアント側で行/列ヘッダーの追加と削除を行うことができます。このため、ワークシートに複数の行/列ヘッダーを追加したり、既存の行/列ヘッダーを削除することもできます。
FlexSheetを含む基本的なMVCアプリケーションを作成して実行すると、デフォルトでは、FlexSheetコントロールに行ヘッダーと列ヘッダーが1つずつ置かれます。列ヘッダーには各列を表す英大文字("A"、"B"、"C"など)が表示され、行ヘッダーには各行を表す数字("1"、"2"、"3"など)が表示されます。ただし、ヘッダーを追加したり、既存のヘッダーを削除して、このデフォルトの動作を変更できます。それには、rowHeaders.columnsコレクションとcolumnHeaders.rowsコレクションに対してpush()関数を呼び出して、それぞれ行ヘッダーと列ヘッダーを追加します。また、行ヘッダーや列ヘッダーを削除するには、rowHeaders.columnsコレクションとcolumnHeaders.rowsコレクションに対してそれぞれremoveAt()関数を呼び出します。
次の図は、行/列ヘッダーを追加および削除するボタンが付いた非連結FlexSheetコントロールです。次の例では、ボタンクリックによってremoveAt()とpush()が呼び出されます。
次のコード例は、FlexSheetで行/列ヘッダーを追加および削除する方法を示します。
C# |
コードのコピー
|
---|---|
public class MultipleHeaderController : Controller { // GET: MultipleHeader public ActionResult MultipleHeaderIndex() { return View(); } } |
MultipleHeader.cshtml
Razor |
コードのコピー
|
---|---|
<script> function addRowHeader() { var flex = wijmo.Control.getControl('#mHeadersSheet'); flex.rowHeaders.columns.push(new wijmo.grid.Column()); } function removeRowHeader() { var colCnt, flex = wijmo.Control.getControl('#mHeadersSheet'); flex.rowHeaders.columns.removeAt(colCnt - 1); } function addColumnHeader() { var rowCnt, flex = wijmo.Control.getControl('#mHeadersSheet'); flex.columnHeaders.rows.push(new wijmo.grid.Row()); } function removeColumnHeader() { var flex = wijmo.Control.getControl('#mHeadersSheet'); flex.columnHeaders.rows.removeAt(rowCnt - 1); } </script> <div> <button type="button" class="btn btn-default" onclick="addRowHeader()">行ヘッダーを追加</button> <button type="button" class="btn btn-default" onclick="removeRowHeader()">行ヘッダーを削除</button> <button type="button" class="btn btn-default" onclick="addColumnHeader()">列ヘッダーを追加</button> <button type="button" class="btn btn-default" onclick="removeColumnHeader()">列ヘッダーを削除</button> <br /><br /> @(Html.C1().FlexSheet().CssClass("flexSheet") .Id("mHeadersSheet").IsReadOnly(false).Width("900px") .Height("400px") .AddUnboundSheet("Sheet1", 20, 8)) </div> |