[プログラム系]やっぱりIEに殺意

昨日の続き。

本日も調査作業にいそしんでおりました。

とりあえず、スタイルシートの問題が見付ったので朝イチで直す。
Table用のクラスにborder-collapse:collapseがあった部分を削除。
IEのデフォルトはseparateらしいので、テーブルセルに適用されているborderがセルごとに表示されて、とりあえず2ページ目まで無事に罫線が表示された。

問題はここからで、セルにデータが入らない場合に画面上にborderが適用されない。
印刷プレビューではきちんと出るのに、まったく法則がわからないセルの消え方でいろいろいじくりまわす。
調べたら、empty-cellというスタイルシートの要素が、IEは標準でhiddenになっている。
hiddenになっている状態は、セルに何も表示がなかったらborderが無効になるってこと_| ̄|○なんでやねん

あと、ASP.NET関連で調べたら、DataGridの罫線が表示されない現象が同じ原因らしいです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=2819&forum=7
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5900&forum=7
要するに、div要素かTable要素か、どちらかがページを超えてしまうと勝手に閉じて印刷されないということ?らしい。
運の悪いことにというか、今作っている画面はコンテナ(HTMLだとdiv)に各フィールド用のテーブルをnewのタイミングでAdd、それにTableRow(tr)とTableCell(td)を追加していく。
div要素がよくないのかもしれないので、実験環境としてコンテナをテーブルに差し替えて明日テストしてみる予定です(´・ω・)

でも実は他にも沢山やりたいことがあって、改ページを任意の場所でやりたいとか、印刷用のページのレイアウト微調整がしたいとか、動的生成プログラムには非常に難しい(というか普通諦める)ところがいまいち気に食わないというか・・・。
最近はC#コードもだけど、スタイルシートをばりばり書かせてもらっているんでもう少し技術力があったら楽しいのになぁと思う。
コードを書くための調べものがあまり苦にならなくなってきた現状って、やっぱり仕事を少しはおもしろいと思えるくらい進化はしてるってことなんでせうか。

これは余談だけど、明日は新入社員さんがはいるので強行軍で歓迎会=飲み会の日になったヾ(o゚ω゚o)ノ゙
私も4月に入ったばかりの新入社員のはずなんだけど、なぜか幹事になったヾ(o゚ω゚o)ノ゙
今日は早く寝てへばらないようにしたいと思います。
あと今月から給料があがったのでボーナスに超期待。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中