21/05/10 13:51
the_angel
ciao ragazzi...sto cercando di ordinare un datatable manualmente...
qualcuno ha idea di dove sbagli? mi ritorna solo la data più piccola...
grazie mille!
' procedure SelectionSort(a: lista dei numeri da ordinare);
'for i = 1 to n - 1
' posmin ← i
' for j = (i + 1) to n
' if a[j] < a[posmin]
' posmin ← j
' aus ← a[i]
' a[i] ← a[posmin]
' a[posmin] ← aus
Public Function OrdinaTabella(ByRef myDt As DataTable) As DataTable
Dim I, J As Integer
Dim DTOrdinato As DataTable = myDt.Clone()
Dim a As DataRow() = myDt.Select()
Dim PosMin As Integer
Dim RigaSuccessiva As DataRow = myDt.NewRow()
Dim Temp As DataRow = myDt.NewRow()
For I = 0 To a.Length - 1
PosMin = I
For J = I + 1 To a.Length - 1
If CDate(a(J)("Data") < CDate(a(PosMin)("Data") Then
PosMin = J
End If
Next J
Temp = a(I)
a(I) = a(PosMin)
a(PosMin) = Temp
DTOrdinato.ImportRow(a(PosMin))
Next I
Return DTOrdinato
qualcuno ha idea di dove sbagli? mi ritorna solo la data più piccola...
grazie mille!
' procedure SelectionSort(a: lista dei numeri da ordinare);
'for i = 1 to n - 1
' posmin ← i
' for j = (i + 1) to n
' if a[j] < a[posmin]
' posmin ← j
' aus ← a[i]
' a[i] ← a[posmin]
' a[posmin] ← aus
Public Function OrdinaTabella(ByRef myDt As DataTable) As DataTable
Dim I, J As Integer
Dim DTOrdinato As DataTable = myDt.Clone()
Dim a As DataRow() = myDt.Select()
Dim PosMin As Integer
Dim RigaSuccessiva As DataRow = myDt.NewRow()
Dim Temp As DataRow = myDt.NewRow()
For I = 0 To a.Length - 1
PosMin = I
For J = I + 1 To a.Length - 1
If CDate(a(J)("Data") < CDate(a(PosMin)("Data") Then
PosMin = J
End If
Next J
Temp = a(I)
a(I) = a(PosMin)
a(PosMin) = Temp
DTOrdinato.ImportRow(a(PosMin))
Next I
Return DTOrdinato
aaa