Wyświetlanie dwóch tabel w DataGridView (2 problemy)

0

Dobry wieczór, mam pewne problemy, z którym siedzę do późnych godzin 'wieczornych', co łatwo można zauważyć :) Tak naprawdę to dopiero się uczę i nie mogę rozwiązać następującego problemu. Chciałbym, aby w polu DataGridView7 były zawarte 3 kolumny (ID, Nazwisko, Suma_punktow), ale niestety kolumna 'Nazwisko' ciągle pozostaje pusta. W jaki sposób muszę zadeklarować DataSource, by wszytko działało poprawnie? Sprawdzenie wartości w polu Label19 pokazuje poprawne nazwisko. Oto mój kod:

        Dim queryString As String

        If (RadioButton1.Checked) Then
            queryString = "Select dbo.Punkty.ID, Nazwisko, Suma_punktow From dbo.Punkty Inner join dbo.Zuzlowcy ON dbo.Punkty.ID = dbo.Zuzlowcy.ID ORDER BY dbo.Punkty.Suma_punktow"
        Else
            queryString = "Select dbo.Punkty.ID, Nazwisko, Suma_punktow From dbo.Punkty Inner join dbo.Zuzlowcy ON dbo.Punkty.ID = dbo.Zuzlowcy.ID ORDER BY dbo.Punkty.Suma_punktow DESC"
        End If

        adapter = New SqlDataAdapter(queryString, connection)
        adapter.Fill(dataset, "dbo.Punkty")

        For i = 0 To dataset.Tables(0).Rows.Count - 1
            okno_punkty.Text = okno_punkty.Text + "ID: " + dataset.Tables(0).Rows(i).Item(0).ToString + " " + dataset.Tables(0).Rows(i).Item(1).ToString + " - " + dataset.Tables(0).Rows(i).Item(2).ToString + " pkt" + vbNewLine
        Next
        DataGridView7.DataSource = dataset.Tables("dbo.Punkty")
        Label19.Text = dataset.Tables(0).Rows(5).Item(1).ToString

Drugi problem polega na wyświetlaniu błędów następującego typu:

  1. Chciałbym do kolumny móc dodać maksimum 7 rekordów o tym samym ID.
  2. Chciałbym aby suma punktów poszczególnych osób (zawodników) sumowała się do wartości z innej tabeli i nie mogła pozostać inna. (Tabela1 -> ID_meczu, ID_zawodnika, Punkty, Tabela2 -> Wynik_meczu)

Czy jakaś dobra dusza mogłaby mi pomóc?

0

mam taki pomysł na pkt. 1

  1. Zczytaj wartość ID wprowadzoną przez usera do grida
  2. Przypisz do DataTable selecta wybierającego z tabeli wszystkie rekordy zawierające ID równe temu pobranemu w kroku 1
  3. Pozwól na zmianę tylko wtedy jeśli liczba rekordów w tym obiekcie (DataTable) będzie mniejsza niż 7

to powinno się dziać w metodzie zdarzenia wyzwalanego podczas edycji rekordu przez usera, którą znajdziesz tu:
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview(v=vs.110).aspx

1 użytkowników online, w tym zalogowanych: 0, gości: 1