【问题标题】:CSV values in Datatable Cell to textBoxes数据表单元格中的 CSV 值到文本框
【发布时间】:2016-11-10 19:13:03
【问题描述】:
公平的初学者因此这个问题。
我有一个从 MSSQL 读取的数据表,其中一个字段(单元格)是 IP 地址。很有帮助的是,编码人员已将它们全部作为 CSV 放在一个单元格中:(
123.456.111.222, 4.56.78.23, 143.222.222.1
- 我需要在多行文本框中的页面上将这些显示为单行条目。
- 然后我需要将条目重新读回单个 CSV 单元格并更新它们来自的数据表。
它在 VB 中,但我现在会采取任何措施!
非常感谢任何人。现在已经玩了 6 个小时了,就是做不到。
【问题讨论】:
标签:
vb.net
csv
datatable
code-behind
【解决方案1】:
- 我需要在多行文本框中的页面上将这些显示为单行条目。
如果您有一个字符串并且您想将其拆分为多个标记,请使用String.Split:
Dim cellText = "123.456.111.222, 4.56.78.23, 143.222.222.1"
Dim allIPs As String() = cellText.Split({", "}, StringSplitOptions.RemoveEmptyEntries)
- 然后我需要将条目重新读回单个 CSV 单元格并更新它们来自的数据表。
如果你想反其道而行之,请使用String.Join:
Dim cellText As String = String.Join(", ", allIPs)
yourDataRow.SetField("ColumnName", cellText)
【解决方案2】:
谢谢。这是我使用的最终代码:
Dim allIPs As String() = IPcellText.Split({", "}, StringSplitOptions.RemoveEmptyEntries)
TextBox1.Text = String.Join(Environment.NewLine, allIPs)
' Re-read back
Dim allips2 As String() = TextBox1.Text.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries)
For i As Integer = 0 To allIPs.Length - 1
allIPs(i) = allIPs(i).Trim()
Next
Dim ipList As String = String.Join(", ", allIPs)
Response.Write(ipList)