[CLOSED] ListView Single Click

  1. #1

    [CLOSED] ListView Single Click

    How can I get this to work? I want to click on a row in a list view and either handle on client or server...doesn't seem to work?
    Last edited by Daniil; Jan 09, 2011 at 12:10 PM. Reason: [CLOSED]
  2. #2
    Hi,

    Please clarify what way you are trying?

    The following example appears to be working fine.

    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.ListView1.GetStore();
                store.DataSource = new object[] 
                { 
                    new object[] {"test1"},
                    new object[] {"test2"},
                    new object[] {"test3"},
                    new object[] {"test4"},
                    new object[] {"test5"},
                    new object[] {"test6"},
                    new object[] {"test7"},
                    new object[] {"test8"},
                    new object[] {"test9"}
                };
                store.DataBind();
            }
        }
    
        protected void ListView1_Click(object sender, DirectEventArgs e)
        {
            X.Msg.Alert("DirectEvent", "Hello from Click DirectEvent!").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:ListView ID="ListView1" runat="server" AutoHeight="true">
            <Store>
                <ext:Store runat="server">
                    <Reader>
                        <ext:ArrayReader>
                            <Fields>
                                <ext:RecordField Name="test" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                </ext:Store>
            </Store>
            <Columns>
                <ext:ListViewColumn Header="Test" DataIndex="test" />
            </Columns>
            <Listeners>
                <Click Handler="alert('Hello from client-side click\'s listener')"/>
            </Listeners>
            <DirectEvents>
                <Click OnEvent="ListView1_Click" />
            </DirectEvents>
        </ext:ListView>
        </form>
    </body>
    </html>
  3. #3
    Quote Originally Posted by Daniil View Post
    Hi,

    Please clarify what way you are trying?

    The following example appears to be working fine.

    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.ListView1.GetStore();
                store.DataSource = new object[] 
                { 
                    new object[] {"test1"},
                    new object[] {"test2"},
                    new object[] {"test3"},
                    new object[] {"test4"},
                    new object[] {"test5"},
                    new object[] {"test6"},
                    new object[] {"test7"},
                    new object[] {"test8"},
                    new object[] {"test9"}
                };
                store.DataBind();
            }
        }
    
        protected void ListView1_Click(object sender, DirectEventArgs e)
        {
            X.Msg.Alert("DirectEvent", "Hello from Click DirectEvent!").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:ListView ID="ListView1" runat="server" AutoHeight="true">
            <Store>
                <ext:Store runat="server">
                    <Reader>
                        <ext:ArrayReader>
                            <Fields>
                                <ext:RecordField Name="test" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                </ext:Store>
            </Store>
            <Columns>
                <ext:ListViewColumn Header="Test" DataIndex="test" />
            </Columns>
            <Listeners>
                <Click Handler="alert('Hello from client-side click\'s listener')"/>
            </Listeners>
            <DirectEvents>
                <Click OnEvent="ListView1_Click" />
            </DirectEvents>
        </ext:ListView>
        </form>
    </body>
    </html>
    Yes, but I want to get the record selected..
  4. #4
    Index of row is passed as argument to click's listener.

    So, to get a record please use Store's .getAt() method.

    Example
    <Listeners>
        <Click Handler="var record = this.getStore().getAt(index); alert(record.get('test'))"/>
    </Listeners>

Similar Threads

  1. GridPanel row edit opens in single click
    By pooja in forum 1.x Help
    Replies: 0
    Last Post: Aug 10, 2012, 6:09 AM
  2. Replies: 4
    Last Post: Aug 23, 2011, 3:03 PM
  3. edit the contents of a grid in single click
    By vs.mukesh in forum 1.x Help
    Replies: 3
    Last Post: Jun 02, 2011, 10:18 AM
  4. [CLOSED] ListView - click - obtain record
    By rthiney in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Jan 07, 2011, 4:31 PM
  5. [CLOSED] [1.0] TreeEditor disable single-click to edit
    By danielg in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Nov 09, 2009, 11:17 AM

Posting Permissions