[CLOSED] multiselect empty on server side

  1. #1

    [CLOSED] multiselect empty on server side

    If I have a multiselect field on a page:

        <asp:ObjectDataSource ID="SearchEngineDataSource" runat="server" SelectMethod="All" TypeName="Truvo.Web.KWI.DB.SearchEngine">
        </asp:ObjectDataSource>
    
        <ext:Store ID="SearchEngineStore" runat="server" AutoLoad="true" RemoteSort="true" DataSourceID="SearchEngineDataSource" ShowWarningOnFailure="true">
            <AjaxEventConfig IsUpload="true" />
            <Proxy>
                <ext:DataSourceProxy />
            </Proxy>
            <Reader>
                <ext:JsonReader ReaderID="Id">
                    <Fields>
                        <ext:RecordField Name="Name" />
                    </Fields>
                </ext:JsonReader>
            </Reader>
        </ext:Store>
    
    ...
    
                        <ext:MultiSelect ID="msSearchEngine" runat="server" Width="230" Height="200" ValueField="Id" DisplayField="Name" StoreID="SearchEngineStore" StyleSpec="margin-left: 10px;padding:0;">
                            <TopBar>
                                <ext:Toolbar runat="server">
                                    <Items><ext:Label runat="server" ID="lblSearchEngine" Text="Search Engines" /></Items>
                                </ext:Toolbar>
                            </TopBar>
                            <BottomBar>
                                <ext:Toolbar runat="server">
                                    <Items>
                                        <ext:ToolbarButton ID="btnSearchEngineReset" runat="server" Text="Clear Selection">
                                            <Listeners>
                                                <Click Handler="#{msSearchEngine}.reset();" />
                                            </Listeners>
                                        </ext:ToolbarButton>
                                    </Items>
                                </ext:Toolbar>
                            </BottomBar>
                        </ext:MultiSelect>
    can I retrieve the selected items in an AjaxEvent when the form is submitted?
    Right now I am trying to do that:

                if (msSearchEngine.SelectedItems.Count == 0)
                    errors += "Please select at least a search engine";
    and the SelectedItems collection is always empty.
    what am I missing?
    Last edited by Daniil; Dec 17, 2010 at 1:25 PM. Reason: [CLOSED]
  2. #2
    I have also tried to use this approach when submitting:

    <ext:Parameter Name="searchEngines" Value="Ext.encode(#{msSearchEngine}.getValues(true))" Mode="Raw" />
    described here: https://examples1.ext.net/#/Form/Mul...t/Submit_Data/

    but I always get all items and not just the selected ones.
  3. #3
    Hi,

    ReaderID's value should be one of existing RecordField's names.

    Example
    <ext:JsonReader ReaderID="Id">
        <Fields>
            <ext:RecordField Name="Id" />
            <ext:RecordField Name="Name" />
        </Fields>
    </ext:JsonReader>
  4. #4
    Here is an example.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Ext.IsAjaxRequest)
            {
                Store store = this.Store1;
                store.DataSource = new object[] { 
                                             new object[] {"Item1", "value1" },
                                             new object[] {"Item2", "value2" },
                                             new object[] {"Item3", "value3" }
                                    };
                store.DataBind();
            }
        }
    
        protected void TestHandler(object sender, AjaxEventArgs e)
        {
            string values = "";
            foreach (var item in this.MultiSelect1.SelectedItems)
            {
                values += item.Value.ToString() + ", ";
            }
            Ext.Msg.Alert("values", values).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 runat="server">
        <title>Coolite 0.8.X Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ScriptManager runat="server" />
        <ext:Store ID="Store1" runat="server">
            <Reader>
                <ext:ArrayReader ReaderID="id">
                    <Fields>
                        <ext:RecordField Name="name" />
                        <ext:RecordField Name="id" />
                    </Fields>
                </ext:ArrayReader>
            </Reader>
        </ext:Store>
        <ext:MultiSelect 
            ID="MultiSelect1" 
            runat="server" 
            StoreID="Store1" 
            ValueField="id" 
            DisplayField="name"/>
        <ext:Button runat="server" Text="Submit">
            <AjaxEvents>
                <Click OnEvent="TestHandler" />
            </AjaxEvents>
        </ext:Button>
        </form>
    </body>
    </html>
  5. #5
    thanks, it worked now...
    I didn't know I had to do that because for the grid is not required for example.
  6. #6
    Quote Originally Posted by alexp View Post
    I didn't know I had to do that because for the grid is not required for example.
    Please clarify what exactly is not required?

    This?
    ReaderID's value should be one of existing RecordField's names.
    If no, ReaderID property doesn't make sense.

Similar Threads

  1. Replies: 1
    Last Post: Apr 01, 2012, 3:42 PM
  2. Replies: 3
    Last Post: Dec 26, 2011, 1:32 PM
  3. Replies: 3
    Last Post: Dec 15, 2010, 2:07 PM
  4. [CLOSED] [1.0] MultiSelect returns empty on Postback
    By randy85253 in forum 1.x Legacy Premium Help
    Replies: 6
    Last Post: Nov 12, 2009, 12:55 AM
  5. How to get items in Multiselect in Server side
    By Nagaraj K Hebbar in forum 1.x Help
    Replies: 2
    Last Post: Sep 25, 2009, 3:30 AM

Posting Permissions