MultiRowSheet で非表示列を使用するには?

文書番号 : 17243     文書種別 : 使用方法     最終更新日 : 2006/01/17
文書を印刷する
対象製品
El Tabelle for .NET 3.0J
詳細
WorkBook/Sheet では列を非表示にする機能が提供されていますが、MultiRowSheet にはこれに該当する機能は提供されていません。MultiRowSheet で列の表示・非表示の切り替えやエンドユーザーに対して公開しない内部データの取り扱いを行うには、次のいずれかの方法を使用します。

・列幅を 0 にする

次のコードは、最も左の列の幅を 0 に設定します。

[Visual Basic]
'列ヘッダの列幅を0に設定し、非表示にする
MultiRowSheet1.ColumnHeaders.SetColumnWidth(0, 0)
'列ヘッダのリサイズを禁止する
MultiRowSheet1.ColumnHeaders.AllowResize = False
[C#]
//列ヘッダの列幅を0に設定し、非表示にする
multiRowSheet1.ColumnHeaders.SetColumnWidth(0, 0);
//列ヘッダのリサイズを禁止する
multiRowSheet1.ColumnHeaders.AllowResize = false;

ただし、列ヘッダのサイズがリサイズ用に変化してしまう現象が生じます。これを避けるには、あらかじめテンプレートで隣接する列ヘッダをマージします。なお、アセンブリ バージョン v3.1.2005.0615 以降では、列ヘッダのリサイズ表示を無効にする HideSplitLine プロパティを利用可能です。このプロパティを使用する場合、ヘッダをマージする必要はありません。
最新の修正版はこちら からダウンロードできます。

・行ヘッダを使用する

次のコードは、既定の MultiRowSheet の最も左の行ヘッダに値を設定し、これを非表示にする例です。

[VisualBasic]
'非表示データを設定する
MultiRowSheet1.RowHeaders.GetMHeaders(0)(0, 0).Caption = "Modified"
'行ヘッダの列幅を0に設定し、非表示にする
MultiRowSheet1.RowHeaders.SetColumnWidth(0, 0)
[C#]
//非表示データを設定する
multiRowSheet1.RowHeaders.GetMHeaders(0)[0, 0].Caption = "Modified";
//行ヘッダの列幅を0に設定し、非表示にする
multiRowSheet1.RowHeaders.SetColumnWidth(0, 0);

・実行時にテンプレートを切り替える

実行時におけるテンプレートの動的な切り替えは、MultiRowSheet コントロールのLoadTemplate メソッドを使用します。テンプレートを差し替えるため、データの再入力が必要になります。また、スクロール位置の復元などの処理が必要になる場合があります。
キーワード
HowTo

この文書は、以前は次のFAQ IDで公開されていました : 6866