|
分類:[ASP.NET]
2005/07/14(Thu) 05:46:48 編集(投稿者)
> DataGridのBoderStyleはダミーなんですかね。 だから、『結局、Table要素になるわけで、ItemBind辺りで、今からバインドするのがヘッダに相当する行なのか…』と書いているんですけど。。。 DataGrid.BorderStyle は、table のボーダーを変更します。 ┏━┯━┓ ┃H│H┃ ┠─┼─┨ ┃D│D┃ ┗━┷━┛こうです。 でも、やりたいのは、 ┏━┳━┓ ┃H┃H┃ ┗━┻━┛つなげられなかった... │D│D│ └─┴─┘こうですよね? あ、HeaderStyle.BorderStyle を変更すると、 ┏━┯━┓ ┃H│H┃行として、BorderStyleが変更される ┗━┷━┛ │D│D│ └─┴─┘こうなりますよ?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>TEST</title> </head> <body> <table border=1> <tr style="border-style:out-set; border-width:5px"> <td>data</td> <td>data</td> <td>data</td> </tr> <tr> <td style="border-style:out-set; border-width:5px">data</td> <td style="border-style:out-set; border-width:5px">data</td> <td style="border-style:out-set; border-width:5px">data</td> </tr> </body> </html>
これで試してみましたが、tr 要素に対して border-style が適用されませんね。ソースを確認すると、DataGrid もこのように出力していますから、DataGrid.HeaderStyle.BorderStyle がダミーなのではなく、IE が理解しない、が正解でしょう。ちなみに、Opera, FireFox も希望した出力にはなりませんでした。 この下のような出力で良いなら、ItemDataBound イベントでヘッダ行のセルかどうかを判断し、セルに対して埋め込んでください。
あ、table 要素の border 属性が0だと表示されません。1以上を設定してください。立体にしようと思ったら out-set か、in-set を指定することになりますが、これ、幅が3は必要です。その辺注意。 # あれ?3だっけ?in-set, out-set なら2だっけ?
|