Hello,
I created a EditFormTemplate for my AspxGridView as follows
public class BrennstoffKostenEditForm : ITemplate
{
GridViewEditFormTemplateContainer MyContainer;
public BrennstoffKostenEditForm(){}
void ITemplate.InstantiateIn(Control container)
{
container.Controls.Clear();
MyContainer = container as GridViewEditFormTemplateContainer;
Panel panel = new Panel();
panel.ID = "BrennstoffkostenEditFormMainPanel";
…
WebPropertyEditor wpeBrennstoff = ((DataItemTemplate)((GridViewDataColumn)MyContainer.Grid.Columns["Brennstoff"]).EditItemTemplate).PropertyEditor;
wpeBrennstoff.ViewEditMode = ViewEditMode.Edit;
wpeBrennstoff.CreateControl();
ASPxLookupPropertyEditor lpeBrennstoff = (ASPxLookupPropertyEditor)((DataItemTemplate)((GridViewDataColumn)MyContainer.Grid.Columns["Brennstoff"]).EditItemTemplate).PropertyEditor;
((ASPxLookupDropDownEdit)lpeBrennstoff.DropDownEdit).AddingEnabled = true;
((ASPxLookupDropDownEdit)lpeBrennstoff.DropDownEdit).ClearingEnabled = false;
…
WebPropertyEditor wpeBetrag = ((DataItemTemplate)((GridViewDataColumn)MyContainer.Grid.Columns["Betrag"]).EditItemTemplate).PropertyEditor;
wpeBetrag.ViewEditMode = ViewEditMode.Edit;
wpeBetrag.CreateControl();
ASPxDecimalPropertyEditor lpeBetrag = (ASPxDecimalPropertyEditor)((DataItemTemplate)((GridViewDataColumn)MyContainer.Grid.Columns["Betrag"]).EditItemTemplate).PropertyEditor;
((ASPxSpinEdit)lpeBetrag.Editor).SpinButtons.ShowIncrementButtons = false;
((ASPxSpinEdit)lpeBetrag.Editor).DecimalPlaces = 2;
((ASPxSpinEdit)lpeBetrag.Editor).DisplayFormatString = "{0:C2}";
…
tr1.Cells[0].Controls.Add(lblBrennstoff);
…
tr2.Cells[2].Controls.Add(lblBetrag);
…
}
}
I tried this approach because of the complex editors i need.
The Form is displayed as i expected it.
BUT
if i click on Update or Cancel button an error is thrown:
Type: HttpException
Message: Multiple controls with the same ID '_inactive' were found. FindControl requires that controls have unique IDs.
Data: 0 entries
Stack trace:
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
at System.Web.UI.Page.FindControl(String id)
at System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException is null
…
26.09.12 09:56:29.931 2ltln5sth4tqppqyd4qkojrk Save model changes
26.09.12 09:56:29.932 2ltln5sth4tqppqyd4qkojrk ===================
26.09.12 09:56:29.940 2ltln5sth4tqppqyd4qkojrk page_Unload
26.09.12 09:56:29.940 2ltln5sth4tqppqyd4qkojrk Frame.set_Template: old value - ASP.nestedframecontrol_ascx, new value - null
26.09.12 09:56:29.940 2ltln5sth4tqppqyd4qkojrk Frame.set_Template: old value - ASP.nestedframecontrol_ascx, new value - null
26.09.12 09:56:29.941 2ltln5sth4tqppqyd4qkojrk Frame.set_Template: old value - ASP.default_aspx, new value - null
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk preferredLanguageName: (User language)
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk userLanguageName: de
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk Thread.CurrentThread.CurrentUICulture.DisplayName: German (Germany)
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk preferredLanguageName: (User language)
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk userFormattingCultureName: de
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk selectedFormattingCultureName:
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk Thread.CurrentThread.CurrentCulture.DisplayName: German (Germany)
26.09.12 09:56:32.233 2ltln5sth4tqppqyd4qkojrk Frame.set_Template: old value - null, new value - ASP.default_aspx
26.09.12 09:56:32.246 2ltln5sth4tqppqyd4qkojrk Frame.set_Template: old value - null, new value - ASP.nestedframecontrol_ascx
26.09.12 09:56:32.247 2ltln5sth4tqppqyd4qkojrk ListView: ListView, ID:A4v_Abrechnungsperiode_BrennstoffHeiznebenkosten_Brennstoffkosten_ListView
26.09.12 09:56:32.247 2ltln5sth4tqppqyd4qkojrk ListView.CollectionSource: DevExpress.ExpressApp.PropertyCollectionSource
26.09.12 09:56:32.247 2ltln5sth4tqppqyd4qkojrk ListView.CollectionSource.List: DevExpress.ExpressApp.ProxyCollection
26.09.12 09:56:32.247 2ltln5sth4tqppqyd4qkojrk Frame.set_Template: old value - null, new value - ASP.nestedframecontrol_ascx
26.09.12 09:56:32.247 2ltln5sth4tqppqyd4qkojrk ListView: ListView, ID:A4v_Abrechnungsperiode_BrennstoffHeiznebenkosten_Heiznebenkosten_ListView
26.09.12 09:56:32.247 2ltln5sth4tqppqyd4qkojrk ListView.CollectionSource: DevExpress.ExpressApp.PropertyCollectionSource
26.09.12 09:56:32.247 2ltln5sth4tqppqyd4qkojrk ListView.CollectionSource.List: DevExpress.ExpressApp.ProxyCollection