【问题标题】:Can not sum GridView column with a variable无法将 GridView 列与变量相加
【发布时间】:2016-12-11 17:25:44
【问题描述】:

我想将 GridView 列的值与一个变量相加,并在第二列中显示结果。我正在尝试这样做。但是当我将 GirdView 列转换为整数时,以下

“输入字符串的格式不正确。”发生错误。

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();
}

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    在转换之前,您可以使用 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);
    

    【讨论】:

    • 有什么办法吗??它对我不起作用@M。维希尼基
    • 这个错误清楚地表明解析值不正确。你的意思是“它不适合我”?代码的哪一部分不起作用?它很简单,您可以从网格中获取值,在解析之前检查它以及它的全部。
    猜你喜欢
    • 2020-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-06-18
    相关资源
    最近更新 更多