- PR -

カレンダーコントロールで

投稿者投稿内容
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-07-25 19:08
お世話になります。

calendar コントロールで、たとえばマウスがセルの上に乗ったときそのセルを拡大しそこに追加したデータを見やすく表示したいのですが、どうしたらできるでしょうか?
教えてください。

ASP.NET C#
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-07-25 19:42
mouseover だったかのイベントで、div 要素を作るか見えなくしていたものを見えるようにして、内容をそのセルにあうようにすれば良いです。
場所は position:absolute にしておいて、left と top だっけ?長いことさわってないと忘れるなぁ...
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-07-25 20:08
引用:

Jittaさんの書き込み (2008-07-25 19:42) より:

mouseover だったかのイベントで、div 要素を作るか見えなくしていたものを見えるようにして、内容をそのセルにあうようにすれば良いです。
場所は position:absolute にしておいて、left と top だっけ?長いことさわってないと忘れるなぁ...


それだとズレちゃうので、素直に a:hover 擬似クラスを使って CSS にお任せした方が良いと思います。 拡張コントロールで解決できるのもメリットです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-07-25 21:35
お世話になります。

<style type="text/css">
<!--
a:hover { color: red;
border-width: 2px; border-style: solid;
};
-->

このような形で試しに書いてみました。
確かに、カレンダーのセル文字が枠で囲まれるようになりました。色は、セル内の文字については無効になっているようです。
このページ内の他のリンク文字にマウスが乗っての同様の変化をします。この形では当然と思いますが、CSSのプログラムをしていないのでこれ以上よくわからないのですが、選択的にカレンダーのみ(マスターページ内)について反応するようにしたいのと、カレンダー内のセルの枠を変化させられませんでした。
どのように記述するのでしょうか?教えてください。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-07-26 03:34
<a href=”。。。”>あいう</a>
<Table class=”xxx”>
。。。
<tr><td><a ...>12</a></td>。。。

</table>

CSS
table.xxx a:HOVER {
 。。。




SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-07-26 07:03
お世話になります。

「ぴあちゃん」の指示通り、下記のようにすることでコントロールの識別が可能となりカレンダー単位の処理が可能となりました。
table.cal1 a:hover {
color: red;
background-color:orange;
   :
}

:
:
<asp:Calendar ID="Calendar1" CssClass="cal1" .......

あと、カレンダーのセルを大きくする又は、擬似的にその部分を大きくするといった処理はどのようにすればいいでしょうか?教えてください。
よろしくお願いします。
ぴあちゃん
ぬし
会議室デビュー日: 2008/02/07
投稿数: 287
投稿日時: 2008-07-26 14:55
3x3でカレンダー日1マスと見てくださいね。
コード:

□□□□□□□□□
□1□□2□□3□
□□□□□□□□□
□□□■■■□□□
□8□■9■□A□
□□□■■■□□□
□□□□□□□□□
□B□□C□□D□
□□□□□□□□□


■の位置にマウスポイントすると、
コード:

1□□□2□□□3
□■■■■■■■□
□■■■■■■■□
□■■■■■■■□
8■■■9■■■A
□■■■■■■■□
□■■■■■■■□
□■■■■■■■□
B□□□C□□□D


カレンダー全体の大きさはそのままで、ポイントした曜日枠だけが
周りよりも大きくなるようなイメージですか?

ご愁傷さまです。がんばって実現して下さい。
TDタグでは出来ません。DIVタグを42
個並べれば実現できそうですが、茨の道っぽい
ですね・・・







[ メッセージ編集済み 編集者: ぴあちゃん 編集日時 2008-07-26 14:56 ]
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-07-26 21:26
お世話になります。

> カレンダー全体の大きさはそのままで、ポイントした曜日枠だけが
> 周りよりも大きくなるようなイメージですか?
そんな感じのイメージです。
要は、その日付内に表示しようとするデータがセルより多いので通常は、略などとしマウスが来たとき詳細を表示しようと思いました。セル自身の変更が難しいならhover時にツールチップのような別画面を上にかぶせるといったことはできませんか?
何か、ヒントかアイデアのようなものはないでしょうか?
教えてください。

ネットで見つけたこのサイトの内容ってどのようにやっているのでしょうか?
http://geedigg.com/usCalendar/


[ メッセージ編集済み 編集者: SL 編集日時 2008-07-26 22:56 ]

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