- - PR -
DataGridにて、該当ページ分データしかExcel出力されない
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 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件しか出力されない) 抽出した全ページを出力するにはどうしたらいいのでしょうか? 以上、宜しくお願いいたします。 (過去ログにあったらごめんなさい) |
|
投稿日時: 2003-12-04 13:13
DataGridにバインドしているデータソース(DataSet、DataTable等)から出力するのはNGですかね?
書いていないところでどんな処理をしているか分からないのでなんとも言えませんが・・・。 |
|
投稿日時: 2003-12-04 13:33
さっそくの回答ありがとうございます。
DataSetからでもいいのですけど、 過去ログを参照すると、DataGridからの出力のログが多かったもので、 もしかして、ページ制御する方法があるのかなと思って 投稿した次第です。 DataGridはあくまで、表示されている絵のみの情報ということですかね。 |
|
投稿日時: 2003-12-04 14:33
やはりというか、DataGrid用に用意された表示項目通りに
再度、DataSetからひっぱってくるのは、DataGridの恩恵を放棄している ようで空しくなったので、別のCSV用のDataGridを作成して、 ロード時に、元DataGridと同時にソースをもらって、バインド! 以下のように設定してEXCEL出力するようにしました。 CSVGRD >コントロール 非表示 >ページ機能 OFF これで実現出来たわけですけど、処理的に重くなるし、 本当は、元のDataGridで全件出力したいわけでして(。。) これ以外に素晴らしい方法がありましたら、ご教授下さいませ。 宜しくお願いいたします。 |
|
投稿日時: 2003-12-04 15:09
よくよく考えたら、CSV用にDATAGRID作ったので
コントロール列に翻弄されることもなく、すりすりっと CSV専用に項目出力できるからいいのかな?と 思い始めました。 独り言のようになりましたが、ありがとうございました。 |
1