这是我的DataGrid的内容
id
1
2
3A
4
5
6A
..
...
10V1
我想从datagrid获取最大数量。然后,我想 在网格旁边的文本框中显示下一个数字(在本例中为11)
预期产出
id
1
2
3A
4
5
6A
..
...
10V1
11
我尝试了以下代码:
textbox1.text = gridList.Rows(gridlist.RowCount() - 1).Cells(1).Value + 1
如果前一行值完全是数字,则它可以工作。但是,如果值是alpahnumeric,我收到以下错误:
Conversion from string "10V1" to type 'Double' is not valid.
有人可以帮我解决这个问题吗?我正在寻找VB.Net
答案 0 :(得分:5)
您可能需要调查Regex
来做到这一点(根据我对您的问题的理解)
这是一个related question。
Regex.Match
将返回与表达式匹配的字符串部分...在您的情况下,您需要字符串中的第一个数字(尝试"^\d+"
作为您的表达式,它会找到任何你的字符串开头的数字系列)。然后,您可以将结果字符串转换为int
并向其添加1。
希望这有帮助!
编辑:以下是regex expressions的更多信息。