2016-12-11 2 views
1

GridView列の値を変数と合計し、その結果を第2列に表示します。私はこれをやろうとしています。しかし、GirdViewの列を整数に変換すると、変数でGridView列を合計できません

"入力文字列が正しい形式ではありませんでした。エラーが発生しています。

long openingBalace = 5000;  
for (int i = 0; i < GridView1.Rows.Count; i++) 
{ 
    long sum = openingBalace + Convert.ToInt64((GridView1.Rows[i].Cells[7].Text)); 
    GridView1.Rows[i].Cells[8].Text = sum.ToString(); 
} 

答えて

0

変換する前に、値がRegex Regex.IsMatch(input, @"^\d+$")を使用して数値であることを確認できます。

long openingBalace = 5000; 
    for (int i = 0; i < GridView1.Rows.Count; i++) 
    { 
     string input = GridView1.Rows[i].Cells[7].Text; 
     if (Regex.IsMatch(input, @"^\d+$")) 
     { 
      long sum = openingBalace + Convert.ToInt64(input); 
      GridView1.Rows[i].Cells[8].Text = sum.ToString(); 
     } 
    } 

また、あなたはTryParse()を使用し、チェック結果とどのような方法があるnum

long num = 0; 
bool result = long.TryParse(input, out num); 
+0

追加することができます?それは私のために働いていません。 Wiśnicki – bluebay

+0

このエラーは、解析値が正しくないことを明確に示しています。 「それは私のために働いていない」という意味ですか?コードのどの部分がうまくいかないのですか?そのシンプルなグリッドから値を取得し、解析する前にチェックしてください。 –

+0

私はあなたに感謝していますよ@M.Wiśnicki – bluebay

関連する問題