- PR -

ASP.NETのListBoxにて複数列を実現する

1
投稿者投稿内容
とりまー
会議室デビュー日: 2007/07/20
投稿数: 9
投稿日時: 2007-07-20 15:53
はじめまして。
ASP.NET の ListBox を使って、試行錯誤の末、以下のイメージのように複数列表示っぽく見えるような実装をしました(顧客要望の為)。

コード:
+-------------------+
|ABCDEF    GHIJK    |
|あい      TUうえU  |
|12345     7890     |
+-------------------+




●実装内容
ListBoxのフォントは「MS ゴシック」とする。
VB.NET では、1列目の文字列のバイト数を調べて、2列目の開始位置までを vbFormFeed で埋め、2列目の文字列をその後ろに連結し、さらに Server.UrlEncode してから、ListBox.Items.Add する。
JavaScript 側で、vbFormFeed を半角空白に置換する。(リスト1)


●リスト1
コード:
        var lst = document.getElementById("ListBox1");
        for (var i=0; i<lst.options.length; i++){
            var text = decodeURIComponent(lst.options[i].text);
            for(;;){
                var conv = text.replace("¥f", " "); //「¥」は実際は半角
                if (text == conv) break;
                text = conv;
            }
            lst.options[i].text = text;
        }





●質問内容
VB.NET 側で ListBox に文字列を加える際に、&nbsp; を含めることができれば、 JavaScript で文字置換する必要はないと思うのですが、そのような事は実現できないものでしょうか?
aspx ファイルの <asp:ListItem> タグ内に直接固定値として &nbsp; を書き込むことは、できるようなのですが、実際には Database から取得した可変長名称を設定したいのです。


●その他の前提条件
WindowsXP/Vista + IE6/IE7 限定の環境(イントラネット)
ASP.NET2.0(VB.NET)


以上よろしくお願いします。
尚、ListBox ではなく GridView を使えよ、等の突っ込みはご勘弁ください(笑)。
とりまー
会議室デビュー日: 2007/07/20
投稿数: 9
投稿日時: 2007-07-20 15:59
すみません自己レスです。過去ログに似た話題がありました。
今からチェックします。

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18953&forum=7&start=0
1

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