|
分類:[ASP.NET (VB)]
2010/02/24(Wed) 14:42:59 編集(投稿者)
こんにちは、黒猫のと申します。
自分で色々と試したり、「SPREAD 結合セル テキスト」などでググったりしたのですが、中々うまくいかず、質問をさせて頂きました。 どうぞ、ご教授願います。
まず、条件は ・ヘッダは二行である。 ・ヘッダ(0,1)、ヘッダ(0,2)、ヘッダ(0,3)は結合されている。 ・データセル部にはデータセットよりデータを格納済み(一列目「コード」、二列目「名前」、三列目「年齢」) ・各列の幅は表示されているデータの中で一番大きいサイズ(文字列)の分の幅である。 ・ヘッダ(0,1)、ヘッダ(0,2)、ヘッダ(0,3)のデータセル部分にはほぼ同じサイズのデータが表示済みである。 ・ヘッダ部分には手動で文字列を表示済みである。
したくないけどなってしまった事は ・一行目の結合済みヘッダにテキストを手動で表示したら、三列の内一列だけ異様に幅が長くなった。(データセルに表示されているデータに変化はなし…本来ならば三列すべてほぼ同じ幅になる)
したい事は ・一行目の結合済みヘッダに表示したテキストの長さに関わらず、二行目以降のセル幅はデータセル表示済みのデータの長さ分の幅で表示したい。 ・全ての設定をコードでやりたい。
----------------------- | ABCDEFGHIJK | ----------------------- | AA | BB | CC | -----------------------
↑理想はこんな感じです。
因みに実行したコードは
===================================================== With SPREAD.ActiveSheet() '列ヘッダの複数行表示 .ColumnHeaderRowCount = 2
'列ヘッダの結合 .AddColumnHeaderSpanCell(0, 0, 1, 3)
'列ヘッダのテキスト .ColumnHeader.Cells(0, 0).Text = "ABCDEFGHIJK"
'列ヘッダラベルのWordWrap無効 Dim h As New FarPoint.Win.Spread.CellType.ColumnHeaderRenderer h.WordWrap = False .ColumnHeader.DefaultStyle.Renderer = h
'セル幅の調整 .Columns(コード).Width = .GetPreferredColumnWidth(コード) .Columns(名前).Width = .GetPreferredColumnWidth(名前) .Columns(年齢).Width = .GetPreferredColumnWidth(年齢)
'セルデータの垂直方向の配置 .DefaultStyle.VerticalAlignment = FarPoint.Win.Spread.CellVerticalAlignment.Center
'セルデータの水平方向の配置 .Columns(コード).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Center .Columns(名前).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Left .Columns(年齢).HorizontalAlignment = FarPoint.Win.Spread.CellHorizontalAlignment.Right End With ============================================================
です。
よろしくお願いします。
|