ASP.NET Web Matrix - przewodnik

Spis treści

25. Kliknij przycisk Finish.

Okno kreatora zniknie, a w widoku Code pojawi się funkcja PobierzSkladnikiZamowienia. Jako parametr wejściowy funkcja przyjmuje wartość idZamowienia, a w wyniku działania zwraca zestaw danych DataSet. Zawiera on szczegółowe dane dotyczące zamówienia o identyfikatorze idZamowienia, pobrane przy użyciu kodu ADO.NET, utworzonego przez generator kodu:

Function PobierzSkladnikiZamowienia(ByVal idZamowienia As Integer) As System.Data.DataSet

Dim connectionString As String = "server='(local)'; trusted_connection=true; " & _

"database='Zamowienia'"

Dim dbConnection As System.Data.IDbConnection = _

New System.Data.SqlClient. ř

SqlConnection(connectionString)

Dim queryString As String = _

"SELECT [SkladnikiZamowien].* " & _

"FROM [SkladnikiZamowien] " & _

"WHERE ([SkladnikiZamowien]." & _

"[idZamowienia] = @idZamowienia)"

Dim dbCommand As System.Data.IDbCommand = _

New System.Data.SqlClient.SqlCommand

dbCommand.CommandText = queryString

dbCommand.Connection = dbConnection

Dim dbParam_idZamowienia As _

System.Data.IDataParameter = _

New System.Data.SqlClient.SqlParameter

dbParam_idZamowienia.ParameterName = _

"@idZamowienia"

dbParam_idZamowienia.Value = idZamowienia

dbParam_idZamowienia.DbType = _

System.Data.DbType.Int32

dbCommand.Parameters.Add(dbParam_idZamowienia)

Dim dataAdapter As System.Data.IDbDataAdapter = _

New System.Data.SqlClient.SqlDataAdapter

dataAdapter.SelectCommand = dbCommand

Dim dataSet As System.Data.DataSet = _

New System.Data.DataSet

dataAdapter.Fill(dataSet)

Return dataSet

End Function

26. W oknie dokumentu włącz widok Design.

27. Kliknij dwukrotnie przycisk Button. W widoku Code zostanie wyświetlona funkcja obsługi zdarzenia Button1_Click.

28. Do funkcji dodaj kod, który sprawdza wartość wpisaną w pole tekstowe TextBox i przekazuje tę wartość jako argument do funkcji PobierzSkladnikiZamowienia:

Sub Button1_Click(sender As Object, e As EventArgs)

DataGrid1.DataSource = _

PobierzSkladnikiZamowienia(CInt(TextBox1.Text))

DataGrid1.DataBind()

End Sub

29. Zapisz i uruchom utworzoną stronę ASP.NET.

Strona zostanie automatycznie wyświetlona w nowym oknie przeglądarki internetowej.

30. W pole tekstowe wpisz 1 i kliknij przycisk Button.

Kontrolka DataGrid wyświetli wszystkie rekordy z tabeli SkladnikiZamowien, odpowiadające wybranemu numerowi zamówienia idZamowienia.

31. Zamknij okno przeglądarki internetowej.

Zmiana wyglądu kontrolki DataGrid

ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
W tym przykładzie zmienimy wygląd kontrolki DataGrid.

1. Otwórz plik mojaPierwszaStronaZDanymi.aspx.

2. Włącz widok Design.

3. Zaznacz kontrolkę DataGrid.

4. Kliknij łącze Auto Format (Autoformatowanie) u dołu okna Properties.

Na ekranie pojawi się okno dialogowe Auto Format (Autoformatowanie). Pozwala ono wybrać predefiniowany zestaw kolorów, stylów obramowania oraz innych ustawień (określanych jako schemat) i przypisać go kontrolce DataGrid.

5. Z listy dostępnych schematów wybierz pozycję Simple 1 (Prosty 1). Ustawienia wybranego schematu zostaną przypisane odpowiednim właściwościom kontrolki. W oknie podglądu widać, jak kontrolka będzie wyglądać po zastosowaniu schematu.

6. Kliknij przycisk OK.

7. Zapisz i uruchom stronę.

