Jag har en datatable som jag fyller med en hockeytabell. Löste detJämföra värden i datatable
Jag gör så här för att kolla om det finns två lag med samma poäng, samma målskillnad och samma antal gjorda mål.
<code>
Dim i, j As Integer
For i = 0 To dt.Rows.Count - 1
For j = i + 1 To dt.Rows.Count - 1
If dt.Rows(i).Item(7) = dt.Rows(j).Item(7) And dt.Rows(i).Item(10) = dt.Rows(j).Item(10) And dt.Rows(i).Item(8) = dt.Rows(j).Item(8) Then
End If
Next
Next
</code>
Nu skulle jag vilja göra så att om det finns två lag som har samma poäng, samma målskillnad och samma antal gjorda mål så ska segraren i mötet mellan de båda lagen hämtas och segraren i den matchen ska komma före i tabellen.
ex
Lag 1 12 poäng, målskillnad +12, gjorda mål 15
Lag 2 12 poäng, målskillnad +12, gjorda mål 15
Om då resultatet mellan lag 1 och lag 2 blev 4-1 så ska lag 1 komma före i tabellen.
Någon som har något förslag på hur jag kan göra det?Sv: Jämföra värden i datatable
<code>
Private Sub bindgrid()
Dim grupp As Integer = 70
Dim objBusinessl As New AllTeamsBusinessL()
Dim myDatatable As New DataTable("tabell")
Dim dt As DataTable = objBusinessl.getTabell1(grupp)
Dim myDataColumn As DataColumn
Dim myDataRow As DataRow
Dim ds As DataSet
myDataColumn = New DataColumn()
myDataColumn.ColumnName = "pos"
dt.Columns.Add(myDataColumn)
Dim i, j As Integer
For i = 0 To dt.Rows.Count - 1
For j = i + 1 To dt.Rows.Count - 1
If dt.Rows(i).Item(7) = dt.Rows(j).Item(7) And dt.Rows(i).Item(10) = dt.Rows(j).Item(10) And dt.Rows(i).Item(8) = dt.Rows(j).Item(8) Then
Dim _res As String = getGame(dt.Rows(i).Item(0), dt.Rows(j).Item(0))
If _res = "a" Then
myDataRow = dt.Rows(i)
myDataRow("pos") = "5"
myDataRow = dt.Rows(j)
myDataRow("pos") = "2"
ElseIf _res = "b" Then
myDataRow = dt.Rows(i)
myDataRow("pos") = "2"
myDataRow = dt.Rows(j)
myDataRow("pos") = "5"
ElseIf _res = "c" Then
myDataRow = dt.Rows(i)
myDataRow("pos") = "0"
myDataRow = dt.Rows(j)
myDataRow("pos") = "0"
End If
'Else
'myDataRow = dt.Rows(i)
'myDataRow("pos") = "0"
'myDataRow = dt.Rows(j)
'myDataRow("pos") = "0"
End If
Next
Next
Dim dv As New DataView(dt)
dv.Sort = "poang Desc,plusminus Desc,plus Desc,pos Desc"
dgtabell.DataSource = dv
dgtabell.DataBind()
End Sub
Private Function getGame(ByVal _lagIDA As Integer, ByVal _lagIDB As Integer)
Dim objBusinessl As New AllTeamsBusinessL()
Dim _resultat As String = objBusinessl.getgameResultat(_lagIDA, _lagIDB)
Dim _res() As String = Split(_resultat, ",")
If _res(0) > _res(1) Then
Return "a"
ElseIf _res(0) < _res(1) Then
Return "b"
Else
Return "c"
End If
End Function
</code>