WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:リストボックスの拡張

まちゃ [WriteDate : Wed Nov 29 11:47:31 2000]

いま、APACHE+PHP3+ORACLEでWEB画面を作ってるのですが、
リストボックスの表示の仕様が、1行に複数項目あり、リストっボックス内に
複数行表示する場合、それぞれの項目毎の列で整列されるよう表示するように
なってます。そんな事は可能ですか? ちなみに、データは条件によって
変わるので、可変長です。

リストボックスにデータを入れる前に固定長にする為にデータの後ろに
全角スペースを埋めてやってみたのですが、文字によって(アルファベットや
漢字など)の幅が違うのでガタガタになってしましました。文字の種類(MSゴシック)
など変えようかと思いましたが、NNだとFACE属性がうまく動かないので
やめました。
意味が良く分からないと思いますが、分かってくれた人助けてください。

バギンズ [WriteDate : Wed Nov 29 13:01:21 2000]

桁揃えは等幅フォントが使えないと駄目です。
<tt></tt>が効くかなー...(試してません)

あと、半角/全角混在は等幅フォントでも幅が違うので無理です。
1行の中で最初の5文字は半角で、続く10文字は全角とか決まっていればそろうかもしれませんが...

半角/全角混在で桁そろえできるリストボックスは、例えWindowsのアプリとしてVC++とかで作るのでも、結構大変ですよ。

ちゃいぱ [WriteDate : Wed Nov 29 13:05:49 2000]

意味はわかりました!

ブラウザを限定していいなら、スタイルシートで出来そうですね。
しかし、もう、お昼時間が終わってしまったので、お時間ください。

ちゃいぱ [WriteDate : Wed Nov 29 13:08:33 2000]

またかぶった! あー、バギンズさん、いつもすみません!

まちゃ [WriteDate : Wed Nov 29 13:24:53 2000]

バギンズさん、ちゃいぱさん、即効レス下さってかなり感謝してます。

リスト内の項目は、全て全角か半角です。混在してません。
ブラウザはネスケ4.50に限定されています。
それと、リスト全体の幅が一定で上にそれぞれの項目のヘッダーが付きます。

自分でもこれから色々やってみますね。
ちゃいぱさん、いつでもよろしいのでわかったら教えてください。

初めて、この掲示板みましたが、すごい感じがいいのでまたよろしくです。


ちゃいぱ [WriteDate : Wed Nov 29 16:54:04 2000]

&nbspで出来そうだったのですが、結局駄目でした。
全角リストと半角リストの各先頭が微妙にずれます。
駄目っぽいですが...。もちょっと様子をみましょう!


バギンズ [WriteDate : Thu Nov 30 00:06:37 2000]

複数のリストボックスの幅を合わせるんだったんですね...
リストボックス内で桁あわせするのかと勘違いしてました。(^_^;)

たしかにネスケではきびしいですね。
各リストボックスをテーブルで整列させるだけではダメなんですよね?(^_^;)

ちゃいぱ [WriteDate : Thu Nov 30 09:24:25 2000]

>複数のリストボックスの幅を合わせるんだったんですね...
いや、複数option要素内の複数の単語の先頭を合せるのだとおもいました!? 

わた [MAIL] [URL] [WriteDate : Thu Nov 30 10:18:32 2000]

「複数のリストボックスの幅を合わせる」という意味でしたら、

<select>
<option>−−−−−−−−−</option>
<option>あああ</option>
</select>
<select>
<option>−−−−−−−−−</option>
<option>いいいいい</option>
</select>

とかいうふうにして、解決するのも一つの手かも。

まちゃ [WriteDate : Thu Nov 30 10:54:00 2000]

みなさん、色々考えてくださってホントありがとうございます。
言葉が足りない様で、分かりづらくなってごめんなさい。

ちゃいぱさんの言うとおり、リストボックスは一個だけです。
そのリストボックスの幅は最後にダミーの行(全角スペース)を挿入して、
クリックできない様にして一定の大きさに既にしております。
バンギスさんの教えてくれたように、リスト全体を<TT>〜</TT>で囲んで
等幅フォントに出来たので、PHPでリストに入れる前に項目毎に同じバイト数にして
変数に入れて、それを並べれば出来るような感じがしてきました。

ちなみに、まだDBのテーブルも出来てなくて、テストデータもないので
つらいっす。納期だけが迫ってきます。
もし、できたら報告させて頂きます。なんか他にいい方法あったら教えてください。



バギンズ [WriteDate : Thu Nov 30 11:14:44 2000]

>いや、複数option要素内の複数の単語の先頭を合せるのだとおもいました!?  
あれ...じゃあ、やっぱり

<option>AAAAA あいうえお
<option>12345 abcde

をそれぞれ桁合わせするって事ですか???
(まだ勘違いしてるかな?(^_^;))

>まちゃさん
>バンギスさんの教えてくれたように、リスト全体を<TT>〜</TT>で囲んで 
>等幅フォントに出来たので
あれ?ttで、できました?
私が実際にやったらできなかったものですから...(^_^;)

まちゃ [WriteDate : Thu Nov 30 12:21:20 2000]

>バギンズさん
><option>AAAAA あいうえお 
><option>12345 abcde
>をそれぞれ桁合わせするって事ですか???
その通りです。

>あれ?ttで、できました? 
>私が実際にやったらできなかったものですから...(^_^;) 
IEだと出来ないみたいですね。ネスケだと大丈夫なんで、OKです。

ちなみに、こんな↓感じでやろうと思ってます。(マイナーなPHPでごめんなさい)
  ・・・・
$a1 = あいうえお ;
$a2 = 12345;
$a3 = aaa;
$b1 = ABcd  ;
$b2 = 1234 ;
$b3 = bbb;
echo"
  ・・・・
<TT>
<SELECT SIZE=25>
   <OPTION>$a1 $a2 $a3</OPTION>
   <OPTION>$b1 $b2 $b3</OPTION>
   <OPTION VALUE='---'>             </OPTION>
</SELECT>
</TT>
  ・・・・
";
  ・・・・

まちゃ [WriteDate : Thu Nov 30 12:48:10 2000]

何度もすいません。
上の方法だと半角項目でうまくできなかったので、
ちゃいぱさんの方法も取りいれて、下記の様に変更してみました。

$a1 = "あいうえお ";
$a2 = "12345";
$a3 = "aaa";
$b1 = "ABcd  ";
$b2 = "1234 ";
$b3 = "bbb";


まちゃ [WriteDate : Thu Nov 30 12:49:51 2000]

何度もすいません。
上の方法だと半角項目でうまくできなかったので、
ちゃいぱさんの方法も取りいれて、下記の様に変更してみました。

$a1 = "あいうえお ";
$a2 = "12345";
$a3 = "aaa";
$b1 = "ABcd  ";
$b2 = "1234 ";
$b3 = "bbb";


まちゃ [WriteDate : Thu Nov 30 12:49:51 2000]

何度もすいません。
上の方法だと半角項目でうまくできなかったので、
ちゃいぱさんの方法も取りいれて、下記の様に変更してみました。

$a1 = "あいうえお ";
$a2 = "12345";
$a3 = "aaa";
$b1 = "ABcd  ";
$b2 = "1234 ";
$b3 = "bbb";


まちゃ [WriteDate : Thu Nov 30 12:59:07 2000]

うおー、なんかいっぱい出てるー!ごめんなさいごめんなさい!
しかも、&nbspが消えてる。。
$b2 = "1234&nbsp"; です。
回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]