- PR -

DataGridに半角スペースを表示

1
投稿者投稿内容
とっち
常連さん
会議室デビュー日: 2003/01/13
投稿数: 28
投稿日時: 2005-04-01 11:14
いつもお世話になっております。

ASP.NETにてDataGridを使用しています。
SQLサーバーのデータベースより商品情報を表示させたいのですが
商品コードに連続した半角スペースが含まれる場合
ブラウザに表示される商品コードから半角スペースが消える現象で
行き詰っております。

データベースの内容
A101△△△△XL△△△BLACK
(△は半角スペース)

ブラウザに表示される内容
A101△XL△BLACK

ブラウザのソースを表示してみると
<TD>A101△△△△XL△△△BLACK</TD>
になっていました。

HTMLの仕様上、当然の結果と思われますが、
この現象を回避するよい策はないでしょうか?

半角スペースを   に置き換えるのが常套手段でしょうか?

よろしくお願いいたします。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2005-04-01 11:18
引用:

とっちさんの書き込み (2005-04-01 11:14) より:
いつもお世話になっております。
半角スペースを   に置き換えるのが常套手段でしょうか?



それが解決策です。
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
とっち
常連さん
会議室デビュー日: 2003/01/13
投稿数: 28
投稿日時: 2005-04-01 11:30
早速のレスありがとうございます。

もうひとつアドバイスお願いいたします。

どのタイミングで半角スペースを
に変換するのがよいのでしょうか?

現在は、DataTableにデータをセットして表示させています。
このDataTableの内容からCSVやPDF作成を考えています。

SQLデータベースからDataTableを作成する時点で変換すると
DataGrid以外で使用する際に不都合が生じます。
またソートやフィルターを掛ける際にも問題になるかと思われます。

DataGrid用のDataTableとその他用途のDataTableを作成するのが
よいのでしょうか?

よろしくお願いいたします。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2005-04-01 11:38
DataGridにバインドするタイミングで行いましょう。
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
とっち
常連さん
会議室デビュー日: 2003/01/13
投稿数: 28
投稿日時: 2005-04-01 13:57
ありがとうございました。
無事解決しました。

DataTableからDataViewに変換する際に半角スペースを「 」に
置換することで解決できました。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2005-04-01 14:19
どんなコードを書いているのか判断できませんが・・・

引用:

DataTableからDataViewに変換する際に半角スペースを「 」に
置換することで解決できました。



DataViewはあくまで、DataTableの内容をフィルタリング、ソーティングするための視点を提供しているだけでしかなく、DataView自体はデータを持ちません。
DataViewで修正した内容はDataTableにも反映されているはずですが、不都合はありませんか?

#まぁ、DataTableからDataViewに変換する。という意味が不明なんですが・・・
_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2005-04-02 06:02
 私はDataSetデザイナでDataTableを定義するときに、ColumnSafetyという列を余分に定義し、取得するときにHttpUtility.HtmlEncodeと、改行、クオーテーションをHTML特殊文字列に変換して格納しています。

 または、バインドするクラスを作るときに、ReadOnlyなプロパティを追加して、そこで変換するか。

_________________
1

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