はじめまして。

ASP.netのC#による開発を行っています。

CheckBoxListで、以下のように間に半角スペースを複数含む文字列を
表示させようとしても半角スペースが1文字分だけになってしまいます。

string data1 = "ABC DEF";
CheckBoxList1.Items.Add(data1);

↓表示結果
ABC DEF

これは仕様なのでしょうか?

何か対策をご存じな方がいらっしゃいましたらご享受ください。
宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

で、半角スペースを表現してあげないとダメみたいですね。



string data1 = "ABCDEF";
CheckBoxList1.Items.Add(data1);

半角スペースを入れたい個数分、 をいれてみてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!

nbspですかぁ、初めて知りました。
勉強になります。
しかしどうしてできないんでしょうね。
PadRightとかでもできないってのはどーもおかしいなと思ってます・・・。

お礼日時:2009/05/20 16:44

どうしてできないのか?は、ブラウザとフォントの組み合わせで起きている現象だというべきかもしれません。


フォントによっては、字詰まりのように見えてしまうこともあるので。
ただ、HTMLの仕様を定めている、RFC1866を見ると、連続するスペースは、にするよう定められているため、厳密には、HTMLの仕様だから、このような現象が起こっているといっても良いのかなと思います。

RFC1866の仕様
http://jbpe.tripod.com/rfcj/rfc1866.j.sjis.txt

ちなみに、nbsp は、「no-break space」の略なので、その辺りを視野に入れて、RFC1866の仕様をご確認ください。
そうすれば、なぜできないのか?理由もわかると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。
これから調べてみます!

あと、kero-mioさんは、SelectedIndexChangedイベントが発生しない質問の方も回答してくださったんですね!
有難うございます、とても助かっています^^
そちらの方もこれから試してみます!

お礼日時:2009/05/21 13:27

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVB.NETのDropDownListをReadOnlyにする方法またはEnable=Falseで字を黒くする方法

VB.NETで作成したWebページのDropDownListを変更させたくないのですが、Enable=Falseにすると文字の色が灰色になってしまって大変見にくいので、TextコントロールのReadOnlyのように、変更不可にする方法はあるのでしょうか?
おしえてください~

Aベストアンサー

> ”入力できないようにする”というのは、Enable=Falseと同じで、”現在選択されているものを他のに変更できなくする”という意味で書きました。

なるほどなるほど。

> Enable=Falseだと色が灰色になってしまいますので、どうやって
> ・Enable=Falseで黒くするのか?
> ・ReadOnlyに換わるものがあるのか?
> ということが聞きたかったのです。

となると CSS とかでも無理っぽいので、
あらかじめ ReadOnly なテキストボックスを非表示にしておき、DropDownList にロックを掛けたいタイミングで
・DropDownList を非表示にする。
・DropDownList で選択されている値を TextBox にセットする。
・TextBox を表示する
とすれば可能です。

これらの動作をクライアント側で行いたいのであれば JavaScript で記述すればいいです。
下記が参考になるかもしれません。
http://chaichan.web.infoseek.co.jp/qanda/qa6878.htm?06-08-06-13-39

> ”入力できないようにする”というのは、Enable=Falseと同じで、”現在選択されているものを他のに変更できなくする”という意味で書きました。

なるほどなるほど。

> Enable=Falseだと色が灰色になってしまいますので、どうやって
> ・Enable=Falseで黒くするのか?
> ・ReadOnlyに換わるものがあるのか?
> ということが聞きたかったのです。

となると CSS とかでも無理っぽいので、
あらかじめ ReadOnly なテキストボックスを非表示にしておき、DropDownList にロックを掛けたいタイミングで
・Dro...続きを読む

QjavascriptでASPにデータを渡す

javascript,ASPの初心者です。
現在親画面にあるデータを子画面にて使用したいと思っています。
親画面の、データをjavascriptのonclickを使用して関数に渡すところまでは出来ています。その関数内でwindow.open()をコールし子画面を呼び、Page_Load()内でデータを使用したいと思っているのですが、定義?の方法が分かりません。分かりづらい説明ですみませんが、よろしくお願いいたします。

