- - PR -
DataFormatString無効!?
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-11-21 09:48
いつもお世話になっております。
標記の件につき質問させて頂きます。 <前提> 言語:ASP.NET 2.0 (VB.NET) 環境:VisualStudio2005 <要件> FormViewに表示させる内容(データセットとバインドしている数値項目)をカンマ編集したい。 <質問> 連結式(カスタムバインドにおけるコード式)に以下のように組み込んでも編集されないのですが、なぜでしょうか。 Eval("****", "{0:n}") ("****"は項目名) <現状> Eval("****", "{0:n}")の"{0:n}"の部分を"{0:c}"としても"{0:d}"としても、全く編集されない。(認識されない。) どなたか、ご存知の方がいらっしゃいましたら、ご教示ください。 以上宜しくお願い申し上げます。 | ||||
|
投稿日時: 2006-11-21 13:37
引数が2つしかないからでは?3つでは?
| ||||
|
投稿日時: 2006-11-21 13:57
囚人さん
ご回答ありがとうございます。 ASP.NET 2.0 Webアプリケーション開発入門(葛西秋雄 著)には、引数2つで実装されているサンプルが載っているのですが。。。 引数が3つとすると、第3引数は何なのでしょうか。 ご教示のほど、宜しくお願いいたします。 | ||||
|
投稿日時: 2006-11-21 14:17
DataBinder.Eval だとして、書式指定するには、
のようになります。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-11-21 14:20
失礼しました。DataBinder.Eval メソッドの事と勝手に解釈してました。(だったら、DataBinder.Eval と書きますよね)
TemplateControl.Eval メソッドの事ですよね。
「編集されない」「認識されない」とはどういう概念ですか? ****の部分にどういう値を書いていて、期待している値は何で、実際の結果は何になっているんでしょうか? _________________ 囚人@わんくま同盟 囚人のジレンマな日々 [ メッセージ編集済み 編集者: 囚人 編集日時 2006-11-21 14:21 ] | ||||
|
投稿日時: 2006-11-21 14:40
囚人さん
言葉足らずの部分があり、申し訳ありません。 <前提> まず前提として、上記の通り、VisualStudio2005で(ASP.NET 2.0 (VB.NET))で開発しており、そこでGUIで実装をしております。 よって、Evalメソッドがどのクラスのメソッドなのか意識しておらず、また、理解していなかったのが現状です。 ご参考として、コードビハインド部分の該当箇所を記載します。 <asp:Label ID="POINTLabel" runat="server" Text='<%# Eval("POINT", "{0:n}") %>'></asp:Label></td> <現状> >Eval("****", "{0:n}")の"{0:n}"の部分を"{0:c}"としても"{0:d}"としても、全>く編集されない。(認識されない。) の意味合いですが、 1."****"には、バインドしているDB(テーブル)の項目名が入っています。(上記のサンプルコードの"POINT"に当たる部分) 2.期待する結果は、当該項目が「200000」であれば、「200,000」と編集したいというのが要件です。そして、結果は「200000」のまま出力される、ということです。 (また、{0:c}だと、「\200,000」と編集されると考えてられるが、実際は「200000」のまま出力される、ということです。) (ちなみに、引数1つ(項目名のみ)ですと、「200000」が出力されます。) これで、ご質問の前提の情報が伝わりましたでしょうか。 以上、宜しくお願い致します。 | ||||
|
投稿日時: 2006-11-21 14:50
Eval で戻ってきた値が文字列だったりすると編集できないんじゃないかな。 | ||||
|
投稿日時: 2006-11-21 15:21
そんな気がしますね。POINTの型はなんでしょう? _________________ 囚人のジレンマな日々 |