'Select Distinct Fields From DateTable
'Return DataTable
'Usage:DataSetSelectDistinct("tablename",dtSource, "Columns1,Columns2,.....")
Function DataSetSelectDistinct(ByVal strTableName As String, ByVal
dtSourceTable As DataTable, ByVal strFieldNames As String) As
DataTable
Dim drRow As DataRow
Dim objLastValue As DataRow
Dim dtTable As New DataTable(strTableName)
Dim arrFieldName As Array
Try
If strFieldNames = "" Then Return dtSourceTable
arrFieldName = Split(strFieldNames, ",")
For Each obj As Object In arrFieldName
dtTable.Columns.Add(obj,
dtSourceTable.Columns(obj).DataType)
Next
For Each drRow In dtSourceTable.Select("", strFieldNames)
If objLastValue Is Nothing OrElse Not
DataSetColumnEqual(objLastValue, drRow, arrFieldName) Then
objLastValue = dtTable.NewRow
For Each dr As DataColumn In dtTable.Columns
objLastValue(dr.ColumnName) =
drRow(dr.ColumnName)
Next
dtTable.Rows.Add(New Object() {objLastValue}(0))
End If
Next
Return dtTable
Catch ex As Exception
Throw ex
End Try
End Function