0

这是我的 DataGrid 的内容

id

1
2
3A
4
5
6A
..
...
10V1

我想从数据网格中获取最大数量。然后,我想在网格旁边的文本框中显示下一个数字(在这种情况下:11)

预期产出

id

1
2
3A
4
5
6A
..
...
10V1
11

我尝试了以下代码:

textbox1.text = gridList.Rows(gridlist.RowCount() - 1).Cells(1).Value + 1

如果前一行的值完全是数字,它会起作用。但是,如果该值为字母数字,我会收到以下错误:

Conversion from string "10V1" to type 'Double' is not valid.

有人可以帮我解决这个问题吗?我正在寻找解决方案VB.Net

4

1 回答 1

5

您可能想考虑Regex这样做(根据我从您的问题中了解到的)

这是一个相关的问题

Regex.Match将返回与表达式匹配的字符串部分...在您的情况下,您需要字符串中的第一个数字(尝试"^\d+"作为您的表达式,它将在字符串的开头找到任何一系列数字)。然后,您可以将结果字符串转换为 anint并向其添加 1。

希望这可以帮助!

编辑:这里有更多关于正则表达式的信息。

于 2012-10-17T19:17:52.890 回答