- - PR -
DataGridに半角スペースを表示
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-01 11:14
いつもお世話になっております。
ASP.NETにてDataGridを使用しています。 SQLサーバーのデータベースより商品情報を表示させたいのですが 商品コードに連続した半角スペースが含まれる場合 ブラウザに表示される商品コードから半角スペースが消える現象で 行き詰っております。 データベースの内容 A101△△△△XL△△△BLACK (△は半角スペース) ブラウザに表示される内容 A101△XL△BLACK ブラウザのソースを表示してみると <TD>A101△△△△XL△△△BLACK</TD> になっていました。 HTMLの仕様上、当然の結果と思われますが、 この現象を回避するよい策はないでしょうか? 半角スペースを に置き換えるのが常套手段でしょうか? よろしくお願いいたします。 | ||||
|
投稿日時: 2005-04-01 11:18
それが解決策です。 _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||
|
投稿日時: 2005-04-01 11:30
早速のレスありがとうございます。
もうひとつアドバイスお願いいたします。 どのタイミングで半角スペースを に変換するのがよいのでしょうか? 現在は、DataTableにデータをセットして表示させています。 このDataTableの内容からCSVやPDF作成を考えています。 SQLデータベースからDataTableを作成する時点で変換すると DataGrid以外で使用する際に不都合が生じます。 またソートやフィルターを掛ける際にも問題になるかと思われます。 DataGrid用のDataTableとその他用途のDataTableを作成するのが よいのでしょうか? よろしくお願いいたします。 | ||||
|
投稿日時: 2005-04-01 11:38
DataGridにバインドするタイミングで行いましょう。
_________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||
|
投稿日時: 2005-04-01 13:57
ありがとうございました。
無事解決しました。 DataTableからDataViewに変換する際に半角スペースを「 」に 置換することで解決できました。 | ||||
|
投稿日時: 2005-04-01 14:19
どんなコードを書いているのか判断できませんが・・・
DataViewはあくまで、DataTableの内容をフィルタリング、ソーティングするための視点を提供しているだけでしかなく、DataView自体はデータを持ちません。 DataViewで修正した内容はDataTableにも反映されているはずですが、不都合はありませんか? #まぁ、DataTableからDataViewに変換する。という意味が不明なんですが・・・ _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ | ||||
|
投稿日時: 2005-04-02 06:02
私はDataSetデザイナでDataTableを定義するときに、ColumnSafetyという列を余分に定義し、取得するときにHttpUtility.HtmlEncodeと、改行、クオーテーションをHTML特殊文字列に変換して格納しています。
または、バインドするクラスを作るときに、ReadOnlyなプロパティを追加して、そこで変換するか。 _________________ |
1