ADO.NET w Windows Forms
Northwind - edycja zamówień
- Przenieść do Windows Forms formularz edycji zamówień w bazie danych Northwind
- Northwind jest przykładową bazą danych stworzoną w programie Microsoft Access
- W standardowej instalacji Visual Studio 2005 jest dostępna w:
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\QuickStart\aspnet\samples\data\App_Data\Northwind.mdb
- Dla wygody dostępna tutaj
- Struktura danych jest następująca:

- Formularz edycji zamówień ma nazwę Orders i wygląda następująco
(przekreślone są te elementy, których nie trzeba implementować w ramach tego zadania):

- Szczegóły techniczne dotyczące poszczególnych pól formularza:
- "Bill To:" - dane klienta, który złożył zamówienie:
- ComboBox - Customers.CompanyName
- w rozwijanej liście widoczne pola Customers.CompanyName wszystkich klientów
- wybór klienta z listy powoduje zmianę pól pozostałych danych klient (poniżej)
- Pozostałe, nieedytowalne dane klienta - kolejno pola tabeli Customers:
Address, City, Region, PostalCode i Country
- "Ship To:" - dane adresowe dla dostawy zamówienia:
- Edytowalne pola tekstowe - kolejno pola tabeli Orders:
ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode i ShipCountry
- "Ship Via:" - firma kurierska:
- 3 (niezmienna wartość) pola wyboru (mogą być CheckBox'y lub RadioButton'y)
reprezentujące firmy kurierskie zapisane w tabeli Shippers
- Nazwy firm kurierskich mogą być zapisane w kodzie lub pobierane z tabeli Shippers
- Wybór firmy kurierskiej dla zamówienia jest oznaczany w polu Orders.ShipVia
- "Salesperson:" - sprzedawca:
- ComboBox prezentujący dane osób z tabeli Employees w postaci "LastName, FirstName"
- "Order ID" - nieedytowalne pole przedstawiające identyfikator zamówienia (Orders.OrderID)
- GridView z pozycjami zamówienia, kolejno kolumny:
- Product: komórki w postaci ComboBox'ów z wyborem produktu z listy (wg nazwy produktu - Products.ProductName)
- Unit Price: Order_Details.UnitPrice; formatowanie: aktualna waluta, do prawej
- Quantity: Order_Details.Quantity; formatowanie: do prawej
- Discount: Order_Details.Discount; formatowanie: procent, do prawej
- Extended Price: wartość obliczona wg reguły (1-Discount)*UnitPrice*Quantity; formatowanie: aktualna waluta, do prawej
- Pasek nawigacji zamówień na dole formularza:
- funkcjonalność: pierwszy/poprzedni/następny/ostatni rekord z tabeli, skok do rekordu o określonym numerze,
dodanie nowego rekordu
- Przykładowy wygląd formularza:
- Wymagania techniczne:
- Connection string musi być zdefiniowany w pliku konfiguracyjnym aplikacji i to może być
jedyne miejsce jego przechowywania
- sposób zarządzania danymi w logice aplikacji jest dowolny - konieczne jest tylko zapewnienie
wymaganej funkcjonalności prezentowania i edycji danych
- Wskazówki
-
new DataColumn("ExtendedPrice", typeof(Decimal), "(1 - Discount) * UnitPrice * Quantity")
-
ordersRow.IsEmployeeIDNull()
- "P" - format dla wyświetlenia liczby jako wartości procentowej
- Przybliżona punktacja:
- połączenie z plikiem z danymi: 1.0
- "Bill To": 1.5
- "Ship To": 1.0
- "Ship Via": 1.5
- "Salesperson": 1.5
- GridView: 2.5
- pasek nawigacji: 1.0
- Linki do przesyłania rozwiązań (hasło jest takie samo, jak do wyników):