台灣最大程式設計社群網站
線上人數
1185
 
會員總數:243449
討論主題:188175
歡迎您免費加入會員
討論區列表 >> VB.NET >> DataGridView1抓出相同資料到DataGridView2
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
DataGridView1抓出相同資料到DataGridView2
價值 : 200 QP  點閱數:94 回應數:3

樓主

ray
門外漢
0 1
14 1
發送站內信

各為大大好
我是最近剛學vb一個月的新手,最近寫了一個程式可以將csv檔 顯示到DataGridView1
顯示內容大致如下:
船名 出港時間 出港港口 入港時間 入港港口
CTPFB0128 2017/02/28 17:57:00 蚵子寮 2017/03/01 02:45:00 蚵子寮
CTPFB2549 2017/03/04 00:21:00 伽藍 2017/03/04 17:09:00 開元
CTPFB2542 2017/03/05 03:48:00 開元 2017/03/05 18:09:00 開元
CTPFB2550 2017/03/04 00:21:00 伽藍 2017/03/04 17:09:00 開元
CTPFB0199 2017/02/28 17:57:00 蚵子寮 2017/03/01 02:45:00 蚵子寮
CTPFA0309 2017/03/04 17:59:04 蚵子寮 2017/03/04 20:16:35 蚵子寮

希望可以透過比較(出港時間,出港港口,入港時間,入港港口),並透過一個button
將相同的資料 例如:第一列資料與第五列資料抓到DataGridView2;第二列資料與第四列資料抓到DataGridView2
目前不知道如何起手,之前寫的程式只能比較相同行,並將齊分類,但與我預期的似乎差蠻多的




搜尋相關Tags的文章: [ DataGridView ] ,
本篇文章發表於2018-10-31 10:57
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
作者回應

ray
檢舉此回應
隔式跑掉了,這樣應該比較清楚

船名 -------------出港時間 -----------出港港口 ----------入港時間 -----------入港港口
CTPFB0128 --2017/02/28 17:57:00 -------蚵子寮 --------2017/03/01 02:45:00 ---蚵子寮
CTPFB2549 --2017/03/04 00:21:00 -------伽藍 ----------2017/03/04 17:09:00 ---開元
CTPFB2542 --2017/03/05 03:48:00 -------開元 ----------2017/03/05 18:09:00 ---開元
CTPFB2550 --2017/03/04 00:21:00 -------伽藍 ----------2017/03/04 17:09:00 ---開元
CTPFB0199 --2017/02/28 17:57:00 -------蚵子寮 --------2017/03/01 02:45:00 ---蚵子寮
CTPFA0309 --2017/03/04 17:59:04 -------蚵子寮 --------2017/03/04 20:16:35 ---蚵子寮
本篇文章回覆於2018-10-31 11:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

初階MIS
檢舉此回應
個人比較喜歡以sql的方式下手,用sql比較容易達成
本篇文章回覆於2018-11-01 08:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

roar
檢舉此回應
Imports System.IO
Imports System.Text
Imports System.Data
Public Class Form1

Dim datatableA As New DataTable
Dim datatableB As New DataTable
Dim Namelist As New List(Of String)
Dim NamelistA As New List(Of String)

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim readerA As New IO.StreamReader("D:\AAA.csv", System.Text.Encoding.Default)
Dim lineA As String = ""
Do
lineA = readerA.ReadLine
If lineA Is Nothing Then Exit Do
Namelist.Add(lineA)
Dim columnsA() As String = lineA.Split(",")
Dim newrow As DataRow = datatableA.NewRow
newrow("shipName") = columnsA(0)
newrow("ExitTime") = columnsA(1)
newrow("exitport") = columnsA(2)
newrow("entertime") = columnsA(3)
newrow("enterport") = columnsA(4)
datatableA.Rows.Add(newrow)
Loop
readerA.Close()
DataGridView2.DataSource = datatableA
Me.Text = datatableA.Rows.Count & "rows"
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim st As String = ""
Dim sy As String = ""
i = Namelist.Count
For j = 0 To i - 1
st = Namelist.Item(j).Substring(10, Len(Namelist.Item(j)) - 10)
For k = j + 1 To i - 1
sy = Namelist.Item(k).Substring(10, Len(Namelist.Item(k)) - 10)
If st = sy Then
NamelistA.Add(Namelist.Item(j))
End If
Next
Next
For Each AAA In NamelistA
Dim columnsB() As String = AAA.Split(",")
Dim nrow As DataRow = datatableB.NewRow
nrow("shipName") = columnsB(0)
nrow("ExitTime") = columnsB(1)
nrow("exitport") = columnsB(2)
nrow("entertime") = columnsB(3)
nrow("enterport") = columnsB(4)
datatableB.Rows.Add(nrow)
Next
DataGridView3.DataSource = datatableB

End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load

datatableA.Columns.Add("ShipName")
datatableA.Columns.Add("ExitTime")
datatableA.Columns.Add("ExitPort")
datatableA.Columns.Add("EnterTime")
datatableA.Columns.Add("EnterPort")

datatableB.Columns.Add("ShipName")
datatableB.Columns.Add("ExitTime")
datatableB.Columns.Add("ExitPort")
datatableB.Columns.Add("EnterTime")
datatableB.Columns.Add("EnterPort")

End Sub
End Class
本篇文章回覆於2018-11-01 11:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.