C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

DataGridのヘッダについて


(過去ログ 1 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■839 / inTopicNo.1)  DataGridのヘッダについて
  
□投稿者/ どっとねっと初心者 二等兵(3回)-(2005/07/12(Tue) 19:53:30)

分類:[ASP.NET] 


分類:[ASP.NET] 

いつもお世話になっております。
どっとねっと初心者です。

現在WebアプリケーションでDataGridを使用しています。

このDataGridのヘッダ部を3Dっぽくさせようとしているのですが、
(BorderStyleでいうOutSetとかのような感じ)
ヘッダ部のBorderStyleを変更しても3D表示にはならないようです。

DataGridのヘッダ部の表示スタイルを立体風にすることは可能なのでしょうか?
初歩的な質問かもしれませんが、よろしくお願いします。


0
引用返信 編集キー/
■841 / inTopicNo.2)  Re[1]: DataGridのヘッダについて
□投稿者/ 中博俊 神(98回)-(2005/07/12(Tue) 20:27:34)
中博俊 さんの Web サイト

分類:[ASP.NET] 

何を持ってすれば立体的というかによりますが、Webということはスタイルシートの工夫でなんともできたり、できなかったりします。(^^

0
引用返信 編集キー/
■842 / inTopicNo.3)  Re[2]: DataGridのヘッダについて
□投稿者/ Jitta 伍長(14回)-(2005/07/12(Tue) 20:31:37)

分類:[ASP.NET] 

 難しいかも。結局、Table要素になるわけですが、ヘッダだけという指定が、、、あ、セルで指定する?


ん〜〜〜〜〜、今環境がないので無理(x。x)゜゜


 やるとしたら、ItemBind辺りで、今からバインドするのがヘッダに相当する行なのか、そうでないのかを見て、各セルにスタイルクラスを割り当てる、かなぁ???

0
引用返信 編集キー/
■844 / inTopicNo.4)  Re[3]: DataGridのヘッダについて
□投稿者/ どっとねっと初心者 二等兵(4回)-(2005/07/12(Tue) 20:41:20)

分類:[ASP.NET] 

立体というのは・・・、
スプレッドシートのヘッダみたいな感じにしたいのですが。
簡単に言うと、標準コントロールのボタンのような感じですかね。

ヘッダ部にスタイルシートを割り当てているところまでは、
(多分)できています。
FontColorとかは変更できるのですが、
BoderStyleの項目を変更しても表示上、なんの変哲もないのです。
DataGridのBoderStyleはダミーなんですかね。


0
引用返信 編集キー/
■853 / inTopicNo.5)  Re[4]: DataGridのヘッダについて
□投稿者/ Jitta 軍曹(16回)-(2005/07/14(Thu) 05:10:11)

分類:[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だっけ?

0
引用返信 編集キー/
■854 / inTopicNo.6)  Re[5]: DataGridのヘッダについて
□投稿者/ 中博俊 神(100回)-(2005/07/14(Thu) 09:19:53)
中博俊 さんの Web サイト

分類:[ASP.NET] 

というか本来的にいうと<thead><tfoot>および<th>を活用すれば、望みのスタイルを適用できると思います。
まぁDataGridがだしてくれないんじゃどうしようもないんですが(^^;;

0
引用返信 編集キー/
■861 / inTopicNo.7)  Re[6]: DataGridのヘッダについて
□投稿者/ Jitta 軍曹(17回)-(2005/07/14(Thu) 20:42:59)

分類:[ASP.NET] 

> まぁDataGridがだしてくれないんじゃどうしようもないんですが(^^;;
 はいぃ、、、出してくれないんですよね...なので、本来的には外れるのですが、tr 要素に埋め込む必要があります(少なくとも 1.1 では)。せっかく HeaderStyle プロパティとかつくって、"1行目には"別のスタイルを割り当ててくれるんだから、thead や tfoot 要素を出力して欲しかったです。


 あ、書き忘れましたが、style 属性を埋め込むのではなく、class 属性を埋め込む方が、後でスタイルを修正するのが楽だと思います(ってか、class でクラス名を指定するべし)。


0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -