Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub CSVR()
- Dim tbl_csv As New DataTable
- Dim data() As String
- Dim separator As String = ","
- cmb_clmn.Items.Clear()
- For i = 0 To DataGridView1.Columns.Count - 1
- If DataGridView1.Columns(i).HeaderText.Contains("Lastseen") Then
- tbl_csv.Columns.Add(DataGridView1.Columns.Item(i).HeaderText, GetType(Date))
- Else
- tbl_csv.Columns.Add(DataGridView1.Columns.Item(i).HeaderText)
- End If
- 'tbl_csv.Columns(i).Caption = DataGridView1.Columns.Item(i).HeaderText
- cmb_clmn.Items.Add(DataGridView1.Columns.Item(i).HeaderText)
- Next
- Try
- Using csv As New IO.StreamReader(lbl_pth.Text)
- Do While csv.EndOfStream = False
- data = Split(csv.ReadLine(), separator)
- tbl_csv.Rows.Add(data)
- Loop
- End Using
- DataGridView1.Columns("Lastseen").DefaultCellStyle.Format = "d"
- 'tbl_csv.Columns("Lastseen").DateTimeMode = DataSetDateTime.UnspecifiedLocal
- 'tbl_csv.Columns("Lastseen").DataType = GetType(DateTime)
- 'tbl_csv.Columns.Item("Lastseen") = DateTime.Parse(tbl_csv.Columns.Item("Lastseen"))
- DataGridView1.DataSource = Nothing
- DataGridView1.Columns.Clear()
- DataGridView1.DataSource = tbl_csv
- For i As Integer = 0 To tbl_csv.Columns.Count - 1
- ' DataGridView1.Columns.Item(i).Visible = False
- 'DataGridView1.Columns.Item(i).ReadOnly = True
- 'DataGridView1.Columns.Item(i).SortMode = DataGridViewColumnSortMode.Automatic
- Next
- Catch ex As Exception
- '///////////////////////////////////////////////
- MsgBox(ex.Message, MsgBoxStyle.Critical, "erR0r in CSVR")
- End Try
- End Sub
- Public Shared Function DatTime(ByVal txtDate As String)
- Dim tempDate As DateTime
- DateTime.TryParseExact(txtDate, "dd/MM/yyyy", System.Globalization.CultureInfo.CurrentCulture, Globalization.DateTimeStyles.None, tempDate)
- Return tempDate
- End Function
- Public Function RemoveDuplicateRows(ByVal dTable As DataTable, ByVal colName As String) 'As DataTable
- ' On Error Resume .
- Dim dict As New Dictionary(Of String, DataRow)
- Dim dtb As New DataTable
- For Each dtRow As DataRow In dTable.Rows
- Dim key As String = dtRow("PublishingPoint") + "," + dtRow("Username") + "," + dtRow("IP") + "," + dtRow("Status") + "," + dtRow("Req URL") '+ "," + dtRow("Last seen")
- Dim dictRow As DataRow = Nothing
- If dict.TryGetValue(key, dictRow) Then
- 'check and update date
- 'you can skip this part, if your data is sorted
- If DatTime(dtRow(colName)) > DatTime(dictRow(colName)) Then
- dictRow(colName) = DatTime(dtRow(colName))
- End If
- Else
- dict.Add(key, dictRow)
- End If
- Next
- Return dict.Values.ToArray()
- End Function
- Private Sub chb_remdup_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chb_remdup.CheckedChanged
- DataGridView1.DataSource = RemoveDuplicateRows(DataGridView1.DataSource, "Lastseen")
- End Sub
- My *.csv Content:
- -,AST-VM2003\Administrator,192.168.137.221,2,file:--C:\WMPub\WMRoot\industrial.wmv,10-10-2014
- -,AST-VM2003\Administrator,192.168.137.221,2,file:--C:\WMPub\WMRoot\industrial.wmv,11-10-2014
- -,AST-VM2003\Administrator,192.168.137.221,2,file:--C:\WMPub\WMRoot\industrial.wmv,12-30-2014
- -,AST-VM2003\Administrator,192.168.137.222,2,file:--C:\WMPub\WMRoot\industrial.wmv,12-10-2014
- -,AST-VM2003\Administrator,192.168.137.222,2,file:--C:\WMPub\WMRoot\industrial.wmv,12-11-2014
- -,AST-VM2003\Administrator,192.168.137.222,2,file:--C:\WMPub\WMRoot\industrial.wmv,12-12-2014
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement