2011-12-10 11 views
0

私のgridviewでは、私はsellprice、quantity、discount、netamountを持っています。ユーザーは数量と割引を入力し、結果はnetamount列に表示する必要があります、私はそれが動作していないこのコードで試しています最後の行は、私は問題を解決するために私を助けてくださいエラーを与える値を引いています.. ...私はテキストにこのコードを書いています は、あなたがエラーを取得している理由は、あなたの計算は、A返す文字列型はtxttotal.textであるAspドットネットの割引計算

foreach (GridViewRow row in GridView1.Rows) 
    { 
     TextBox txtSerAmt = (TextBox)row.FindControl("TxtServiceAmount"); 
     TextBox txtQuantity = (TextBox)row.FindControl("txtQuantity"); 
     TextBox txtdsAmount = (TextBox)row.FindControl("txtdsAmount"); 
     TextBox TxtNetAmt = (TextBox)row.FindControl("TxtNetAmt"); 

     if (txtSerAmt != null && txtQuantity != null && txtdsAmount != null) 
     { 
      TxtNetAmt.Text = (((
      Convert.ToDouble(txtSerAmt.Text) * Convert.ToDouble(txtQuantity.Text))) * Convert.ToDouble(txtdsAmount.Text)/100).ToString(); 
     } 
     txttotal.text = Convert.ToDouble(txtTotal.Text) - Convert.ToDouble(txtNetAmt.Text) 
    } 
+1

エラーメッセージは何ですか? – Hoque

+0

最後の行を注意深く観察し、テキストボックス名を確認し、それに応じて修正してください。 – Hoque

+0

'txttotal.text'とは何ですか?それは 'GridView'の列か別の' TextBox'の列ですか?それが列の場合は、最初に列を見つけます。次に、カラムの値をチェックします。ヌルの場合は0にして計算します。より明確にするためにエラーメッセージを投稿できますか? – Pooja

答えて

1
txttotal.text = (Convert.ToDouble(txtTotal.Text) - Convert.ToDouble(txtNetAmt.Text)).ToString() 

.....イベントを変更しましたあなたはToStringメソッドによって実行される文字列に変換する必要があります

+0

私は割引の結果を取得していませんし、最後の行では、エラーを与えることはできません減算をしようとしています..... – Rizwan

+0

"エラーはintを文字列に変換できません"、これは結果を変換する必要があります文字列。結果をDouble Variableに代入してDoubleを文字列に変換した後、文字列をtxttotal.textに代入する – Masoomian

+0

上記のコードを使用すると、上のコードではうまくいかない、あらかじめ感謝してくれてありがとう! !! – Rizwan

0

最後の行を注意深く観察してください:txttotaltxtTotal、ならびにtxtNetAmtは以前行にTxtNetAmtとして記載されています。

いくつかのスペルの違いがあります。

**txttotal**.text = Convert.ToDouble(**txtTotal**.Text) - Convert.ToDouble(**txtNetAmt**.Text) 
+0

** txttotal **。text = Convert.ToDouble(** txtTotal **。Text) - Convert.ToDouble(** TxtNetAmt **。Text) – Rizwan

+0

@RizwanあなたはtxttotalとtxtTotalは2つの異なるテキストボックス? – Hoque

0

最初に、値がnullでないことを確認します。 nullは手動で入れて「0」に意味場合はそうです、それはすべきエラーが上昇し、ほとんどに引いた後、葯一つのことは、「Masoomian」答え

TextBox TxtNetAmt = (TextBox)row.FindControl("TxtNetAmt"); 

txttotal.text = (Convert.ToDouble(txtTotal.Text) - 
Convert.ToDouble(txtNetAmt.Text)).ToString(); 

のような文字列に変換するには、あなたがすべてにFindControl、コントロールをチェックする必要がありますidは正しいです。この計算はRowboundイベントでのみ行われます

関連する問題