Sep 02, 2016, 4:18 PM
Problem with Combobox server-side render and store listener
Hello,
I am trying to render a form with a combobox from server-side but I am running into a javascript error when I try to re-render the form:
and it appears to be coming from the following code:
I am trying to render a form with a combobox from server-side but I am running into a javascript error when I try to re-render the form:
JavaScript runtime error: Unable to get property 'on' of undefined or null reference
bindStoreListeners:function(a){var c=this,b=Ext.apply({},c.getStoreListeners(a));if(!b.scope){b.scope=c}c.storeListeners=b;a.on(b)}
Sample code is as follows:
private object[] Data
{
get
{
return new object[]
{
new object[] { "TEST1", "TEST1" },
new object[] { "TEST2", "TEST2" },
new object[] { "TEST3", "TEST3" }
};
}
}
protected void Page_Load(object sender, EventArgs e)
{
StoreCountries.DataSource = Data;
StoreCountries.DataBind();
Generate_Fields();
}
[DirectMethod]
public void Generate_Fields()
{
FormPanel aFormPanel = new FormPanel();
aFormPanel.ID = "frmFields";
ComboBox aComboBox = new Ext.Net.ComboBox();
aComboBox.ID = "cmbTest";
aComboBox.FieldLabel = "TEST";
aComboBox.ValueField = "CODE";
aComboBox.DisplayField = "DESCRIPTION";
aComboBox.StoreID = "StoreCountries";
aFormPanel.Items.Add(aComboBox);
aFormPanel.Render(frmFields, RenderMode.Replace, true);
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="com.bspr.crbspr.pages.WebForm1" %>
<!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></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="rsmMain" runat="server" Theme="Gray">
</ext:ResourceManager>
<ext:Store ID="StoreCountries" runat="server">
<Model>
<ext:Model ID="Model6" Runat="Server">
<Fields>
<ext:ModelField Name="CODE" />
<ext:ModelField Name="DESCRIPTION" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
<ext:Viewport ID="vwpMain" runat="server" border="false" Layout="FitLayout">
<Items>
<ext:Panel runat="server">
<Items>
<ext:FormPanel ID="frmFields" runat="server" Header="false" Border="false">
<Items>
</Items>
</ext:FormPanel>
</Items>
<Buttons>
<ext:Button ID="Button1" runat="server">
<Listeners>
<Click Handler="App.direct.Generate_Fields();"></Click>
</Listeners>
</ext:Button>
</Buttons>
</ext:Panel>
</Items>
</ext:Viewport>
</form>
</body>
</html>