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.
środa, 9 czerwca 2010
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.
Etykiety:
.NET,
C#,
Polish posts
poniedziałek, 7 czerwca 2010
Cykl życia strony w ASP.NET [PL]
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.
Etykiety:
.NET,
70-562,
C#,
Polish posts,
programowanie,
WCF
środa, 26 maja 2010
Integracja systemów informatycznych [PL]
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]
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?
Etykiety:
.NET,
Polish posts,
przemyślenia,
trochę luźniej
środa, 19 maja 2010
Bezpieczne wykorzystanie obcych assembly (C# .NET 2.0 – 3.5) [PL]
.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.
Etykiety:
.NET,
bezpieczeństwo,
C#,
Polish posts,
programowanie,
programowanie rozporszone
wtorek, 18 maja 2010
Wtyczka w .NET 4.0 dla aplikacji .NET 2.0 [PL]
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?”
Etykiety:
.NET,
C#,
Polish posts,
programowanie,
proste rozwiązania
sobota, 15 maja 2010
SupportedRuntime w app.config, czyli jak uruchomić aplikację pod innym .NET Framework'iem [PL]
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).
Etykiety:
.NET,
C#,
Polish posts,
programowanie,
proste rozwiązania
czwartek, 13 maja 2010
Jak zaimplementować mechanizm wtyczek (plugin'ów) w .NET (C#) [PL]
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.
Etykiety:
.NET,
C#,
Polish posts,
proste rozwiązania
środa, 12 maja 2010
Przenoszenie ustawień pomiędzy różnymi assembly (C# .NET) [PL]
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ć...
Etykiety:
.NET,
C#,
Polish posts,
proste rozwiązania
Subskrybuj:
Posty (Atom)





