2016-11-25 9 views
1

愚かここで疑問が、私のコードです:テキストボックスへの書き込み線?ここ

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim dt As DataTable 
    dt = CType(dgrGrid.DataSource, DataTable).Copy 
    Dim drs() As DataRow = dt.Select("CustomerID = 222") 
    For Each row As DataRow In drs 
     For Each item As Object In row.ItemArray 
      Debug.WriteLine("{0}", item) 
     Next 
    Next 
End Sub 

私は、デバッグウィンドウにすべての私の値を見ることができます。

この値をテキストボックスに吐き出す必要がある場合、私はそれを行う方法がわかりません。

目的は、値を取得するためにitemArrayを引き続き使用することです。

+0

新しい行を追加するための拡張メソッドあなたは1つのテキストボックスにすべての値を入れたいですか? – Plutonix

+0

はい。ありがとうございました 。 – BobNoobGuy

+0

私はあなたが学習やデバッグの目的のためだけにそれをしたいと思います。 –

答えて

2

あなたはこのようなものを使用することができます。

Dim rows = dt.Select() ' Or select using a criteria like you did 
Me.TextBox1.Text = String.Join(Environment.NewLine, _ 
    rows.Select(Function(r) String.Join(",", r.ItemArray))) 

TextBox1MultiLineでなければなりませんがEnvironment.NewLineを表示します。レザの答えに加えて

Me.TextBox1.AppendText("something" & Environment.NewLine) 
1

、そしてあなたは私のような怠け者だとどこでもEnvironment.NewLineを書きたくない場合は、あなたが作成することができます。また、あなたは、AppendLineような何かを探しているなら、

を使用します

Imports System.Runtime.CompilerServices 

Public Module Extensions 
    <Extension()> _ 
    Public Sub AppendLine(ByVal TargetTextBox As TextBox, ByVal Text As String) 
     TargetTextBox.AppendText(Text & Environment.NewLine) 
    End Sub 
End Module 

使用法:

For Each item As Object In row.ItemArray 
    TextBox1.AppendLine(item.ToString()) 
Next 
+0

拡張メソッドを 'WriteLine'に呼び出すことができます。 :) –

+1

私は質問のタイトルのために答えに拡張メソッドを追加しようとしていましたが、この[コメント](http://stackoverflow.com/questions/40810596/writeline-to-textbox/40810768#comment68842593_40810596)気が変わった。しかし、質問のタイトルはそのような答えが必要です:) –

+1

私には怠惰に見えません:] laziestはおそらく普通の 'TextBox1.Text&= item&vbCrLf'ですが、' .AppendLine'のように最後の行にスクロールしませんそうです。 '.AppendLine'リファレンスソースから興味深いものは、テキストの終わりを選択してその選択を置き換えることです。 'Textbox.Paste(String)'は同じ内部メソッドを使用して選択範囲を置き換えますが、元に戻すバッファもクリアします。 – Slai

関連する問題