- PR -

[APS.NET]リストボックスへの連続スペース表示について

投稿者投稿内容
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2006-10-27 15:04
引用:

かめたろさんの書き込み (2006-10-27 13:49) より:
コード:

lineData.Text = Server.HtmlDecode("XXX-XXXX    NNNNNNNNNN")



1.1でしか試してないけど。



NAL-6295です。

確かにできますね。
目から鱗です。

通常のデータのスペースを一旦 に変換した後に上記処理をすると良いですね。
追記:
Server.HtmlDecodeが返すスペースは通常のコード:32ではなく、コード:160のスペースなので、これでも良いですね。

コード:

"XXX-XXXX NNNNNNNNNN".Replace(" ", Microsoft.VisualBasic.ChrW(160)))



[ メッセージ編集済み 編集者: NAL-6295 編集日時 2006-10-27 15:14 ]
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-10-27 16:18
引用:

かめたろさんの書き込み (2006-10-27 15:01) より:
連続レス失礼します。追記したかったんですが、編集だと投稿前プレビューできず不安だったので・・・。

へんな書き方ですが、このように書くと
コード:
lineData.Text = Server.HtmlDecode("XXX-XXXX    NNNNNNNNNN")



なぜかこのようにレンダリングされるので、スペースがきっちり表示されます。
コード:
<option value="">XXX-XXXX&nbsp;&nbsp;&nbsp;&nbsp;NNNNNNNNNN</option>


エンコード・デコード、スペースや&nbsp;の組み合わせを何通りか試した限りでは、上記の書き方のみ期待した通りにレンダリングされました。



かめたろ様
ご教授ありがとうございました。

上記の方法でスペースが表示されました。

こんな方法があったとは思いませんでした。
ホントに目から鱗状態ですm(._.)m ペコッ
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2006-10-28 00:59
NAL-6295です。

この方法で生じるであろう、注意点を一つ

通常のスペース(32)と今回連続スペース表示のために利用したスペース(160)はデバッグ時に変数の内容を目視しても全く判別できませんが、勿論別のものですので、
IF文で比較すると

コード:
  Dim 普通のスペース As String = " "
  Dim 連続表示できるスペース As String = ChrW(160)
  if 普通のスペース = 連続表示できるスペース Then
       MessageBox.Show("true")
  Else
       MessageBox.Show("false")
  End If



falseになります。
Java人
ベテラン
会議室デビュー日: 2005/06/24
投稿数: 94
投稿日時: 2006-10-30 09:06
引用:

NAL-6295さんの書き込み (2006-10-28 00:59) より:
NAL-6295です。

この方法で生じるであろう、注意点を一つ

通常のスペース(32)と今回連続スペース表示のために利用したスペース(160)はデバッグ時に変数の内容を目視しても全く判別できませんが、勿論別のものですので、
IF文で比較すると

コード:
  Dim 普通のスペース As String = " "
  Dim 連続表示できるスペース As String = ChrW(160)
  if 普通のスペース = 連続表示できるスペース Then
       MessageBox.Show("true")
  Else
       MessageBox.Show("false")
  End If



falseになります。


なるほど!
注意しておきます。
今のところ、リストボックスのアイテム表示にのみ使用する予定なので直接アイテムのテキスト内容と何かを比較するようなことはありませんが・・・

ご指摘ありがとうございました。

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