0

データベースからいくつかのデータをプルしているグリッドビューがあります。列の1つは為替レートを示しているため、たとえば1.54です。グリッドビューの上に、金額を入力できるテキストボックスがあります(たとえば、500)。

グリッドビューに「500is」という列を作成できるようにしたいのですが、500はテキストボックスから取得され、グリッドの行は500*1.54を表示します。

私のテキストボックスは次のとおりです。

<asp:TextBox id="CustomerAmount" runat="server" value="500" Width="73px"></asp:TextBox>

これに掛けたいグリッドビューの値は次のとおりです。

<asp:BoundField DataField="Rate" HeaderText="Rate" SortExpression="Rate" dataformatstring="{0:F4}">
<HeaderStyle BackColor="#1686D6" Font-Bold="True" ForeColor="White" HorizontalAlign="Left" />                  
<ItemStyle HorizontalAlign="Left" />                  
</asp:BoundField>

どんなアイデアでも、私はこれに固執しています。

4

1 に答える 1

0

ヘッダーを設定するには(1が列インデックスであると仮定します):

protected void GridView1_DataBound(object sender, EventArgs e)
{
    GridView1.Columns[1].HeaderText = CustomerAmount.Text + " is";
}

セルデータを設定するには、テンプレート列を追加します。

<asp:TemplateField HeaderText="is">
    <ItemTemplate>
        <asp:Label Text="<%# int.Parse(CustomerAmount.Text) * (decimal)Eval("Rate") %>" runat="server" />
    </ItemTemplate>
</asp:TemplateField>

テキストボックスが空でないことを確認してください(初期int値があります)。

于 2012-08-28T19:53:29.727 に答える