Dec 07, 2011, 5:07 PM
[CLOSED] Editable Grid is not showing last changed combobox info
Hi,
The last changed value either in textfield or combobox in editable grid is also saving if we add "Delay="100". It is working only if the form in main window. If I am going to open it in popup window the combobox changed information is not working, because the cursor not moving away from combobox even after clicking update button.
see the example code here ...
Base form...
The last changed value either in textfield or combobox in editable grid is also saving if we add "Delay="100". It is working only if the form in main window. If I am going to open it in popup window the combobox changed information is not working, because the cursor not moving away from combobox even after clicking update button.
see the example code here ...
Base form...
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script language="javascript" type="text/javascript">
var openWindowToEdit = function () {
//alert(url);
var windowConfig = {
id: "WinGridInfo",
height: 250,
width: 500,
hidden: false,
buttonAlign: "center",
closeAction: "hide",
title: "Edit Grid",
buttons: [
{
id: "btnUpdateInfo",
text: "Update",
listeners: {
click: {
fn: function (el, e) {
parent.parent.Ext.getCmp('WinGridInfo').getBody().btnSaveChanges.fireEvent('click');
}
}
}
},
{
id: "btnClose",
text: "Close",
listeners: {
click: {
fn: function (el, e) {
parent.Ext.getCmp('WinGridInfo').hide();
}
}
}
}
],
autoLoad: {
url: "ExtEditableGridTest.aspx?" + new Date().getTime(),
nocache: true,
mode: "iframe",
showMask: true,
triggerEvent: "show",
reloadOnEvent: true
}
}
renderWindow(windowConfig);
}
var renderWindow = function (windowConfig) {
var win = Ext.getCmp(windowConfig.id);
if (!win) {
new Ext.Window(windowConfig);
} else {
win.close();
new Ext.Window(windowConfig);
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<div>
<ext:button id="btnOpenGridwindow" runat="server" OnClientClick="openWindowToEdit()" Text="Open Grid to Edit"></ext:button>
</div>
</form>
</body>
</html>
the popup window code is...<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!X.IsAjaxRequest)
{
cboValue.Items.Add(new Ext.Net.ListItem("val1", "1"));
cboValue.Items.Add(new Ext.Net.ListItem("val2", "2"));
cboValue.Items.Add(new Ext.Net.ListItem("val3", "3"));
cboValue.Items.Add(new Ext.Net.ListItem("val4", "4"));
//this.Store1.DataSource = new object[]
//{
// new object[] { "1","test1", "2", "test3" },
// new object[] { "2","test4", "test5", "test6" },
// new object[] { "3","test7", "4", "test9" },
// new object[] { "4","test10", "test11", "test12" }
//};
//this.Store1.DataBind();
this.Store1.DataSource = GetDataInfo();
this.Store1.DataBind();
}
}
public DataTable GetDataInfo()
{
DataTable dt = new DataTable();
DataRow dr;
dt.Columns.Add("TestID");
dt.Columns.Add("test1");
dt.Columns.Add("test2");
dt.Columns.Add("test3");
dr = dt.NewRow();
dr[0] = "1";
dr[1] = "test1";
dr[2] = "2";
dr[3] = "test3";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "2";
dr[1] = "test4";
dr[2] = "test5";
dr[3] = "test6";
dt.Rows.Add(dr);
return dt;
}
protected void Store_BeforeStoreChanged(object sender, BeforeStoreChangedEventArgs e)
{
string jsonData = e.DataHandler.JsonData;
X.Msg.Alert("Saved", jsonData).Show();
}
</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 id="Head1" runat="server">
<title>Ext.Net Example</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
<Store>
<ext:Store
ID="Store1"
runat="server"
RefreshAfterSaving="None"
OnBeforeStoreChanged="Store_BeforeStoreChanged">
<Reader>
<ext:JsonReader>
<Fields>
<ext:RecordField Name="TestID" />
<ext:RecordField Name="test1" />
<ext:RecordField Name="test2" />
<ext:RecordField Name="test3" />
</Fields>
</ext:JsonReader>
</Reader>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column Header="Test1" DataIndex="test1">
<Editor>
<ext:TextField ID="TextField1" runat="server" />
</Editor>
</ext:Column>
<ext:Column Header="Test2" DataIndex="test2">
<Editor>
<ext:ComboBox ID="cboValue" runat="server" />
</Editor>
</ext:Column>
<ext:Column Header="Test3" DataIndex="test3">
<Editor>
<ext:TextField ID="TextField3" runat="server" />
</Editor>
</ext:Column>
<ext:CommandColumn Width="40">
<Commands>
<ext:GridCommand Text="Reject" ToolTip-Text="Reject row changes" CommandName="taskreject" Icon="ArrowUndo" />
</Commands>
<PrepareToolbar Handler="toolbar.items.get(0).setVisible(record.dirty);" />
</ext:CommandColumn>
</Columns>
</ColumnModel>
<Listeners>
<Command Handler="record.reject();" />
</Listeners>
<Plugins>
<ext:EditableGrid ID="EditableGrid1" runat="server" />
</Plugins>
<View>
<ext:GridView ID="GridView1" runat="server" ForceFit="true" />
</View>
</ext:GridPanel>
<div style="display:none">
<ext:Button ID="btnSaveChanges" runat="server" Text="Save">
<Listeners>
<Click Handler="GridPanel1.save();" Delay="100"/>
</Listeners>
</ext:Button>
</div>
</form>
</body>
</html>
Last edited by Daniil; Dec 11, 2011 at 6:20 PM.
Reason: [CLOSED]