ASP.NET Web Matrix - przewodnik
-
- PCWorld,
- 01.05.2005
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
![]() |
![]() |
![]() |
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.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
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.