Jun 16, 2009, 5:55 PM
[CLOSED] Howto fire OnSelectionChanged event on Multiselect
In the sample below, I would like to have a notification displayed when the user selects one or more items in the multiselect box. I figured that the OnSelectionChanged method would fire when I selected an item or changed to selecting a different item. However, the method "showTypeInfo" never fires. What am I missing.
Thanks.
-Steve
Thanks.
-Steve
<%@ Page Language="C#" %>
<%@ Import Namespace="Coolite.Utilities" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsCallback)
{
storeTypes.DataSource = new List<object> { new { ExpenseType_ID = "1", ExpenseType_title = "New item1" }, new { ExpenseType_ID = "2", ExpenseType_title = "New item2" } };
storeTypes.DataBind();
}
}
protected void showTypeInfo(object sender, EventArgs e)
{
string responseText = "";
this.ScriptManager1.AddScript("Ext.example.msg('Selected Value', '" + responseText + "',15);");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ScriptManager ID="ScriptManager1" runat="server" StateProvider="None" IDMode="Static" />
<ext:Store ID="storeTypes" runat="server" AutoLoad="true">
<Reader>
<ext:JsonReader ReaderID="ExpenseType_ID">
<Fields>
<ext:RecordField Name="ExpenseType_ID" Type="String" />
<ext:RecordField Name="ExpenseType_title" Type="String" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<DataChanged Handler="var record = this.getAt(0)||{};#{editPanel}.getForm().loadRecord(record);" />
</Listeners>
</ext:Store> <!--Data store for Group dropdown-->
<ext:FormPanel ID="editPanel" Icon="Page" Title="Expense Item Detail" Collapsible="false" runat="server" Border="false" AutoHeight="true" BodyStyle="padding:6px;" Cls="grayPanel">
<Body>
<ext:FormLayout ID="formLayout" LabelWidth="85" LabelStyle="text-align: right; font-weight: bold;" runat="server" >
<ext:Anchor>
<ext:Panel ID="panelSelects" runat="server" Height="200" >
<Body>
<ext:MultiSelect ID="msAvailableTypes" Legend="Available Expense Types" runat="server"
DragGroup="grp2" DropGroup="grp2,grp1"
Width="300" Height="160"
StoreID="storeTypes"
DisplayField="ExpenseType_title"
ValueField="ExpenseType_ID"
KeepSelectiononclick="WithCtrlKey"
OnSelectionChanged="showTypeInfo" />
</Body>
</ext:Panel>
</ext:Anchor>
</ext:FormLayout>
</Body>
</ext:FormPanel>
</form>
</body>
</html>