- PR -

SPREADの複数行表示について

投稿者投稿内容
MORITA
常連さん
会議室デビュー日: 2007/03/14
投稿数: 23
投稿日時: 2007-03-28 15:41
こんにちは

さっそくですがお聞きしたいことがあります。

開発環境:VB2005
SPREAD FOR .NET 2.5J
ORACLE 10G

上記の環境にて開発をしておりまして、
下記のように1レコードを複数表示したいと考えております。
ヘルプを見る限り「データを連結せずに」とあるのですが、どなたか
効率的な方法をご存じないでしょうか。

   商品コード   単価  入荷年月
 a@品   名   数量  金  額
  1 123456    1.500 2007/03/26
あいうえお 1,000 1,500,000
2 222222 200 2007/03/26
かきくけこ 500 100,000
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-28 16:14
引用:

MORITAさんの書き込み (2007-03-28 15:41) より:

1 123456    1.500 2007/03/26
 あいうえお 1,000 1,500,000
2 222222 200 2007/03/26
 かきくけこ 500 100,000


それぞれ 2 行目にある

> あいうえお 1,000 1,500,000
> かきくけこ 500 100,000

の部分は、1 行目の部分 (No. が振られている行) とどんな関連があるのでしょうか?
全く別のレコードなのでしょうか? キーが一緒なのでしょうか?

引用:

開発環境:VB2005
SPREAD FOR .NET 2.5J
ORACLE 10G


Windows アプリケーションなのか、Web アプリケーションなのかによっても回答は変わります。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
MORITA
常連さん
会議室デビュー日: 2007/03/14
投稿数: 23
投稿日時: 2007-03-28 18:32
引用:
--------------------------------------------------------------------------------
それぞれ 2 行目にある

> あいうえお 1,000 1,500,000
> かきくけこ 500 100,000

の部分は、1 行目の部分 (No. が振られている行) とどんな関連があるのでしょうか?
全く別のレコードなのでしょうか? キーが一緒なのでしょうか?

--------------------------------------------------------------------------------
上記の関連ですが、
 1 123456  1.500 2007/03/26
  あいうえお 1,000 1,500,000  が1レコードになっています。

わかりにくくてすいません。

また、開発はwindowsです。

宜しくお願いします。



じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-28 19:45
そうなりますと、

引用:

MORITAさんの書き込み (2007-03-28 15:41) より:

ヘルプを見る限り「データを連結せずに」とあるのですが、


やはり、"連結せずに" になると思います。
連結するには、そのように DataSource を作る手間ができる上に制約も多くおいしくありません。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
MORITA
常連さん
会議室デビュー日: 2007/03/14
投稿数: 23
投稿日時: 2007-03-28 20:58
引用:
やはり、"連結せずに" になると思います。
連結するには、そのように DataSource を作る手間ができる上に制約も多くおいしくありません。


そうですか・・・・・

そうなるとやっぱり
コーディング上は、 

レコードを読み込む ⇒ 行、列の設定(連結)⇒ セルへのデータの編集 ⇒ 最初に戻る

というように組む必要があるということでしょうか?

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-03-28 21:53
引用:

MORITAさんの書き込み (2007-03-28 20:58) より:

レコードを読み込む ⇒ 行、列の設定(連結)⇒ セルへのデータの編集 ⇒ 最初に戻る
というように組む必要があるということでしょうか?


"最初に戻る" の意味はちょっとわかりませんでしたが、そうなると思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ラフィン
ぬし
会議室デビュー日: 2002/05/23
投稿数: 809
お住まい・勤務地: 外野
投稿日時: 2007-03-29 07:36
 まだコンポーネントの選定が可能なら、SPREAD以外を使う手も。

 El Tabelle MultiRow
MORITA
常連さん
会議室デビュー日: 2007/03/14
投稿数: 23
投稿日時: 2007-03-29 13:22
引用:
まだコンポーネントの選定が可能なら、SPREAD以外を使う手も。


そうできればいいんですけど、ちょっと難しいんですよ。
そこで、
引用:
レコードを読み込む ⇒ 行、列の設定(連結)⇒ セルへのデータの編集 ⇒ 最初に戻る


のように組んで試してみたのですが、すごくレスポンスが悪いんです。
以下のように組みました。
(列数、行数はあらかじめ指定してあります)
For Each row As DataRow In Cdt.Rows
'1行目
iINDEX = iINDEX + 1
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 0).Text = row("A").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 1).Text = row("B").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 2).Text = row("C").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 3).Text = row("D").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 4).Text = row("E").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 5).Text = row("F").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 6).Text = row("G").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 7).Text = row("H").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, .Text = row("I").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 9).Text = row("J").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 10).Text = row("K").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 11).Text = row("L").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 12).Text = row("M").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 13).Text = row("N").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 14).Text = row("O").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 15).Text = row("P").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 16).Text = row("Q").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 17).Text = row("R").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 18).Text = row("S").ToString
'2列目
iINDEX = iINDEX + 1
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 0).Text = row("A1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 1).Text = row("B1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 2).Text = row("C1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 3).Text = "D1"
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 4).Text = row("E1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 5).Text = "F1"
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 6).Text = row("G1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 7).Text = row("H1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, .Text = "I1"
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 9).Text = row("J1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 10).Text = row("K1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 11).Text = row("L1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 12).Text = "M1"
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 13).Text = row("N1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 14).Text = row("O1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 15).Text = row("P1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 16).Text = row("Q1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 17).Text = row("R1").ToString
Me.spreadsheet.ActiveSheet.Cells(iINDEX, 18).Text = row("S1").ToString
Next

なにぶん、まだ初めて日が浅いもので拙いロジックではありますが
ご助言をお願いします。

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