我在一個richtextbox里有幾行資訊,它們之間有分隔符。我想把它加載到一個帶有列
的資料網格視圖中。
ID|姓名|等級|狀態
我的代碼沒有使用分隔符。
Dim Separador As Char = " ;"
Dim datagrid As New DataTable
Dim dr As DataRow
'==========================================
datagrid.Columns.Add("ID")
datagrid.Columns.Add("Name")
datagrid.Columns.Add("Rank")
datagrid.Columns.Add("Status")
dr = datagrid.NewRow()
'==========================================
Dim myList1 As New List(Of String)
myList1.AddRange(RichTextBox2.Lines)
DataGridView1.ColumnCount=1
Dim row As String()
Dim counter As Integer = 0
Dim columnIndex As Integer = 0
'初始化所需的最大行數。
DataGridView1.Rows.Add(1000)
For index = 0 To RichTextBox2.Line.Count - 1
row = New String() {myList1(index)}.
'填充每一行和每一個單元格。
DataGridView1.Rows(counter).Cells(columnIndex).Value = row(0).ToString()
counter =1.ToString()
If counter = 1000 Then
columnIndex = 1
'添加新列
Dim col As New DataGridViewTextBoxColumn
' DataGridView1.Rows.Add(col)。
' DataGridView1.Columns.Add(col)。
counter = 0
DataGridView1.DataSource = datagrid
End If
下一步
uj5u.com熱心網友回復:
通過將每一行資料決議為一個類,你可能會得到更多的效用;然后該資料可以存盤在一個List中;而該List可以成為DataGridView的DataSource。
一旦你掌握了它的竅門,一旦資料在 List 中,就可以很容易地使用 LINQ 來操縱資料。
例如,在表單中使用RichTextBox1和DataGridView1:
Public Class Form1
Public data As New List(Of Datum)
Public Class Datum
屬性 ID As Integer
屬性名稱As String
Property Rank As String
屬性狀態作為 String
結束 類別
Sub FillDGV()
DataGridView1.DataSource = data
結束 Sub
Sub ExtractData()
data.Clear()
For Each line In RichTextBox1.Lines
Dim parts = line.Split(" ; "c)
If parts.Count = 4 Then
data.Add(New Datum() With {
.ID = CInt(parts(0)) 。
.Name = parts(1)。
.等級 = parts(2)。
.狀態 = parts(3)})
End If
下一步 下一步
結束 子
Sub FillRTB()
For i = 1 To 10
RichTextBox1.AppendText($"{i};{ChrW(64 i)};{10 - i};?"/span> & vbLf)
Next
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase. 加載
填寫RTB()
ExtractData()
填寫DGV()
End Sub。
結束 類
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/308297.html
標籤:

