Mam widok siatki i po kliknięciu przycisku edycji szczegóły tego wiersza są wyświetlane za pomocą widoku szczegółów.
Podczas wyświetlania muszę znaleźć formant w detailsView, a następnie powiązać go ze źródłem danych.
Przede wszystkim nie jestem pewien co do zdarzenia, które ma być użyte, ale użyłem DetailsView1_DataBound. Jeśli jednak muszę znaleźć formant za pomocą
var control=(ControlType)DetailsView1.Findcontrol("ID");
Zawsze zwraca zero. Być może nie używam odpowiedniego zdarzenia i nie mogę w tym momencie znaleźć kontroli. Masz jakieś pomysły na temat zdarzenia, które ma zostać użyte, i proszę o odpowiedni kod?
Dzięki
Odpowiedzi:
3 dla odpowiedzi № 1W Twoim databound event
musisz zadbać o swoje DetailsView Mode
if (DetailsView1.CurrentMode == DetailsViewMode.Edit)
{
//Put here if you want to find control of your Edit Mode
var control=(ControlType)DetailsView1.Findcontrol("EditTemplateControlID");
}
if (DetailsView1.CurrentMode == DetailsViewMode.Insert)
{
//Put here if you want to find control of your Insert Mode
var control=(ControlType)DetailsView1.Findcontrol("InsertTemplateControlID");
}
0 dla odpowiedzi nr 2
Miałem ten sam problem i odpowiedź Mahometa Akhtara mi nie pomogła. Problem został rozwiązany po zmianie domyślnego trybu DetailsView z „edytuj” na „wstaw”.
Poleciłbym również zdarzenie ItemCreated zamiast zdarzenia DataBound. Używam go często do ustawiania wartości domyślnej w polu DetailsView.