Hi team.
I call ASPxPopupControl from EditForm template of ASPxGridView.
ASPxPopupControl is located outside of EditForm template and called from the click on ASPxButtonEdit button.
Here is markup:
ASPx<dx:ASPxGridView ID="ASPxGridViewUsage" runat="server" AutoGenerateColumns="False"
ClientIDMode="AutoID" ClientInstanceName="ASPxGridViewUsage" CssFilePath="~/App_Themes/DevEx/{0}/styles.css"
CssPostfix="DevEx" DataSourceID="SqlDataSourceAppointmentUsage" EnableCallBacks="False"
Font-Names="Verdana" Font-Size="8pt" KeyFieldName="UsageID" Width="1250px">
...
<Columns>
<dx:GridViewDataButtonEditColumn Caption="Invoice To" FieldName="BillingClientName"
Name="BillingClientName" VisibleIndex="12" Width="400px" Visible="False">
<PropertiesButtonEdit ClientInstanceName="UsageInvoiceToClientName">
<ClientSideEvents ButtonClick="function(s, e) {PopupAddressBook1.Show();}" />
<Buttons>
<dx:EditButton Position="Right" ToolTip="Select Client">
</dx:EditButton>
</Buttons>
</PropertiesButtonEdit>
<EditFormSettings Visible="true" VisibleIndex="12" />
</dx:GridViewDataButtonEditColumn>
</Columns>
<Templates>
<EditForm>
<div style="padding: 4px 4px 3px 4px">
<dx:ASPxGridViewTemplateReplacement ID="Editors" runat="server" ReplacementType="EditFormEditors" />
</div>
<div style="padding: 4px 4px 3px 4px">
<dx:ASPxButtonEdit ID="ASPxButtonEditUsageInvoiceToClientName" runat="server" ClientIDMode="AutoID"
ClientInstanceName="ASPxButtonEditUsageInvoiceToClientName" CssFilePath="~/App_Themes/SoftOrange/{0}/styles.css"
CssPostfix="SoftOrange" ReadOnly="True" SpriteCssFilePath="~/App_Themes/SoftOrange/{0}/sprite.css"
OnButtonClick="ASPxButtonEditUsageInvoiceToClientName_ButtonClick" Width="300px"
Text='<%# Eval("BillingClientName") + ""%>'>
<ClientSideEvents ButtonClick="function(s, e) {PopupAddressBook1.ShowAtElement(this);}" />
<Buttons>
<dx:EditButton>
</dx:EditButton>
</Buttons>
</dx:ASPxButtonEdit>
</div>
<div style="text-align: right; padding: 4px 4px 3px 4px">
<dx:ASPxGridViewTemplateReplacement ID="UpdateButton" runat="server" ReplacementType="EditFormUpdateButton" />
<dx:ASPxGridViewTemplateReplacement ID="CancelButton" runat="server" ReplacementType="EditFormCancelButton" />
</div>
</EditForm>
...
</Templates>
</dx:ASPxGridView>
I have few other issues that are related to this scenario of having popoup called from another popup (EditForm).
I remember your rules of opening separate case for it, but maybe in this case it would reduce work for everyone due to you are already familiar with pre-conditions.
So I try to ask.
1) I populate fields of EditForm popup with default values (when it used for "Insert New" record, but when 2nd popup (Address Book) is called from inside of EditForm it clears those values.
The popup clears only default values that were passed during ASPxGridViewUsage_CellEditorInitialize event when EditForm is been opened for the 1st time.
The value that are typed in or selected directly on the EditForm stay put when popup is called no matter how many time which is normal and expected.
Where should I look to prevent both issues from happening?
thanks