Как конвертировать текст в деньги внутри gridview? - PullRequest
2 голосов
/ 07 февраля 2012

У меня есть сетка, которая отображает информацию из базы данных, и я хочу преобразовать результаты в денежный формат.Это строка, которую я пытаюсь преобразовать:

<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="&gt;&gt; "></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>

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Проверьте, не является ли OrderTotal не числовым типом, если это так, то это проблема. Преобразуйте его в число, и оно должно работать

1 голос
/ 07 февраля 2012

Eval должен работать ... Есть ли причина, по которой вы используете Eval для одних и Bind для других?

<%#Eval("OrderTotal", "{0:c}")%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...