MultiRowSheet で非表示列を使用するには?
対象製品
El Tabelle for .NET 3.0J
詳細
WorkBook/Sheet では列を非表示にする機能が提供されていますが、MultiRowSheet にはこれに該当する機能は提供されていません。MultiRowSheet で列の表示・非表示の切り替えやエンドユーザーに対して公開しない内部データの取り扱いを行うには、次のいずれかの方法を使用します。
・列幅を 0 にする
次のコードは、最も左の列の幅を 0 に設定します。
[Visual Basic]
ただし、列ヘッダのサイズがリサイズ用に変化してしまう現象が生じます。これを避けるには、あらかじめテンプレートで隣接する列ヘッダをマージします。なお、アセンブリ バージョン v3.1.2005.0615 以降では、列ヘッダのリサイズ表示を無効にする HideSplitLine プロパティを利用可能です。このプロパティを使用する場合、ヘッダをマージする必要はありません。
最新の修正版はこちら からダウンロードできます。
・行ヘッダを使用する
次のコードは、既定の MultiRowSheet の最も左の行ヘッダに値を設定し、これを非表示にする例です。
[VisualBasic]
・実行時にテンプレートを切り替える
実行時におけるテンプレートの動的な切り替えは、MultiRowSheet コントロールのLoadTemplate メソッドを使用します。テンプレートを差し替えるため、データの再入力が必要になります。また、スクロール位置の復元などの処理が必要になる場合があります。
・列幅を 0 にする
次のコードは、最も左の列の幅を 0 に設定します。
[Visual Basic]
'列ヘッダの列幅を0に設定し、非表示にする
MultiRowSheet1.ColumnHeaders.SetColumnWidth(0, 0)
'列ヘッダのリサイズを禁止する
MultiRowSheet1.ColumnHeaders.AllowResize = False
[C#]MultiRowSheet1.ColumnHeaders.SetColumnWidth(0, 0)
'列ヘッダのリサイズを禁止する
MultiRowSheet1.ColumnHeaders.AllowResize = False
//列ヘッダの列幅を0に設定し、非表示にする
multiRowSheet1.ColumnHeaders.SetColumnWidth(0, 0);
//列ヘッダのリサイズを禁止する
multiRowSheet1.ColumnHeaders.AllowResize = false;
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)
//非表示データを設定する
multiRowSheet1.RowHeaders.GetMHeaders(0)[0, 0].Caption = "Modified";
//行ヘッダの列幅を0に設定し、非表示にする
multiRowSheet1.RowHeaders.SetColumnWidth(0, 0);
multiRowSheet1.RowHeaders.GetMHeaders(0)[0, 0].Caption = "Modified";
//行ヘッダの列幅を0に設定し、非表示にする
multiRowSheet1.RowHeaders.SetColumnWidth(0, 0);
・実行時にテンプレートを切り替える
実行時におけるテンプレートの動的な切り替えは、MultiRowSheet コントロールのLoadTemplate メソッドを使用します。テンプレートを差し替えるため、データの再入力が必要になります。また、スクロール位置の復元などの処理が必要になる場合があります。
キーワード
HowTo
この文書は、以前は次のFAQ IDで公開されていました : 6866