- PR -

DataGridにて、該当ページ分データしかExcel出力されない

1
投稿者投稿内容
ゆき
会議室デビュー日: 2003/11/11
投稿数: 19
投稿日時: 2003-12-04 11:59
毎度、お世話になってます。
Excel出力を過去ログを参考に

Response.ContentEncoding = System.Text.Encoding.GetEncoding("shift-jis")
Response.ContentType = "application/octet-stream"
Response.AddHeader("content-disposition", "attachment; filename=sample.csv;")
・・・
DATAGRIDより、以下のオブジェクトを回して、データを抽出。
Dim rowToList As System.Web.UI.WebControls.DataGridItem
Dim cellToList As System.Web.UI.WebControls.TableCell

カンマ区切りにしてデータをResponse.Write
・・・
Response.End()

と、やった場合、該当ページ分しか取得出来ません。
(ページが10件表示の場合、30件抽出しても10件しか出力されない)
抽出した全ページを出力するにはどうしたらいいのでしょうか?
以上、宜しくお願いいたします。
(過去ログにあったらごめんなさい)
junya_s0
常連さん
会議室デビュー日: 2002/12/23
投稿数: 26
投稿日時: 2003-12-04 13:13
DataGridにバインドしているデータソース(DataSet、DataTable等)から出力するのはNGですかね?
書いていないところでどんな処理をしているか分からないのでなんとも言えませんが・・・。
ゆき
会議室デビュー日: 2003/11/11
投稿数: 19
投稿日時: 2003-12-04 13:33
さっそくの回答ありがとうございます。
DataSetからでもいいのですけど、
過去ログを参照すると、DataGridからの出力のログが多かったもので、
もしかして、ページ制御する方法があるのかなと思って
投稿した次第です。

DataGridはあくまで、表示されている絵のみの情報ということですかね。
ゆき
会議室デビュー日: 2003/11/11
投稿数: 19
投稿日時: 2003-12-04 14:33
やはりというか、DataGrid用に用意された表示項目通りに
再度、DataSetからひっぱってくるのは、DataGridの恩恵を放棄している
ようで空しくなったので、別のCSV用のDataGridを作成して、
ロード時に、元DataGridと同時にソースをもらって、バインド!
以下のように設定してEXCEL出力するようにしました。

CSVGRD
>コントロール 非表示
>ページ機能 OFF

これで実現出来たわけですけど、処理的に重くなるし、
本当は、元のDataGridで全件出力したいわけでして(。。)
これ以外に素晴らしい方法がありましたら、ご教授下さいませ。
宜しくお願いいたします。


ゆき
会議室デビュー日: 2003/11/11
投稿数: 19
投稿日時: 2003-12-04 15:09
よくよく考えたら、CSV用にDATAGRID作ったので
コントロール列に翻弄されることもなく、すりすりっと
CSV専用に項目出力できるからいいのかな?と
思い始めました。
独り言のようになりましたが、ありがとうございました。
1

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