środa, 9 czerwca 2010

System.Web.UI.WebControls.GridView i TemplateField, czyli wygodniejsza wizualizacja i edycja [PL]

Promuj
GridView jest bardzo często wykorzystywany do wyświetlania danych typu tabelarycznego (np. lista umów w systemie), wystarczy że podepniemy się do obiektu (np. DataSet'a), który zawiera zestaw danych, które chcemy wyświetlić i już mamy ładną tabelkę na stronie. W prosty sposób można dodać kolejną funkcjonalność: edycji, czy kasowania elementów, w tym celu wystarczy wykonać kilka kliknięć i już... Gorzej, gdy nasz zestaw danych (nasza tabela) zawiera odwołania do innych tabel, np. tabela UMOWY jest powiązana z inną tabelą KONTRAHENCI i w ten sposób wskazywane jest powiązanie, z kim umowa jest podpisywana lub dla kogo jest ona wykonywana. Zwykle takie powiązanie jest realizowane przez klucze obce, np. identyfikatory wskazujące na wiersze w innych tabelach. Oczywiście wyświetlanie identyfikatora (liczby, czy GUID'a) jest bez sensu, wolelibyśmy przecież widzieć konkretną nazwę. Okazuje się, że jest to proste do wykonania, a z pomocą przychodzi TemplateField.

wtorek, 8 czerwca 2010

ObjectDataSource: OldValuesParameterFormatString oraz ConflictDetection [PL]

Ostatnio wykorzystywałem DataSet jako źródło danych typu ObjectDataSource dla kontrolki GridView. W tle za DataSet'em była baza danych oraz były skonfigurowane metody Select, Insert i Delete. Wyświetlanie danych przebiegało bezproblemowo, niestety nie działało usuwanie i edycja elementów. Powodem były kwerendy, które przy usuwaniu (delete) lub edycji (update) wykorzystywały wszystkie pola(kolumny) tabeli. Niestety domyślnie dodane źródło typu ObjectDataSource nie chciało przekazywać wszystkich parametrów i następował wyjątek.

poniedziałek, 7 czerwca 2010

Cykl życia strony w ASP.NET [PL]

Promuj

Dla kogoś, kto do tej pory tworzył oprogramowanie bazujące na WinForms, a przechodzi na WebForm, ważne jest zrozumienie cyklu życia strony w ASP.NET. Dlaczego? Proces, w którym strona ASP.NET jest dla przeglądarki generowana, składa się z wielu etapów, z których każdy pełni odmienną funkcję w tworzeniu i generowaniu strony. Jeśli umieścimy kod w nieodpowiednim miejscu, wówczas może braknąć kontrolek, które wg nas powinny się pojawić, lub też, jeśli już się pojawiają, to ich stan może być nieokreślony, czy też nieprzewidywalny.

środa, 26 maja 2010

Integracja systemów informatycznych [PL]

Promuj
Przeczytałem niedawno artykuł Bartka Szafko pod tytułem: „Integracja systemów”, ponieważ w firmie w której pracuję (CAS), często mamy do czynienia z integracją systemów, dlatego postanowiłem dorzucić do tego tematu swoje trzy grosze.
Jak integrować systemy informatyczne? Na co należy zwracać uwagę? Czego unikać? Jaką architekturę wybrać?

piątek, 21 maja 2010

Jak szukać informacji? Jak zadawać pytania? [PL]

Promuj
Od czasu do czasu dostaję dziwne pytania odnośnie różnych spraw związanych z ogólnie pojętą informatyką. Jeśli umiem odpowiedzieć na pytanie, to staram się odpowiedzieć, czasami jednak nie... Co wtedy?

środa, 19 maja 2010

Bezpieczne wykorzystanie obcych assembly (C# .NET 2.0 – 3.5) [PL]

Promuj
.NET Framework pozwala na łatwe wczytywanie, uruchamianie i wykorzystywanie obcych assembly. Należy jednak pamiętać, że nie wolno mieć pełnego zaufania do cudzego kodu. Ma to jeszcze większe znaczenie gdy dopuszczamy sytuację, w której pozwalamy na wykonywanie kodu, którego nigdy nie testowaliśmy, z którym nigdy nie mieliśmy do czynienia. Oczywiście w takim przypadku otrzymujemy bardzo dobre wsparcie ze strony .NET Framework, a mianowicie obsługę tzw. Domen aplikacji.

wtorek, 18 maja 2010

Wtyczka w .NET 4.0 dla aplikacji .NET 2.0 [PL]

Promuj
W poprzednim post'cie pisałem o możliwości wykorzystania supportedRuntime w konfiguracji, czyli jak sprawić, by aplikacja skompilowana do obsługi pewnej wersji .NET Framework, działała pod inną wersją. W podsumowaniu zastanawiałem się, gdzie to można wykorzystać. Chciałem, by zaproponowany scenariusz wykorzystania był prawdopodobny, dlatego wymyśliłem (wydaje się dobry) przykład.
„Mamy aplikację napisaną dla .NET 2.0, która obsługuje wtyczki (plugin'y). Chcemy opracować dla niej wtyczkę, oferującą nową funkcjonalność. Z jakiegoś powodu (np. z wygody lub lepszych rozwiązań technicznych) wtyczkę chcielibyśmy przygotować w .NET 4.0. Czy nam się to uda?”

sobota, 15 maja 2010

SupportedRuntime w app.config, czyli jak uruchomić aplikację pod innym .NET Framework'iem [PL]

Promuj
Może się zdarzyć, że aplikacja została skompilowana, by obsługiwać pewną wersję .NET Framework, jednak by chcemy ją zmusić by działała pod inną wersją. Okazuje się, że można to zrobić bez rekompialacji. Jak? Wystarczy wykorzystać element SupportedRuntime w pliku konfiguracyjnym aplikacji (app.config).

czwartek, 13 maja 2010

Jak zaimplementować mechanizm wtyczek (plugin'ów) w .NET (C#) [PL]

Promuj
Dziś będzie prosty artykulik o katalogach, plikach, assembly, typach, interfejsach itp... Czyli pokazane zostanie jak wykorzystać te wspomniane elementy, by zaimplementować prosty mechanizm wtyczek (plugin'ów) dla aplikacji.

środa, 12 maja 2010

Przenoszenie ustawień pomiędzy różnymi assembly (C# .NET) [PL]

Promuj
Korzystając z Viusal Studio i .NET mamy łatwy sposób konfigurowania aplikacji przy pomocy plików app.config oraz Settings.Settings. Pisałem już o tym na tym blogu w artykule: „Przechowywanie i edycja ustawień aplikacji w .NET (prosto, szybko, sprawnie i elegancko)(przykłady oparte o .NET, w języku C#)”. Niestety można natknąć się na „schody”, gdy ustawienia chcemy przenosić pomiędzy różnymi assembly. Zobaczmy na prostym przykładzie jak to rozwiązać...

Posty powiązane / Related posts