Strona zostanie automatycznie wyświetlona w nowym oknie przeglądarki internetowej.

8. W pole TextBox wpisz 1 i kliknij przycisk Button. Wygląd wyświetlonej tabeli odpowiada właściwościom schematu Simple 1 (Prosty 1).

9. Zamknij okno przeglądarki internetowej.

Kontrolka DataList i szablony

Działająca po stronie serwera kontrolka DataList - dzięki wykorzystaniu szablonów definiowanych przez użytkownika - umożliwia większą kontrolę sposobu wyświetlania pobranych danych. Szablon pozwala zmieniać wygląd pozycji listy, nagłówka, stopki i itp.

W tym przykładzie przygotujemy szablon ItemTemplate, który powiąże kontrolkę Label z kolumną Produkt, pochodzącą z tabeli SkladnikiZamowien.

1. Otwórz plik mojaPierwszaStronaZDanymi.aspx w widoku Design.

2. Usuń kontrolkę DataGrid ze strony ASP.NET.

3. W przyborniku z palety Web Controls wybierz kontrolkę DataList i przeciągnij ją na obszar okna. Umieść kontrolkę DataList w tym samym miejscu, w którym znajdowała się usunięta w poprzednim punkcie kontrolka DataGrid.

4. Kliknij prawym przyciskiem myszy kontrolkę DataList i z menu podręcznego wybierz polecenie Edit Templates.

Na ekranie pojawi się okno dialogowe Edit Templates.

ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
ASP.NET Web Matrix - przewodnik
5. Z listy rozwijanej Select a Template to edit wybierz pozycję ItemTemplates (Szablony elementów) .

6. Z drugiej listy rozwijanej wybierz pozycję ItemTemplate.

7. W pole Template Design wpisz Produkt.

8. Z przybornika wybierz kontrolkę Label i przeciągnij ją na obszar okna Template Design, za napis "Produkt".

9. W polu Template Design zaznacz etykietę Label.

10. W oknie Properties kliknij przycisk znajdujący się w polu wartości właściwości (DataBindings).

Na ekranie pojawi się okno dialogowe DataBindings. Wyświetla ono listę właściwości kontrolki i umożliwia powiązanie kontrolki ze źródłem danych.

11. W panelu Bindable Properties (Właściwości możliwe do wiązania) wybierz węzeł Text (wartość domyślna).

12. Zaznacz opcję Custom binding expression (Niestandardowe wyrażenie wiążące).

13. W pole Custom binding expression (Niestandardowe wyrażenie wiążące) wpisz DataBinder.Eval(Container.DataItem, "Produkt"). Wpisane wyrażenie dla każdego z wierszy tabeli powiąże wartości kolumny idSkladnika z parametrem Text kontrolki Label.

14. Kliknij przycisk OK.

Uwaga - kontrolka Label będzie teraz wyświetlana w nawiasach kwadratowych. Oznacza to, że jest powiązana z danymi.

15. Kliknij przycisk OK, aby zamknąć okno dialogowe Edit Templates.

16. W oknie dokumentu wybierz widok Code.

17. Zmień kod obsługi kliknięcia przycisku Button tak, aby kliknięcie przycisku powodowało wypełnienie kontrolki DataList danymi zwróconymi przez funkcję PobierzSkladnikiZamowienia:

Sub Button1_Click(sender As Object, e As EventArgs)

DataList1.DataSource = _

PobierzSkladnikiZamowienia(CInt(TextBox1.Text))

DataList1.DataBind()

End Sub

18. Włącz widok HMTL.

19. Do znacznika kontrolki DataList dodaj atrybuty powodujące wyświetlenie czarnej ramki:

<asp:DataList id="DataList1" runat="server"

BorderColor="Black" BorderStyle="Solid"

BorderWidth="2">

</asp:datalist>

20. Zapisz i uruchom stronę.

Strona zostanie automatycznie wyświetlona w nowym oknie przeglądarki internetowej.

21. W pole tekstowe wpisz 1 i kliknij przycisk Button.

Kontrolka DataList wyświetli wszystkie rekordy tabeli SkladnikiZamowien, odpowiadające podanemu numerowi zamówienia idZamowienia.