- PR -

LISTBOXへのリストの追加について

投稿者投稿内容
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-11 06:15
リストボックス自体を div で囲めばできないかなぁ?
縦にもスクロールバーがつくけど。
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-11 15:10
DIVで囲んだのですが効果ありません。
アドバイスいただいたリンク先は英語でわからずです。
tableの中にリストボックスがあるからできないとか・・・・?ですかね。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2006-04-11 15:51
DIVのスタイルに「OVERFLOW:auto;」を指定しましたか?
1つめのリンク先に書いてあります。
私も英語は苦手ですが、ソースコードは世界共通です。
ゆう
常連さん
会議室デビュー日: 2003/06/27
投稿数: 45
投稿日時: 2006-04-11 15:56
 divで囲んでoverflowのスタイルを指定すれば、
スクロールバーは付きますね。
 下のは短い項目だけの場合でも付いちゃいますけど。

コード:
<div style="width:100px;overflow-x:scroll;">
<select id="test" style="overflow-x:visible;">
 <option>test</option>
 <option>123456789012345678901234567890</option>
</select>
</div>



 asp.Net動作環境が手元にないので、ListBoxが
どうんな風にhtml化されるかは未確認。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-11 22:08
引用:

武装キョンシーさんの書き込み(2006-04-11 15:10)より:

DIVで囲んだのですが効果ありません。


本当に?
次のコードで表現されるものと、武装キョンシーさんが望んでいるもの、または実行したこととの違いを説明してください。
コード:
<div style="width:5em; overflow:scroll; height:4em">
	<select size="6">
		<option>長い長い長い長い長い長い文字列</option>
		<option>短い文字列</option>
		<option>短い文字列</option>
		<option>短い文字列</option>
		<option>短い文字列</option>
		<option>短い文字列</option>
	</select>
	<!--
		<asp:ListBox id=ListBox1 runat="server">
			<asp:ListItem Value="1">長い長い長い長い長い長い文字列</asp:ListItem>
			<asp:ListItem Value="2">短い文字列</asp:ListItem>
		</asp:ListBox>
	-->
</div>


 burton999さんが提示してくださったリンクの上の方は、このような HTML を吐くようになっています。ListBox は、 select 要素に展開されます。ですから、<aspx:list
 ここで、option 要素の数と、select 要素の size 属性が等しくするというのがポイントですね。そうしないと、スクロールボックスの中にスクロールボックスがあるという、非常に面倒な状態になります。

〆 written by Jitta@わんくま同盟 on 2006/04/11
□ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-12 09:23
<div style="overflow:auto" >
<asp:ListBox ID="LB1" runat="server" SelectionMode=Multiple style="overflow:visible" Width="338px" Height="83px" >
<asp:ListItem>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</asp:ListItem>
</asp:ListBox>
</div>

このようにしていますがスクロールバーはでませんでした。
WEBアプリだとできないのでしょうか?
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-12 10:28
原因がわかりました。divのサイズとListboxのサイズの違いですね。
でも、この横スクロールは中身をスクロールするのではなくてListBox自体をスクロールするのですか?
データが何も入っていない場合のデフォルトの幅を<div align=justify style=" Width:25em;>の25emにあわせて、リストアイテムの長さは別に用意したテキストボックスに入力した文字により動的に変わっても見られるようにできませんでしょうか?
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-12 13:46
リストボックスの高さをデフォルトで7em(7行分)にしているのですがスクリプトで
追加ボタンが押されたときに一行増えるようにしたいのですが
If LB1.Items.Count >= 7 Then
LBcon = LB1.Items.Count + 1
LB1.Height = LBcon
End If
をどのようにすればemで高さを設定できますでしょうか?
ご教示おねがいします。

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