Hi,
Confirmed. I have reproduced the issue.
The problem - row is refreshed after editor's blur with new value. Refreshing of row causes re-rendering of editors. To be brief, event is "lost" during these actions.
Maybe, would be best to report this issue to EditableGrid's creators on sencha forum.
For now, I can suggest the following workaround for mouse clicking.
Example
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
this.GridPanel1.Store.Primary.DataSource = new List<object>
{
new {
Value = 1,
Text = "One"
},
new {
Value = 2,
Text = "Two"
},
new {
Value = 3,
Text = "Three"
},
new {
Value = 4,
Text = "Four"
},
new {
Value = 5,
Text = "Five"
}
};
this.GridPanel1.Store.Primary.DataBind();
}
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>GridPanel with EditableGrid Plugin - Ext.NET Examples</title>
<script type="text/javascript">
var mouseDownFlag = {};
var rowUpdatedHandler = function (item, rowIndex, record) {
if (!Ext.isEmpty(mouseDownFlag) && (mouseDownFlag.row === rowIndex)) {
this.editors[mouseDownFlag.row][mouseDownFlag.col].focus(false, 10);
mouseDownFlag = {};
}
}
var editorRenderHandler = function (editor) {
editor.el.on('mousedown', function(e) {
mouseDownFlag.row = editor.grid.row;
mouseDownFlag.col = editor.grid.col;
});
}
</script>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:GridPanel
ID="GridPanel1"
runat="server"
Width="300"
Height="200"
Title="EditableGrid Plugin">
<Store>
<ext:Store runat="server">
<Reader>
<ext:JsonReader>
<Fields>
<ext:RecordField Name="Value" Type="Int" />
<ext:RecordField Name="Text" Type="String" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
</Store>
<Plugins>
<ext:EditableGrid runat="server" />
</Plugins>
<ColumnModel>
<Columns>
<ext:RowNumbererColumn />
<ext:Column
Header="Value"
DataIndex="Value"
Width="130"
Sortable="true">
<Editor>
<ext:NumberField runat="server" AllowBlank="false">
<Listeners>
<Render Handler="editorRenderHandler(this);" />
<Focus Handler="mouseDownFlag = {};" />
</Listeners>
</ext:NumberField>
</Editor>
</ext:Column>
<ext:Column
Header="Text"
DataIndex="Text"
Width="130"
Sortable="true">
<Editor>
<ext:TextField ID="TextField1" runat="server" AllowBlank="false">
<Listeners>
<Render Handler="editorRenderHandler(this);" />
<Focus Handler="mouseDownFlag = {};" />
</Listeners>
</ext:TextField>
</Editor>
</ext:Column>
</Columns>
</ColumnModel>
<View>
<ext:GridView runat="server">
<Listeners>
<RowUpdated Fn="rowUpdatedHandler" Delay="1" />
</Listeners>
</ext:GridView>
</View>
</ext:GridPanel>
</form>
</body>
</html>