Aベストアンサー

ぉぉぅ。。。自分と同じような境遇の人がww

自分も、JavaScript、ASPの勉強を始めたばかりの初心者っすww
初心者同士、よろしく~ ̄▽ ̄


んーと。。。
その関数を渡せればいいわけっすね。。。???




<Script language ="JavaScript">
function Go_child(send){
document.form.sendchild.value = send;
win_style = "";(ウインドウの構成要素(ツールバーの有無とか。
win_name = " ";(ウインドウの名前?
window.open("child.asp",win_name,win_style);
}
</script>
<body>
<%
ASPの構文~。

a = ~~~ ←aを子画面に。と過程。
%>
<form name ="form">

<input type ="button" name = "button1" onClick="Go_child(<% =a%>)">
<input type ="hidden" name ="sendchild" value ="">
</form>
</body>




<Script language ="JavaScript">
function getsend(){//JavaScriptで持ってくる場合。?
document.form2.text2.value = opener.document.form1.text1.value;
}
</script>
<body onLoad="getsend()">
<%'ASPで持ってくる場合。?
Dim bbb
bbb = Request.Form("sendchild")
%>
<form name ="form2">
<input type ="text" name ="text2">
<input type ="text" name ="text3" value ="<% =bbb%>">

</form>
</body>


JavaScriptでもASPでも受け取れるかな?
動作は確認してませんけど。。。
こんな感じでいいのかな?と思います(汗

ぉぉぅ。。。自分と同じような境遇の人がww

自分も、JavaScript、ASPの勉強を始めたばかりの初心者っすww
初心者同士、よろしく~ ̄▽ ̄


んーと。。。
その関数を渡せればいいわけっすね。。。???




<Script language ="JavaScript">
function Go_child(send){
document.form.sendchild.value = send;
win_style = "";(ウインドウの構成要素(ツールバーの有無とか。
win_name = " ";(ウインドウの名前?
window.open("child.asp",win_name,win_style);
}
</script>
<body>
...続きを読む

QASP.Net ラベルの内容をすぐに更新したい

大変お世話になっております。
昨年は大変お世話になり、多大なご教授をいただきました。
本年も何卒よろしくお願いいたします。

前々からお聞きしようと思っていたのですが、
処理によってラベルの内容がすぐに反映しないのですが
どのようにすればすぐに反映するのでしょうか?

例えば下記のような場合は、ラベルの内容を初期化したいのですが、
それがされるのは、ボタンの処理後になります。
ボタン処理の前にラベルを更新するにはどうすればいいのでしょうか?

もしかしたら 大変初歩的な質問かもしれませんが、
何卒よろしくお願いいたします。

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles RecDateButton.Click

  Me.Label1.Text = ""

  ここからボタンの処理が開始します

End Sub

Aベストアンサー

クライアント側で、ボタンがクリックされた瞬間に行う。
具体的には、クライアント側でボタンのonclickイベントで行う。

<input type="submit" onclick="document.getElementById('Label1').innerText = ''">

サーバーコントロールにクライアントイベント記述用のOnClientClickプロパティがあるので、そこに書く。
ポストバック時では遅いので、一回目のリクエストのときにonclickイベント付のボタンをブラウザに返す。

protected void Page_Load(object sender, EventArgs e)
{
Button1.OnClientClick = "document.getElementById('" + Label1.ClientID + "').innerText = ''";
}

サーバー側イベントとクライアント側イベントは別物だといことを理解するべし。

ユーザーがボタンをクリック
→ボタンのクライアントイベント(onclick)
→formのsubmit
→ブラウザがPOST
→ASP.NETがポストバックを受け取る
→Page_Loadやらいろいろ
→ボタンのサーバーイベント(Click)
→Renderやらいろいろ
→ブラウザにHTMLを返す
→ブラウザ側の表示

クライアント側で、ボタンがクリックされた瞬間に行う。
具体的には、クライアント側でボタンのonclickイベントで行う。

<input type="submit" onclick="document.getElementById('Label1').innerText = ''">

サーバーコントロールにクライアントイベント記述用のOnClientClickプロパティがあるので、そこに書く。
ポストバック時では遅いので、一回目のリクエストのときにonclickイベント付のボタンをブラウザに返す。

protected void Page_Load(object sender, EventArgs e)
{
Button1.OnClientClick = "docu...続きを読む

QASP.NETでのメッセージ画面を出すには

はじめまして。
ASP.NET(C#)で、開発をしています。
例えば、内部である処理が終わった後に「完了!」みたいなメッセージ画面をポップアップさせたいと思っております。いろいろ調べてはいるんですが、方法がわかりません。JSを使わなければならないのかなとは思いますが、具体的な方法がわかりません。
よい方法がありましたら、教えていただけないでしょうか。よろしくお願いいたします。

Aベストアンサー

確認は取れていませんが、多分以下のHPの内容でいけると思いますが…。
参考に如何でしょうか。

・ASP.NETでメッセージボックス(OK・NO)の処理について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=5952&forum=7&6

・Webアプリでメッセージボックスを使いたい
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=1644&forum=7&7

QWebページ上のボタン等の位置を移動したい。

こんにちわ。
いまASP.NETのWebフォームにパネルを置いて,その上にボタンなどのオブジェクトを配置しようとしています。
ところがフォームに直接ボタンを配置するときは,
任意の位置に配置できるのですが,
パネルの上だと任意の位置に配置できません。
VBのようにプロパティでx/y座標を指定しようと思ったのですが,
それらしいプロパティが見当たりません。
どうすれば任意の位置に配置できるでしょうか?
教えてください。よろしくお願いします。

Aベストアンサー

#1 です。

WebForm で何もコントロールを選択していない状態か、新規の WebForm で [レイアウト]-[位置]-[自動配置オプション] を選択。
<オプション> ダイアログの左側 [HTML デザイナ]-[CSS 配置] が開いてる状態になりますので、右側の配置オプションで [ツールボックス、貼り付け、またはドラッグ・・・] にチェックを入れて「絶対配置」を選択して [OK] をクリック。
コレ以降フォームに貼り付けたコントロールは絶対配置になりますので好きな場所に移動できます。

って方法もありますね。

Q3つの表の外部結合

表A、B、Cの3つがあり、Aのすべての行を出力したいと考えています。
外部結合を用いるのだとは思うのですが、3つの表に対して行う場合の
書き方がわからず困っています。
ご教授いただけないでしょうか?
select * from a,b,c
where a.商品ID =b.商品ID (+) and b.商品ID (+) =c.商品ID (+)
としてみましたが、うまくいきませんでした。

Aベストアンサー

ansi構文の趣旨からいえば、結合条件と絞り込み条件は分けて書くので・・

select *
from a
left join b on (a.商品ID =b.商品ID)
left join c on (b.商品ID =c.商品ID)
where a.年月 = 任意の値

と書くのが一般的でしょうね。

Q日付型のフィールドに空白を入れる方法を教えてください

ASP(VBScript)でSQLサーバにINSET INTO文を使ってデータを格納しているのですが、日付の部分がNULLの時、「1900/1/1」が入ってしまいます。
そのまま、空白を入れる方法はどうやったらよろしいのでしょうか?

TABLE1の内容は
番号|内容|日付です。

INSERT INTO TABLE1 VALUES ( 1, 'あいう', '')

結果
1|あいう|1900/1/1

Aベストアンサー

あとは、プログラムの書き方次第ですね、、、


If hensu=Null Or hensu="" Then
dt = "NULL"
Else
dt = "'" & hensu & "'"
End IF

E_SQL = "INSERT INTO TABLE1 VALUES & _
"( 1,'あいう', " & dt& ")"
の様に書きます。

Q複数SQL発行について

お世話になります。

VB.NET2003とSQLServer2005にて開発を行っております。

Aテーブルからデータを取得してその取得データを元にBテーブルを参照する。
と、言うのがあるのですが、
Bテーブル参照時に「この接続に関連付けられている DataReader が既に開いています。この DataReader を最初に閉じる必要があります。」の
エラーとなってしまいます。

複数SQLを発行する場合、再度接続を行わなければならないのでしょうか?
同一接続内で複数のSQLを発行することは出来ないのでしょうか?

どなたかご存知でしたらお教え願います。

以下、ソース

' 変数宣言
Dim objDBConnect As SqlConnection
Dim objDBTran As SqlTransaction
Dim objSqlCmd As SqlCommand
Dim objSqlDRA As SqlDataReader
Dim objSqlDRB As SqlDataReader

' データベース接続
objDBConnect = New SqlConnection("接続文字列")
objDBConnect.Open()

' トランザクション開始
objDBTran = objDBConnect.BeginTransaction(IsolationLevel.ReadCommitted)

' SQL発行
objSqlCmd = New SqlCommand("SELECT * FROM A_TABLE", objDBConnect)
objSqlDRA = objSqlCmd.ExecuteReader()

While objSqlDRA.Read()

objSqlCmd = New SqlCommand("SELECT * FROM B_TABLE", objDBConnect)
objSqlDRB = objSqlCmd.ExecuteReader() ←ここで、エラーとなってしまいます。

End While

お世話になります。

VB.NET2003とSQLServer2005にて開発を行っております。

Aテーブルからデータを取得してその取得データを元にBテーブルを参照する。
と、言うのがあるのですが、
Bテーブル参照時に「この接続に関連付けられている DataReader が既に開いています。この DataReader を最初に閉じる必要があります。」の
エラーとなってしまいます。

複数SQLを発行する場合、再度接続を行わなければならないのでしょうか?
同一接続内で複数のSQLを発行することは...続きを読む

Aベストアンサー

#1です。
ごめんなさい。1接続に対して1つだけみたいです。

▼MSDN引用
DataReader の終了
DataReader を使い終えたら、Close メソッドを呼び出す必要があります。

Command に出力パラメータや戻り値が含まれていても、DataReader が終了するまでは使用できません。

DataReader が開いている間、Connection はその DataReader によって排他的に使用されています。元の DataReader が終了するまでは、その Connection に対してはどのコマンドも実行できません。別の DataReader を作成することもできません。

参考URL:http://msdn2.microsoft.com/ja-jp/library/haa3afyz.aspx

QSELECTで1件のみ取得するには?

こんにちわ。
いまORACLE9iを使用している者です。

ACCESSでは
SELECT TOP 1 項目名 FROM テーブル名
ORDER BY 項目名;
で並べ替えたデータ群のうち,先頭の1件だけを
取ることができますが,
ORACLEでそのような機能(SQL)はあるでしょうか?
教えてください。
よろしくお願いします。

Aベストアンサー

order by と rownum を併用する場合は注意が必要です。

[tbl01]
cola | colb
------------
1000 | aaaa
1001 | bbbb

というデータがある場合、
select cola from tbl01 where rownum < 1 order by cola desc;
とすると、「1001」ではなく、「1000」が返されます。
これは、order by の前に rownum < 1 が適用されてしまうからです。

解決するには、
select aaa from (select cola aaa from tbl01 order by cola desc) where rownum = 1;
とすれば良いです。

Q【C#】 あるイベントから別イベントを呼び出す。

タイトルの通り、あるイベント内から別イベントの処理を呼び出したいと
考えています。ですが、方法がわかりません。

【質問投稿に至った経緯】
現状は、検索から一覧を表示し1つを選択、選択した内容の更新を行なうプログラムを作成しています。選択した内容を更新するところまではできました。ただ、更新内容を確認できるよう一覧画面に前回検索した内容を一覧表示させたいと考えています。この時、検索イベントを呼び出し、一覧を再表示させようと思っています。

Aベストアンサー

「検索イベント」とは、[検索]ボタンをクリックした時の
イベント処理の事でしょうか?
それならば、一覧表示処理を別ルーチンに分けて、[検索]
ボタンClickイベントと同じルーチンをCallする様にすれば
良いと思いますが?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報