Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Come strutturare il codice per creare una classifica al volo?

    salve a tutti ho un'esigenza particolare dovrei creare una classifica CALCISTICA al volo
    cioè io ho memorizzato le partite con i relativi risultati ed ho un girone all'interno del quale raggruppare le partite (e quindi la classifica)
    la tabella è su per giù questa
    ID GRUPPO SQUADRA1 SQUADRA2 RISULTATO1 RISULTATO2 e altri campi
    quindi avrò una cosa simile
    GRUPPO A
    Topolino - Paperino 2 - 0
    Paperino - Topolino 1 - 1
    Superman - Batman 2 - 1
    Batman - Superman 4 - 0
    GRUPP B
    .......
    .......

    la mia idea è quella di calcolare la classifica al volo memorizzarla in un DataView e poi stamparla
    come posso fare ?
    avete qualche consiglio?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    sei fortunato.
    ho un db proprio come il tuo per cui ho già pronta la funzione..
    anzi: gli manca solo il gruppo: cerca se puoi di implementare tu questa parte.
    codice:
        Public Overridable Function Classifica() As Data.DataTable
    	'esistono già i DataTable _Squadre e _Risultati che contengono rispettivamente tutte le Squadre e tutti i Risultati
            Dim _Classifica As Data.DataTable = New Data.DataTable
            Dim _ClassificaRow As Data.DataRow
            Dim _Squadra As Data.DataRow
            Dim _Punti As Integer
            _Classifica.Columns.Add("IDSquadra")
            _Classifica.Columns.Add("Punteggio")
            For Each _Squadra In _Squadre.Rows
                _Punti += 2 * (New Data.DataView(_Risultati, "(IDSquadra1 ='" & _Squadra.Item("ID") & "' AND PunteggioSquadra1 > PunteggioSquadra2) OR (IDSquadra2 ='" & _Squadra.Item("ID") & "' AND PunteggioSquadra2 > PunteggioSquadra1)", "", DataViewRowState.CurrentRows).Count)
                _Punti += New Data.DataView(_Risultati, "(IDSquadra1 ='" & _Squadra.Item("ID") & "' OR IDSquadra2 ='" & _Squadra.Item("ID") & "') AND PunteggioSquadra1 = PunteggioSquadra2", "", DataViewRowState.CurrentRows).Count
                _ClassificaRow = _Classifica.NewRow
                _ClassificaRow.Item("IDSquadra") = _Squadra.Item("ID")
                _ClassificaRow.Item("Punteggio") = _Punti
                _Classifica.Rows.Add(_ClassificaRow)
                _ClassificaRow = Nothing
            Next
            Return _Classifica
        End Function
    ora ti basterà mettere come DataSource questa funzione ad un qualsiasi datagrid/repeater..

  3. #3
    grandissimo ci lavorerò nei prossimi giorni e ti farò sapere come continua lo sviluppo !!!

    ciao e a presto

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.