Solved

CSV items to multiline textbox in VB.NET

Posted on 2009-05-14
7
844 Views
Last Modified: 2013-11-26
I am using Visual Studio 2008. I am trying to take a line of comma separated items and send them to a multiline textbox.  For example "1,2,3,4" would appear in the textbox as:

1
2
3
4

I would like to do this in a For Each or For Next statement.
0
Comment
Question by:schwientekd
  • 3
  • 2
  • 2
7 Comments
 
LVL 16

Expert Comment

by:Walter Ritzel
ID: 24389013
If you dont have the comma as a valid char for each value, you can try something like this:

Dim formatedValue as String

formatedValue = SourceCSVLine.Replace(",",CHR(13))

textBox.Text = formatedValue

Sorry for bad VB syntax... I'm C# guy....
0
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24389106
The following code assigns each delimited part as a new line
string line = "1,2,3,4";
textBox.Text = line.Replace(',', '\n');

Open in new window

0
 
LVL 8

Expert Comment

by:RyanAndres
ID: 24389115
Someone beat me and I forgot to convert to VB:
Dim line As String = "1,2,3,4"
textBox.Text = line.Replace(","c, ControlChars.Lf)

Open in new window

0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 

Author Comment

by:schwientekd
ID: 24389128
I modified your lines slightly by replacing CHR(13) with vbCrLf and that did accomplish the simple question I asked.  However I was looking for a way to do this with a For statement.  The reason is that the thing I am trying to accomplish is much more complex but I was trying to start small.  The comma separated items I am using are actually going to be codes that are stored in a table.  Each code will have another column with a description and the descriptions are what need to appear in my textbox. Sorry for the long explanation which I don't expect to be answered in this post but I just wanted to explain my reason for wanting to use a For statement.
0
 
LVL 8

Accepted Solution

by:
RyanAndres earned 500 total points
ID: 24389333
This code allows you to manipulate each line. If this is not what you're looking for please provide a sample input and expected output.

Dim str As String = "1,2,3,4"
Dim lines As String() = str.Split(","c)
 
Dim output As New StringBuilder()
For Each line As String In lines
    output.AppendLine(line.Trim())
Next
txtFirstName.Text = output.ToString()

Open in new window

0
 
LVL 16

Expert Comment

by:Walter Ritzel
ID: 24390580
In this case, I think the last code from RyanAndres is what you are looking for.
0
 

Author Closing Comment

by:schwientekd
ID: 31581651
I think that this will get me started.  Thanks.
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A short article about a problem I had getting the GPS LocationListener working.
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question