2017-12-12 46 views
0

私はデータがOleDBデータベースから供給されている以下のGridViewを持っています。aspにテキストを追加する方法:GridViewのBoundField?

<asp:GridView ID="GridViewSavingsTracker" AutoGenerateColumns="false" runat="server"> 
    <Columns> 
     ... 
     <asp:BoundField DataField="interestRate" HeaderText="Interest Rate" /> 
     ... 
    </Columns> 
</asp:GridView> 

そして、私は次のようにGridViewコントロールでデータベースと印刷の内容を読んでいます:

protected void ShowGridView() 
{ 
    string connectionString = GetConnString(); 
    OleDbConnection con = new OleDbConnection(connectionString); 
    con.Open(); 
    string sqlQuery = "select * from ... "; 
    OleDbCommand showGridViewCommand = new OleDbCommand(showGridViewQuery, con); 
    showGridViewCommand.ExecuteNonQuery(); 

    DataTable dt = new DataTable(); 
    OleDbDataAdapter olda = new OleDbDataAdapter(showGridViewCommand); 
    olda.Fill(dt); 

    GridViewSavingsTracker.DataSource = dt; 
    GridViewSavingsTracker.DataBind(); 

    con.Close(); 

} 

私が何をしたい:私は内容に%記号を追加したいですGridViewのinterestRate列を3の代わりに3%と表示するようにします。しかし、%記号をデータベースに挿入しないでください。つまり、%シンボルは、GridViewでの表示目的でのみ使用する必要があります。

答えて

0

金利は、そのようなフォーマットされている場合は、以下の解決策の一つは、あなたの質問、

を是正れているあなたは、データベース内の金利が異なります保存方法に応じて、0 = 0%と1 = 100%あなたに使用することができます。

<asp:BoundField DataField="interestRate" HeaderText="Interest Rate" DataFormatString="{0:p}"/> 

Documentation

をそれ以外の場合は、あなたが

<columns> 
    <asp:TemplateField HeaderText="Interest Rate:"> 
     <ItemTemplate> 
      <asp:Literal ID="IntRate" runat="server" Text='<%# Eval("InterestRate") + "%" %>'></asp:Literal> 
     </ItemTemplate> 
    </asp:TemplateField> 
</columns> 
テンプレートを行う必要があります

あなたの応答のための

protected void GridViewSavingsTracker_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    int index = Convert.ToInt32(e.CommandArgument); 
    var row = GridViewSavingsTracker.Rows[index]; 
    var interestRate = ((Literal row.FindControl("IntRate")).Text; 
    if (e.CommandName == "SomeCommand") 
    { 
     TextBoxInterestRate.Text = interestRate; 
    } 
} 
+0

おかげで多くのことを以下のコメントどおりの答えを更新します。私はあなたが私に与えた第二の選択肢を試しています。私はそれを完了したらあなたにフィードバックをお送りします。私はデータベースに金利をそのまま保管しています。金利が6であれば、6%を意味します。 16の場合は16%を意味します。 –

+0

正常に動作します。私は興味の値の横に%記号を表示することができます。しかし、選択ボタンをクリックすると、コードは金利値を読み取っていません。単に '' ''を読み込み、 'TextBoxInterestRate'で何も印刷しないことです。 これは私がGridViewから金利値を読み込む方法です:' TextBoxInterestRate.Text = GridViewSavingsTracker.Rows [rowID] .Cells [3] .Text; ' –

+0

GridViewの他のすべてのフィールドは、値を正常に読み取っています。 –

関連する問題