- - PR -
DropDownListにおけるList内の項目整列について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-09-08 16:48
現在、ASP.NETにて開発を行っています。
DropDownListで参照しているSqlDataSourceのSelectCommandを以下のように設定し、 複数項目を同時に表示させています。 しかし、表示行によって文字数が異なる為、がたがたに表示されてしまい、 見にくい状態になっています。 SELECT DISTINCT DB.ID + '-' + DB.商品名 as 表示内容 from DB IDと商品名の列をきれいに整列させたいのですが、 よい方法はありますでしょうか? お手数ですが、ご意見を頂ければありがたいです。 | ||||
|
投稿日時: 2006-09-08 17:25
初めまして。
>SELECT DISTINCT DB.ID + '-' + DB.商品名 as 表示内容 from DB SELECT DISTINCT RPAD(DB.ID,10) + '-' + RPAD(DB.商品名,10) as 表示内容 from DB でどうでしょうか? RPAD関数(文字を左詰めにし、任意文字数の領域をとる)が効けば、 ID・商品名がそれぞれ10文字分の文字領域を採ってくれるはずです。 関数が受け付けなれない場合は、ID・商品名を別々に取得して、 SQLではなくVB側で処理をするしかないと思います。 私はODBCを使ってたため、ほとんどのSQL関数が効かず泣きを見ました・・・・・・ 参考 http://www.mitene.or.jp/~rnk/index.htm の関数2 | ||||
|
投稿日時: 2006-09-08 17:55
初めまして。
早速のご返信ありがとうございます。 SQLServerではRPADは組込み関数名として認識されないようです。 VB側での処理を検討してみようと思います。 ありがとうございました。 | ||||
|
投稿日時: 2006-09-08 22:53
表示するときに、固定ピッチ フォントにするのをお忘れなく。
| ||||
|
投稿日時: 2006-09-08 23:44
NAL-6295です。
こんばんは。 たとえば複数の空白で埋めて整列しようとしても、勿論一桁分しか空白はできません。 だからといって、 で埋めても勝手にエスケープしてくれて、 が文字列として出てきてしまいます。(ASP.NET1.1の話。2.0もですね。) というわけで、空白ではない何かで整列する必要があります。 #2.0も同じだったので、2.0もですね。という文言を追記。 [ メッセージ編集済み 編集者: NAL-6295 編集日時 2006-09-11 22:59 ] | ||||
|
投稿日時: 2006-09-11 10:52
皆さんご返信ありがとうございます。
やはり空白を加えての切り取りでは、多少のズレが生じてしまうようです。 left(DB.ID+space(20),IDの最大文字数) >表示するときに、固定ピッチフォントにするのをお忘れなく。 上記での問題は、固定ピッチフォントにすることで解決されるのでしょうか? そうであれば、申し訳ないのですがDropDownListの表示項目を固定ピッチフォントで 表示する方法をお教え願えないでしょうか? お願い致します。 | ||||
|
投稿日時: 2006-09-11 11:22
CssClassで固定ピッチフォントに設定してみましたが、改善されませんでした。
font-family: monospace もう少し検討してみようと思います。 | ||||
|
投稿日時: 2006-09-11 11:32
IEなどであれば1.5の倍数のフォントサイズにしないと無意味。 |