For the time being the following workaround can be used: <telerik:RadFileExplorer ID="RadFileExplorer1" runat="server" Width="230px" Height="430px" DisplayUpFolderItem="true" ExplorerMode="FileTree"> </telerik:RadFileExplorer> <script> Telerik.Web.UI.RadFileExplorer.prototype._onTreeContextMenuItemClicked = function (sender, args) { var treeNode = args.get_node(); var menuItem = args.get_menuItem().get_value(); switch (menuItem) { case "Rename": treeNode.startEdit(); var nodeInput = treeNode.get_inputElement(); if (!this._allowFileExtensionRename) { var item = this._createItemFromTreeViewNode(treeNode); if (!item.isDirectory()) nodeInput.value = $T.FileExplorerHelper.stripExtension(item); } this._attachFileNameValidator(nodeInput); var treeUL = sender.get_childListElement(); this._treeKeyDownDelegate = Function.createDelegate(this, this._treeKeyDown); if (treeUL) $telerik.addHandler(treeUL, "keydown", this._treeKeyDownDelegate, true); break; case "NewFolder": if (!this._isNodeADirectory(treeNode)) { treeNode = treeNode.get_parent(); } var nodeValue = treeNode.get_value(); this.createNewDirectory(nodeValue); break; case "Delete": var selItems = sender.get_selectedNodes(); var delItem = new Array(); for (var i = 0; i < selItems.length; i++) { var currItem = this._createItemFromTreeViewNode(selItems[i]); delItem.push(currItem); } this.deleteItem(delItem); break; case "Upload": this._showUploadWindow(); break; case "Copy": var selectedItem = null; if (!treeNode.get_selected()) { selectedItem = this._createItemFromTreeViewNode(treeNode); } this._copy("tree", selectedItem); break; case "Paste": var pasteItem = this._createItemFromTreeViewNode(treeNode); this._paste(pasteItem); break; } } </script>
A function that is attached to this event is triggered on clicking the RadWindow's toolbar, even if it is already active.
We would like to request updating the Azure library for uploading files to Azure Blob Storage.
The WindowsAzure.Storage library has been deprecated and is no longer maintained.
.hasChanges() results in records flagged for Delete to not actually get deleted when .saveChanges() executes.
I found the same behaviour on a LiveDemo example that checks .hasChanges(): Grid - Binding to Telerik ClientDataSource
Steps to reproduce:
Using the set_value() method of the DatePicker's Input, set "2024-05-08" (the date format is dd/MM/yyyy), the month and day are misplaced and the control gets the wrong date of 05/08/2024.
When the day is larger than 12, the correct date is received. For example, '2024-05-14' will update the control correctly and we see the control with 14/05/2024.
Hi Telerik Support,
the scrolling and pagination does not seem to work in Firefox anymore. Is there any workaround?
in Chrome and Edge it works just fine!
if i click on an Pagenumber or Next Page or sth. like this, there happens nothing.
if i try to scroll the scrollbars showing up and changing their size, but they doesnt scroll.
i have also tried to scroll here:
https://demos.telerik.com/aspnet-ajax/pdfviewer/overview/defaultcs.aspx?_gl=1*5mk763*_ga*MTMyNTUwNjgzNS4xNjkwODk5NjYw*_ga_9JSNBCSF54*MTcxNjI3NTAwMy4xOS4xLjE3MTYyOTQ0ODkuNTkuMC4w*_gcl_au*NzI0MTA3Mzc5LjE3MDkyOTcyMzE.&_ga=2.243750470.291641267.1716275004-1325506835.1690899660
but it didnt work also
Thanks you and Best Regards
Roland
Hello
I have an ASP.NET Ajax Telerik Solution (site) that has a web site project and a library project. The solution was developed almost 8 years ago and so far I've been able to upgrade telerik controls several times without any problem. Now, when I tried to upgrade the Telerik controls using the Upgrade Wizard Project only shows the class library as you can see in the attached picture.
To replicate this beahavior:
1. Create a new Telerik VB Webform Site
2. Add a Class Library Net Framework project to the solution.
3. Add a reference to Telerik.Web.UI to the Class Library project (optional).
4. Save and close solution.
5. Reopen it and run the Telerik Upgrade Wizard Project.
It only shows the Class Library project ...
<%-- <dx:ASPxFormLayout ID="layout" runat="server" Width="100%" Visible="true" Theme="ios" >
<Items>
<dx:TabbedLayoutGroup Caption="tabbed group" Width="100%">
<Items>
<dx:LayoutGroup Caption="Location Information">
<Items>
<dx:LayoutItem Caption="" FieldName="">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer ID="LayoutItemNestedControlContainer1" runat="server">
<dx:ASPxFormLayout ID="ASPxFormLayout1" runat="server"
DataSourceID="datasourceThisLocation" ColumnCount="2" Theme="Aqua">
<Items>
<dx:LayoutItem FieldName="company" ColSpan="1" Caption="location">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E2"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="phone" ColSpan="1">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E3"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="fax" ColSpan="1">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E4"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="contractStatus" Caption="contract status" ColSpan="1">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E5"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="timeZone" ColSpan="1" Caption="time zone">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E6"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="primaryContact" ColSpan="1" Caption="prinary contact">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E7"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="street" ColSpan="1" Caption="address">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E10"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="street2" ColSpan="1" Caption="address">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E11"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="city" ColSpan="1">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E12"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="state" ColSpan="1">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E13"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="zip" ColSpan="1">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E14"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
<dx:LayoutItem FieldName="email" ColSpan="1">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer runat="server">
<dx:ASPxTextBox runat="server" Width="310px" ID="ASPxFormLayout1_E16"></dx:ASPxTextBox>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
</Items>
</dx:ASPxFormLayout>--%>
Describe service request:
<telerik:RadTextBox ID="srevicetroubles" runat="server" Width="350px"></telerik:RadTextBox>
<%--<dx:ASPxTextBox ID="srevicetroubles" runat="server" Width="350px" Theme="Aqua" ></dx:ASPxTextBox>--%>
<telerik:RadButton ID="ASPxButton2" runat="server" Text="click here send request for service at this location"></telerik:RadButton>
<%--<dx:ASPxButton ID="ASPxButton2" runat="server" Text="click here send request for service at this location" Theme="Aqua"> </dx:ASPxButton>--%>
<asp:Label ID="Label1" runat="server" Text="" Visible="false"></asp:Label>
<%-- </dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
</Items>
</dx:LayoutGroup>--%>
<%-- <dx:LayoutGroup Caption="Notes and Communication">
<Items>
<dx:LayoutItem Caption="" FieldName="">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer ID="LayoutItemNestedControlContainer3" runat="server">
<dx:ASPxGridView ID="ASPxGridView1" runat="server" DataSourceID="myStoreNotes"
EnableTheming="True" Theme="Moderno" KeyFieldName="id">
<Columns>
<dx:GridViewCommandColumn VisibleIndex="0" ShowNewButton="True" ShowUpdateButton="True" ShowClearFilterButton="True" />
<dx:GridViewDataColumn FieldName="DateAdded" Caption="Date Added" VisibleIndex="1">
<EditFormSettings VisibleIndex="1" Visible="False" />
</dx:GridViewDataColumn>
<dx:GridViewDataColumn FieldName="AddedBy" Caption="Added By" VisibleIndex="2">
<EditFormSettings VisibleIndex="2" Visible="False" />
</dx:GridViewDataColumn>
<dx:GridViewDataTextColumn FieldName="Note" Caption="Note" VisibleIndex="3">
<PropertiesTextEdit EncodeHtml="true"></PropertiesTextEdit>
</dx:GridViewDataTextColumn>
<dx:GridViewDataColumn FieldName="Ack" Caption="Acknowledged" VisibleIndex="4">
<EditFormSettings VisibleIndex="4" Visible="False" />
</dx:GridViewDataColumn>
<dx:GridViewDataColumn FieldName="ackBy" Caption="Acknowledged By" VisibleIndex="5">
<EditFormSettings VisibleIndex="5" Visible="False" />
</dx:GridViewDataColumn>
<dx:GridViewDataColumn FieldName="AckDate" Caption="Acknowledged Date" VisibleIndex="6">
<EditFormSettings VisibleIndex="6" Visible="False" />
</dx:GridViewDataColumn>
</Columns>
<Settings ShowFilterRow="True" />
<SettingsCommandButton>
<NewButton Text="Add Post-It Note" />
<UpdateButton Text="Save" />
</SettingsCommandButton>
</dx:ASPxGridView>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
</Items>
</dx:LayoutGroup>
<dx:LayoutGroup Caption="Open Work Orders">
<Items>
<dx:LayoutItem Caption="" FieldName="">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer ID="LayoutItemNestedControlContainer7" runat="server">
<dx:ASPxGridView ID="ASPxGridView2" runat="server" AutoGenerateColumns="true"
Visible="true" Theme="Moderno" Width="100%"
DataSourceID="dataSourceOpenTickets" KeyFieldName ="REQUESTNUMBER">
<Columns>
<dx:GridViewDataHyperLinkColumn Caption="WO #" FieldName="REQUESTNUMBER"
VisibleIndex="10" >
<PropertiesHyperLinkEdit NavigateUrlFormatString="/orders/edit.aspx?ID={0}"
TextField="REQUESTNUMBER">
</PropertiesHyperLinkEdit>
</dx:GridViewDataHyperLinkColumn>
<dx:GridViewDataColumn Caption="Service Facility" FieldName="branch" VisibleIndex="30">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="My PO" FieldName="PO" VisibleIndex="40">
</dx:GridViewDataColumn>
<dx:GridViewDataMemoColumn Caption="Description" FieldName="DESCRIPTION" VisibleIndex="50">
</dx:GridViewDataMemoColumn>
<dx:GridViewDataColumn Caption="Type of Service" FieldName="serviceType" VisibleIndex="60">
</dx:GridViewDataColumn>
<dx:GridViewDataDateColumn Caption="Expected Completion" FieldName="ExpectedCompletionDate" VisibleIndex="80"></dx:GridViewDataDateColumn>
<dx:GridViewDataColumn Caption="Status of WO" FieldName="CurrentCustodyDisplay" VisibleIndex="90">
</dx:GridViewDataColumn>
</Columns>
<Templates>
<DetailRow>
<iframe id="myframeDetailGridView2" runat="server" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0"
vspace="0" hspace="0" width="100%" height="650px" oninit="myframeDetailGridView2_Init"></iframe>
</DetailRow>
</Templates>
<Styles>
<AlternatingRow Enabled="true" />
<Header Wrap="True" />
</Styles>
<SettingsDetail ShowDetailRow="true" />
<Settings ShowFilterRow="True" ShowFilterRowMenu="true" ShowGroupPanel="True" />
<SettingsPager PageSize="15" />
<SettingsBehavior ColumnResizeMode="Control" />
<SettingsBehavior EnableRowHotTrack="true" />
</dx:ASPxGridView>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
</Items>
</dx:LayoutGroup>
<dx:LayoutGroup Caption="Completed Work Oders" Visible="true">
<Items>
<dx:LayoutItem Caption="" FieldName="">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer ID="LayoutItemNestedControlContainer2" runat="server">
<dx:ASPxGridView ID="ASPxGridView3" runat="server" AutoGenerateColumns="true"
Visible="true" Theme="Moderno" Width="100%"
DataSourceID="dataSourceCompletedTickets" KeyFieldName ="REQUESTNUMBER">
<Columns>
<dx:GridViewDataHyperLinkColumn Caption="WO #" FieldName="REQUESTNUMBER"
VisibleIndex="10" >
<PropertiesHyperLinkEdit NavigateUrlFormatString="/orders/edit.aspx?ID={0}"
TextField="REQUESTNUMBER">
</PropertiesHyperLinkEdit>
</dx:GridViewDataHyperLinkColumn>
<dx:GridViewDataColumn Caption="Service Facility" FieldName="branch" VisibleIndex="30">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="My PO" FieldName="PO" VisibleIndex="40">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="Description" FieldName="DESCRIPTION" VisibleIndex="50">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="Type of Service" FieldName="serviceType" VisibleIndex="60">
</dx:GridViewDataColumn>
<dx:GridViewDataDateColumn Caption="Expected Completion" FieldName="ExpectedCompletionDate" VisibleIndex="80"></dx:GridViewDataDateColumn>
<dx:GridViewDataColumn Caption="Status of WO" FieldName="CurrentCustodyDisplay" VisibleIndex="90">
</dx:GridViewDataColumn>
</Columns>
<Templates>
<DetailRow>
<iframe id="myframeDetailGridView2" runat="server" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0"
vspace="0" hspace="0" width="100%" height="650px" oninit="myframeDetailGridView2_Init"></iframe>
</DetailRow>
</Templates>
<Styles>
<AlternatingRow Enabled="true" />
<Header Wrap="True" />
</Styles>
<SettingsDetail ShowDetailRow="true" />
<Settings ShowFilterRow="True" ShowFilterRowMenu="true" ShowGroupPanel="True" />
<SettingsPager PageSize="15" />
<SettingsBehavior ColumnResizeMode="Control" />
<SettingsBehavior EnableRowHotTrack="true" />
</dx:ASPxGridView>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
</Items>
</dx:LayoutGroup>
<dx:LayoutGroup Caption="Onsite Equipment" Visible="true">
<Items>
<dx:LayoutItem Caption="" FieldName="">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer ID="LayoutItemNestedControlContainer5" runat="server">
<dx:ASPxGridView ID="ASPxGridView5" runat="server" AutoGenerateColumns="false" Visible="true"
Theme="Office2003Blue" Width="100%" KeyFieldName="EquipmentID" DataSourceID="myEquipment">
<Columns>
<dx:GridViewDataColumn Caption="Description" FieldName="EquipmentDescription" VisibleIndex="1">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="Quantity" FieldName="EquipmentQTY" VisibleIndex="2">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="Type" FieldName="EquipmentType" VisibleIndex="3">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="Location" FieldName="EquipmentLocation" VisibleIndex="4">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="Size" FieldName="EquipmentSize" VisibleIndex="5">
</dx:GridViewDataColumn>
<dx:GridViewDataColumn Caption="Last Inspection" FieldName="LastInspection" VisibleIndex="6">
</dx:GridViewDataColumn>
</Columns>
<Templates>
<DetailRow>
<dx:ASPxGridView ID="detailGrid" runat="server" DataSourceID="equipmentdetailrecord"
Width="100%" OnBeforePerformDataSelect="detailGrid_DataSelect" AutoGenerateColumns="false">
<Templates>
<DataRow>
<table cellpadding="2" cellspacing="1" style="border-style: none; width: 100%">
<tr>
<td colspan="2">
<h1>Equipment Information</h1>
</td>
</tr>
<tr>
<td align="right">description:</td>
<td><%# Eval("EquipmentDescription")%></td>
</tr>
<tr>
<td align="right">type:</td>
<td><%# Eval("EquipmentSize")%></td>
</tr>
<tr>
<td align="right">size:</td>
<td><%# Eval("EquipmentDescription")%></td>
</tr>
<tr>
<td align="right">serial number:</td>
<td><%# Eval("SerialNumber")%></td>
</tr>
<tr>
<td align="right">location:</td>
<td><%# Eval("EquipmentLocation")%></td>
</tr>
<tr>
<td align="right">model:</td>
<td><%# Eval("EquipmentModel")%></td>
</tr>
<tr>
<td align="right">warrenty expires:</td>
<td><%# Eval("WarrentyExpires")%></td>
</tr>
<tr>
<td align="right">inspection frequency:</td>
<td><%# Eval("Freq")%></td>
</tr>
<tr>
<td align="right">last inspection:</td>
<td><%# Eval("LastInspection")%></td>
</tr>
<tr>
<td align="right">next inspection:</td>
<td><%# Eval("EquipmentDescription")%></td>
</tr>
</table>
</DataRow>
</Templates>
</dx:ASPxGridView>
</DetailRow>
</Templates>
<Settings ShowFilterRow="True" ShowFilterRowMenu="true" ShowGroupPanel="True" />
<SettingsPager PageSize="25" />
<SettingsBehavior ColumnResizeMode="Control" />
<SettingsDetail ShowDetailRow="true" ShowDetailButtons="true" />
</dx:ASPxGridView>
<p><dx:ASPxButton ID="btnXlsExport" runat="server" OnClick="btnXlsExport_Click" Theme="Office2003Blue"
Text="Export to XLS">
</dx:ASPxButton></p>
<p> </p>
<dx:ASPxGridViewExporter ID="ASPxGridViewExporter1" runat="server" GridViewID="ASPxGridView1">
</dx:ASPxGridViewExporter>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
</Items>
</dx:LayoutGroup>
<dx:LayoutGroup Caption="Documents" Visible="true">
<Items>
<dx:LayoutItem Caption="" FieldName="">
<LayoutItemNestedControlCollection>
<dx:LayoutItemNestedControlContainer ID="LayoutItemNestedControlContainer4" runat="server">
<dx:ASPxGridView ID="ASPxGridView4" runat="server" Width="100%"
Theme="Moderno" DataSourceID="dsDocuments" KeyFieldName="DocID">
<Columns>
<dx:GridViewDataTextColumn Caption="Type" FieldName="DocType" VisibleIndex="40">
<EditFormSettings VisibleIndex="40" Visible="False" Caption="name:" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn Caption="WT #" FieldName="FalconServiceNumber" VisibleIndex="45">
<EditFormSettings VisibleIndex="45" Visible="False" Caption="name:" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataDateColumn Caption="Index Date" FieldName="DocDate" VisibleIndex="46">
<EditFormSettings VisibleIndex="46" Visible="False" Caption="name:" />
</dx:GridViewDataDateColumn>
<dx:GridViewDataHyperLinkColumn Caption="Document" FieldName="DocID" VisibleIndex="110">
<PropertiesHyperLinkEdit NavigateUrlFormatString="javascript:ShowDetailPopup('{0}');" TextField="DocDescription">
</PropertiesHyperLinkEdit>
<EditFormSettings VisibleIndex="110" Visible="False" Caption="name:" />
</dx:GridViewDataHyperLinkColumn>
</Columns>
<Styles>
<AlternatingRow Enabled="true" />
<Header Wrap="True" />
<RowHotTrack BackColor="lightgray"></RowHotTrack>
</Styles>
<Settings ShowFilterRow="True" ShowFilterRowMenu="true" ShowGroupPanel="True" ShowFilterBar="Visible" />
<SettingsPager PageSize="20" />
<SettingsBehavior ColumnResizeMode="Control" />
</dx:ASPxGridView>
</dx:LayoutItemNestedControlContainer>
</LayoutItemNestedControlCollection>
</dx:LayoutItem>
</Items>
</dx:LayoutGroup>
</Items>
</dx:TabbedLayoutGroup>
</Items>
</dx:ASPxFormLayout>
Scenario:
1 Filter being used to filter 2 different Grids in 2 different TabStrip tabs
An unwanted second captcha is being created and the UI does not update when the second captcha is created. There are no other Ajax calls on the page that are causing this issue.
We have extended the BaseCaptchaCachingProvider and are now saving the image in the database. After making this change, the image is no longer grayed out; however, validation only succeeds after every three attempts. When we check the database, we notice that a second key with a different image has been added before the user clicks the submit. On the user interface, we still see the old image.
It would be good to add this functionality for a better customization of the Grid's newly inserted rows.