【问题标题】:Concatenate strings on a single column on a data grid在数据网格的单列上连接字符串
【发布时间】:2021-10-01 00:53:54
【问题描述】:

早安,

我只是有一个关于 vb.net 数据网格的问题。我想组合所有单元格列值并将其放在一个字符串上。

数据网格值

ID Code
1 110
2 120
3 130

需要在文本框上输出

文本框1 = 110-120-130

我知道这是一个简单的问题,但在 google 上找不到,这就是为什么我希望这里的一些退伍军人能够解决我的问题。提前谢谢你。

【问题讨论】:

  • 与其寻找代码进行复制和粘贴,不如考虑一下如何?大多数初学者遇到的最大问题是,他们将面前的东西视为一个单元,并希望找到代码来做这件事。这不是解决编程问题的方法。在这种情况下,您可以将问题分解为至少两部分:将数据从网格中取出并将多个字符串合并为一个。我发现很难相信你至少不能孤立地工作,一旦你能做到,你只需将两者放在一起就完成了。
  • 哇。没想到,谢谢提醒
  • 编程就是把你所知道的基本知识并以新颖的方式组合起来做一些新的事情。总是把你的问题分解成最小的部分,然后单独解决每个部分。你解决每个部分问题,组合解决方案本质上解决了原始问题。如果有一个特定部分无法解决,即使经过研究,您也应该具体询问该部分。不过,您在这里的问题至少涉及两个部分,因此您还有更多工作要做来解决问题。

标签: vb.net datagrid


【解决方案1】:

我不知道什么是数据网格,但我确信它基于一些重复结构,例如数据表、列表或二维数组

当您想使用重复连接构建字符串时,您可以使用 stringbuilder

Dim sb as New StringBuilder

Append 方法返回字符串生成器本身,因此您可以调用 Append().Append()...

sb.Append("130").Append("-")

当你想重复做某事时,你可以在事物集合上使用循环

For Each ro as DataRow in someDataTable.Rows

Next ro

所以你可以在循环中调用来获取你想要的数据并将其放入字符串生成器中

For Each ro as DataRow in someDataTable.Rows
  sb.Append(ro("Code")).Append("-")
Next ro

如果你改变一个字符串生成器的长度,它会切断字符串的结尾

sb.Length -= 1

要将字符串生成器转换为字符串,请使用其.ToString() 函数

您现在拥有解决问题所需的所有工具。为免生疑问,几乎可以肯定的是,您不能只是复制粘贴此代码并让它解决您的问题。您绝对必须保持大脑参与,了解此答案的含义并对其进行修改以使其适用于您的情况

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多