- PR -

DataGridの行が追加(復活?)されてしまう

1
投稿者投稿内容
ミキ
常連さん
会議室デビュー日: 2004/11/12
投稿数: 34
投稿日時: 2005-02-23 10:36
おはようございます。

フォーム上に「カレンダー出力」「検索ボタン」「クリアボタン」「PDF出力ボタン」
の4つのボタンを用意し、「検索ボタン」クリックで条件に該当するデータを表示しています。

DataGridのヘッダを2行にするために
「ItemCreated」イベントで
デフォルトで表示されるヘッダを削除してからヘッダを2行追加しているのですが
「PDF出力」をクリックするとDataGridの内容が崩れてしまいます。
表示されているデータの内容には問題ないのですが
ヘッダとデータの間に、1行何も値が入っていない行が追加(復活?)されてしまうのです。

ItemCreatedのIf文の中を通る回数を調べたのですが
「カレンダー出力」:1回(causesValidation = False)
「検索ボタン」:2回(causesValidation = True)
「クリアボタン」:2回(causesValidation = True)
「PDF出力」:1回(causesValidation = True)
となっています。

PDF出力の「Response.End()」が原因なのでしょうか?
しかし「Response.End()」がないとファイル保存先指定のダイアログが開いてしまいます。
(プレビューで表示したい)


【ヘッダ削除&追加】
If e.Item.ItemType = ListItemType.Header Then

  'デフォルトで表示されるヘッダーを削除する
  Dim I As Integer
  For I = 1 To 13
    e.Item.Cells.RemoveAt(0)
  Next

  'GRIDタイトル作成
  Dim row1 As DataGridItem = New DataGridItem(-1, -1, ListItemType.Header)
  Dim row2 As DataGridItem = New DataGridItem(-1, -1, ListItemType.Header)

End If

【PDFの出力】
 rptJutyuItiran.Run()

 p.Export(rptJutyuItiran.Document, m_stream)

 m_stream.Position = 0
 Response.ContentType = "application/pdf"
 Response.BinaryWrite(m_stream.ToArray())

 Response.End()


どなたかお教えください。
よろしくお願いします。
1

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