- PR -

データを選択させたくないのですが・・・。

1
投稿者投稿内容
hana
ベテラン
会議室デビュー日: 2003/02/08
投稿数: 70
投稿日時: 2003-03-26 14:57
こんにちは。
現在、C#でwebアプリの開発をしています。

それで質問なのですが、
現在、ListBoxにデータを表示しています。
表示だけで、リストから何かを選ぶというわけではないので、
Enableをfalseにしていたのですが、
データ件数が、ListBoxの表示件数を超えてしまっても、
Enableをfalseにしている為、スクロールできなくなってしまいました。
(当たり前なんですけど・・・。)

こういう場合ってどうすればいいんでしょうか。
選択できないようにしたいけど、
データは全部見たいみたいな・・・。

どなたか知恵を貸して下さい。よろしくお願いします。
biac
大ベテラン
会議室デビュー日: 2001/10/22
投稿数: 106
投稿日時: 2003-03-26 16:29
引用:

現在、ListBoxにデータを表示しています。
(...snip...)
選択できないようにしたいけど、
データは全部見たいみたいな・・・。



HTML4.x 的に言えば、select 要素 (ListBox コントロール) は、ユーザに選択項目一覧を提示するためのものです。 選択できないようにしたいという目的には、そぐわないように思います。

HTML 4.01 Specification
17 Forms
17.2.1 Control types

/*
Menus offer users options from which to choose. The SELECT element creates a menu, in combination with the OPTGROUP and OPTION elements.
*/
( 参考訳 → http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/interact/forms.html#h-17.2.1 )


それよりも、例えば table 要素 (DataList コントロール) を使い、CSS で幅と高さ、それに Overflow プロパティを指定するというのはどうでしょう? (CSS2、少なくとも Overflow プロパティに対応しているブラウザが必要になりますが。)
overflow: auto;
で、お望みの形になると思います。 (必要なら、border プロパティも付けて。)

※ IE では、table 要素を div 要素に入れて、その div 要素に上述のスタイルを指定しないと上手くいきません。 また、td 要素に対して white-space:nowrap; というスタイルを指定しておかないと、一行が途中で折り返されてしまいます。

Cascading Style Sheets, level 2
11 Visual effects
11.1.1 Overflow: the 'overflow' property

/*
auto
The behavior of the 'auto' value is user agent-dependent, but should cause a scrolling mechanism to be provided for overflowing boxes.
*/
( 参考訳 → http://www.swlab.csce.kyushu-u.ac.jp/man/rec-css2/visufx.html#overflow )

※ HTML4.x 的には、単純なリストを表示するだけのためには ul 要素または ol 要素を使うべきなんですけれど… Repeater コントロールに入れるしかないのかな? ちょっとめんどくさそうです。

---
ASP.NET (魔法の杖) を使いこなすために…
ユニバーサル HTML/XHTML
DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2003-03-26 17:21
Panelを貼り付けて、スクロール可能にして、そのパネルにテキストコントロールなりテーブルなりを追加してやっても良いかと。
Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-03-28 01:36
データグリッドを使っては、どうでしょうか?
1

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