[CLOSED] Set MultiSelect selected items during DirectEvent

  1. #1

    [CLOSED] Set MultiSelect selected items during DirectEvent

    How can I set the selected items of a MultiSelect control during a DirectEvent?
    Last edited by geoffrey.mcgill; Sep 17, 2010 at 1:38 PM. Reason: [CLOSED]
  2. #2
    Hello!

    Please look at the example.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Select(object sender, DirectEventArgs e)
        {
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem("Value1"));
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem("Value2"));
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem("Value3"));
            MultiSelect1.UpdateSelection();
        }
    </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>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:MultiSelect ID="MultiSelect1" runat="server">
            <Items>
                <ext:ListItem Text="Item 1" Value="Value1" />
                <ext:ListItem Text="Item 2" Value="Value2" />
                <ext:ListItem Text="Item 3" Value="Value3" />
            </Items>
        </ext:MultiSelect>
        <ext:Button runat="server" Text="Select">
            <DirectEvents>
                <Click OnEvent="Select" />
            </DirectEvents>
        </ext:Button>
        </form>
    </body>
    </html>
  3. #3
    There is a SelectedListItem constructor applied index but it doesn't work.
    I think it will be fix.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Select(object sender, DirectEventArgs e)
        {
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem(0));
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem(1));
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem(2));
            MultiSelect1.UpdateSelection();
        }
    </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>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:MultiSelect ID="MultiSelect1" runat="server">
            <Items>
                <ext:ListItem Text="Item 1" Value="Value1" />
                <ext:ListItem Text="Item 2" Value="Value2" />
                <ext:ListItem Text="Item 3" Value="Value3" />
            </Items>
        </ext:MultiSelect>
        <ext:Button runat="server" Text="Select">
            <DirectEvents>
                <Click OnEvent="Select" />
            </DirectEvents>
        </ext:Button>
        </form>
    </body>
    </html>
  4. #4
  5. #5
    How would I get the selected values during a DirectEvent when I'm using a store like this?
  6. #6
    Hi,

    To get selected values you could use the SelectedItems collection.
    Please look at the example.

    Example
    <%@ 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)
            {
                Store store = this.MultiSelect1.Store.Primary;
                store.DataSource = new object[] { 
                                             new object[] {"Value1", "Text1"},
                                             new object[] {"Value2", "Text2"},
                                             new object[] {"Value3", "Text3"}
                                    };
                store.DataBind();
            }
        }
    
        protected void GetSelectedRows(object sender, DirectEventArgs e)
        {
            string values = "";
            foreach (SelectedListItem sli in this.MultiSelect1.SelectedItems)
            {
                values += sli.Value + " ";
            }
            X.Msg.Alert("Server", 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>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:MultiSelect ID="MultiSelect1" runat="server">
            <Store>
                <ext:Store runat="server">
                    <Reader>
                        <ext:ArrayReader>
                            <Fields>
                                <ext:RecordField Name="value" />
                                <ext:RecordField Name="text" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                </ext:Store>
            </Store>
        </ext:MultiSelect>
        <ext:Button runat="server" Text="Get selected rows">
            <DirectEvents>
                <Click OnEvent="GetSelectedRows" />
            </DirectEvents>
        </ext:Button>
        </form>
    </body>
    </html>
  7. #7
    Sorry, I mean SET, not get. So, to rephrase.. how would I set the selected items when I'm using a store to populate the list?
  8. #8
    Hi,

    Please look at the example.

    Example
    <%@ 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)
            {
                Store store = this.MultiSelect1.Store.Primary;
                store.DataSource = new object[] { 
                                             new object[] {"Value1", "Text1"},
                                             new object[] {"Value2", "Text2"},
                                             new object[] {"Value3", "Text3"}
                                    };
                store.DataBind();
            }
        }
        
        protected void Select(object sender, DirectEventArgs e)
        {
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem("Value1"));
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem("Value2"));
            MultiSelect1.SelectedItems.Add(new Ext.Net.SelectedListItem("Value3"));
            MultiSelect1.UpdateSelection();
        }
    </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>Ext.Net Example</title>
    </head>
    <body>
        <form runat="server">
        <ext:ResourceManager runat="server" />
        <ext:MultiSelect ID="MultiSelect1" runat="server">
            <Store>
                <ext:Store runat="server">
                    <Reader>
                        <ext:ArrayReader>
                            <Fields>
                                <ext:RecordField Name="value" />
                                <ext:RecordField Name="text" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                </ext:Store>
            </Store>
        </ext:MultiSelect>
        <ext:Button runat="server" Text="Select">
            <DirectEvents>
                <Click OnEvent="Select" />
            </DirectEvents>
        </ext:Button>
        </form>
    </body>
    </html>

Similar Threads

  1. [CLOSED] Add selected items to ExtraParams for MultiSelect
    By jmcantrell in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Sep 20, 2010, 8:40 PM
  2. Loop through selected items in Multiselect
    By ddolan in forum 1.x Help
    Replies: 3
    Last Post: Jul 29, 2010, 1:16 PM
  3. [CLOSED] Set the Selected Items in MultiSelect
    By majestic in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Mar 11, 2010, 2:57 AM
  4. Multiselect with Store - can't get selected items
    By CheGuevara in forum 1.x Help
    Replies: 3
    Last Post: Nov 02, 2009, 5:23 PM
  5. Replies: 0
    Last Post: Jun 03, 2009, 5:30 PM

Posting Permissions