私はデータベースからの情報を表示するグリッドビューを持っており、結果を金額形式に変換したいと考えています。 これは私が変換しようとしていますラインです:gridviewの中でテキストをお金に変換するには?
<asp:Label ID="Label2" runat="server" Text='<%# Bind("OrderTotal", "{0:c}") %>'></asp:Label>
これは動作しません、それはエラー出力しません。グリッドビューには整数だけが表示されます。 .aspxページでこれを行う方法がありますか?そうでなければ、すべての行をMoney形式に変換するために何をする必要がありますか?
ありがとうございます!
編集: 全体のGridViewのコード:
<asp:GridView ID="GridView1" runat="server" AllowSorting="True"
AutoGenerateColumns="False" CellPadding="4" DataKeyNames="OrderID"
DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None" Width="100%"
AllowPaging="True" style="margin-right: 3px" PageSize="50">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False"
CommandName="Select" Text=">> "></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Order #" InsertVisible="False"
SortExpression="OrderID">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("OrderID") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:HyperLink ID="HyperLink2" runat="server" Text='<%# Bind("OrderID") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date" SortExpression="OrderDate">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("OrderDate") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("OrderDate", "{0:d}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="OrderAccount" HeaderText="Ordered By"
SortExpression="OrderAccount" />
<asp:BoundField DataField="OrderCostCentre" HeaderText="Cost Centre"
SortExpression="OrderCostCentre" />
<asp:TemplateField HeaderText="Total" SortExpression="OrderTotal">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server"
Text='<%# Bind("OrderTotal", "{0:c}") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("OrderTotal").ToString("C") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#999999" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
グリッドビューのマークアップを表示できますか?あなたは束縛列を使っていますか? –
あなたのフォーマッタ文字列に 'C'を大文字にしていると思います。 "{0:C}" –
簡単に、リードを金に変換するのに使用された同じフォーミュラを適用してください...あのフォーミュラは既に分かっていませんか? ; – musefan