2008-11-20 12 views
7

Mam sytuację, w której muszę pracować z datagridem i dynamicznie dodawać kolumny w programie PageInit, ponieważ sieć ma kilka warunkowych żądań, które musi obsłużyć. Łatwo poruszam się z BoundColumns i ButtonColumns, te są łatwe. Problem polega na utworzeniu TemplateColumn za pośrednictwem kodu. Znalazłem tam przykłady dotyczące tworzenia niestandardowej klasy, która dynamicznie dodaje formanty, tworząc klasę, która wykorzystuje implementację ITemplate. Działa to jednak, jak walczę o sposób łączenia elementów.Kolumna ITemplate i DataGrid w Codebehind

W mojej sieci użyłbym <% = DataBinder.Eval (Container.DataItem, "MyValue")%> lub podobnego, ale to nie jest opcja tutaj. Kontener, gdy znajduje się w ITemplate, również nie ma właściwości elementu danych, więc nie mogę tam powiązać. Każdy ma porady lub linki, które mogą pomóc, po prostu nie znajduję właściwych rzeczy w google.

Odpowiedz

8

Możesz dołączyć procedurę obsługi zdarzeń do zdarzenia DataBinding dla formantów utworzonych w pliku ITemplate.InstantiateIn, jak w przypadku this MSDN Article. Nadawcą będzie kontrola, a właściwość NamingContainer będzie DataGridItem, która odwołuje się do DataItem, którego można użyć do uzyskania dowolnych potrzebnych danych.

+0

Awesome! To jest artykuł, którego szukałem. Co za ważna PITA, aby to zrobić .... –

+0

+1 za przydatne łącze, dobrze jest również rzucić okiem na ten http://aspalliance.com/1125_Dynamicznie_Zapytany_GridView_with_Edit_Delete_and_Insert_Options.3 –

Powiązane problemy