'Select Distinct Fields From DateTable
'Return DataTable
'Usage:DataSetS electDistinct(" tablename",dtSo urce,"Columns1, Columns2,....." )
Function DataSetSelectDi stinct(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(strTa bleName)
Dim arrFieldName As Array
Try
If strFieldNames = "" Then Return dtSourceTable
arrFieldName = Split(strFieldN ames, ",")
For Each obj As Object In arrFieldName
dtTable.Columns .Add(obj,
dtSourceTable.C olumns(obj).Dat aType)
Next
For Each drRow In dtSourceTable.S elect("", strFieldNames)
If objLastValue Is Nothing OrElse Not
DataSetColumnEq ual(objLastValu e, drRow, arrFieldName) Then
objLastValue = dtTable.NewRow
For Each dr As DataColumn In dtTable.Columns
objLastValue(dr .ColumnName) =
drRow(dr.Column Name)
Next
dtTable.Rows.Ad d(New Object() {objLastValue}( 0))
End If
Next
Return dtTable
Catch ex As Exception
Throw ex
End Try
End Function
'Return DataTable
'Usage:DataSetS electDistinct(" tablename",dtSo urce,"Columns1, Columns2,....." )
Function DataSetSelectDi stinct(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(strTa bleName)
Dim arrFieldName As Array
Try
If strFieldNames = "" Then Return dtSourceTable
arrFieldName = Split(strFieldN ames, ",")
For Each obj As Object In arrFieldName
dtTable.Columns .Add(obj,
dtSourceTable.C olumns(obj).Dat aType)
Next
For Each drRow In dtSourceTable.S elect("", strFieldNames)
If objLastValue Is Nothing OrElse Not
DataSetColumnEq ual(objLastValu e, drRow, arrFieldName) Then
objLastValue = dtTable.NewRow
For Each dr As DataColumn In dtTable.Columns
objLastValue(dr .ColumnName) =
drRow(dr.Column Name)
Next
dtTable.Rows.Ad d(New Object() {objLastValue}( 0))
End If
Next
Return dtTable
Catch ex As Exception
Throw ex
End Try
End Function