- PR -

SPREADの複数行表示について

投稿者投稿内容
ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2007-03-29 14:10
コード:

select 1 as MultiRow,A as Col01, ..... '1行目用
union
select 2 as MultiRow,A1 as Col01, ..... '2行目用
order by 一覧表示順,MultiRow


とかして連結してしまうとか。ただし先頭列は非表示に。

 文字でない列はCONVERT(だったっけ?)で文字に変換する必要があります。
 1行目と2行目で属性が同じならそのままでもよいですが..

 できるかどうかは知りませんので暇なら試してみてください。

 真っ向勝負で値をセットするならとりあえず、”Me.spreadsheet.ActiveSheet”はWith で括った方がよいです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-29 14:24
引用:

ラフィンさんの書き込み (2007-03-29 14:10) より:

 真っ向勝負で値をセットするならとりあえず、”Me.spreadsheet.ActiveSheet”はWith で括った方がよいです。


最適化されるのであまり意味がないと思われます。
やるのであれば、Me.spreadsheet.ActiveSheet までの参照を取った方が良いでしょうね。

それと、1 つ 1 つ値をセットしていること自体がボトルネックだと考えられます。
Range 単位で一気に値を設定できたような気がしますが...

あとは、DataSource を改行を含めてそのように整形してバインドする方法もありますね。
表示の保証はできませんが...

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
MORITA
常連さん
会議室デビュー日: 2007/03/14
投稿数: 23
投稿日時: 2007-03-29 22:19
引用:
それと、1 つ 1 つ値をセットしていること自体がボトルネックだと考えられます。


そうなんです。私もそう考えています。

引用:
Range 単位で一気に値を設定できたような気がしますが...



試してみます。ありがとうございました。
また、宜しくお願いします。
ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2007-03-30 08:21
引用:

じゃんぬねっとさんの書き込み (2007-03-29 14:24) より:

最適化されるのであまり意味がないと思われます。
やるのであれば、Me.spreadsheet.ActiveSheet までの参照を取った方が良いでしょうね。


 えええ〜?!
 With は実質的に参照を取るのかと勘違いしてました。
 それがあまり意味がない程に最適化されるのもしりませんでした。
 そこまで勝手にやってくれることがいいのかどうかはさておいて、ご指摘ありがとうございました。

引用:

あとは、DataSource を改行を含めてそのように整形してバインドする方法もありますね。
表示の保証はできませんが...


 Union で取得した DataSet も通常のものと変わりないから、パフォーマンス面だけならこれがベストじゃなかな。
 2行の上下で本来の属性が完全に揃っているなら(←強烈な前提条件)まるで問題なし。
ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2007-03-30 08:31
引用:

MORITAさんの書き込み (2007-03-29 13:22) より:

引用:
まだコンポーネントの選定が可能なら、SPREAD以外を使う手も。


そうできればいいんですけど、ちょっと難しいんですよ。


 とりあえず SPREAD で2段出力するがゆえに手間取った時間は記録しておくことをお勧めします。余力があるなら他コンポーネントとの性能比較も。

 「そうできればいい」と思っていて、「ちょっと難しい」で「まるでダメ」ではないのならやってみる価値はあると思います。

スキルアップ/キャリアアップ(JOB@IT)