[CLOSED] RowSelection - fire RowSelect direct event on Store load handler

  1. #1

    [CLOSED] RowSelection - fire RowSelect direct event on Store load handler

    Hi,

    This question is related to http://forums.ext.net/showthread.php...andler-problem. When the Store is loaded by pressing the Paging toolbar "Refresh" button, I'd like the GridPanel RowSelect direct event to fire. Right now, it doesn't if the row selected on the client returns with the dataset on the server.

    Thanks,

    Vadym

    <%@ 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)
            {
                this.Store1.DataSource = this.Data;
                this.Store1.DataBind();
            }
        }
     
        private object[] Data
        {
            get
            {
                return new object[]
                {
                    new object[] { 1, "3m Co", 71.72, 0.02, 0.03, "9/1 12:00am" },
                    new object[] { 2,"Alcoa Inc", 29.01, 0.42, 1.47, "9/1 12:00am" },
                    new object[] { 3,"Altria Group Inc", 83.81, 0.28, 0.34, "9/1 12:00am" },
                    new object[] { 4,"American Express Company", 52.55, 0.01, 0.02, "9/1 12:00am" },
                    new object[] { 5,"American International Group, Inc.", 64.13, 0.31, 0.49, "9/1 12:00am" },
                    new object[] { 6,"AT&T Inc.", 31.61, -0.48, -1.54, "9/1 12:00am" },
                    new object[] { 7,"Boeing Co.", 75.43, 0.53, 0.71, "9/1 12:00am" },
                    new object[] { 8,"Caterpillar Inc.", 67.27, 0.92, 1.39, "9/1 12:00am" },
                    new object[] { 9,"Citigroup, Inc.", 49.37, 0.02, 0.04, "9/1 12:00am" },
                    new object[] { 10,"E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28, "9/1 12:00am" },
                    new object[] { 11,"Exxon Mobil Corp", 68.1, -0.43, -0.64, "9/1 12:00am" },
                    new object[] { 12,"General Electric Company", 34.14, -0.08, -0.23, "9/1 12:00am" },
                    new object[] { 13,"General Motors Corporation", 30.27, 1.09, 3.74, "9/1 12:00am" },
                    new object[] { 14,"Hewlett-Packard Co.", 36.53, -0.03, -0.08, "9/1 12:00am" },
                    new object[] { 15,"Honeywell Intl Inc", 38.77, 0.05, 0.13, "9/1 12:00am" },
                    new object[] { 16,"Intel Corporation", 19.88, 0.31, 1.58, "9/1 12:00am" },
                    new object[] { 17,"International Business Machines", 81.41, 0.44, 0.54, "9/1 12:00am" },
                    new object[] { 18,"Johnson & Johnson", 64.72, 0.06, 0.09, "9/1 12:00am" },
                    new object[] { 19,"JP Morgan & Chase & Co", 45.73, 0.07, 0.15, "9/1 12:00am" },
                    new object[] { 20,"McDonald\"s Corporation", 36.76, 0.86, 2.40, "9/1 12:00am" },
                    new object[] { 21,"Merck & Co., Inc.", 40.96, 0.41, 1.01, "9/1 12:00am" },
                    new object[] { 22,"Microsoft Corporation", 25.84, 0.14, 0.54, "9/1 12:00am" },
                    new object[] { 23,"Pfizer Inc", 27.96, 0.4, 1.45, "9/1 12:00am" },
                    new object[] { 24,"The Coca-Cola Company", 45.07, 0.26, 0.58, "9/1 12:00am" },
                    new object[] { 25,"The Home Depot, Inc.", 34.64, 0.35, 1.02, "9/1 12:00am" },
                    new object[] { 26,"The Procter & Gamble Company", 61.91, 0.01, 0.02, "9/1 12:00am" },
                    new object[] { 27,"United Technologies Corporation", 63.26, 0.55, 0.88, "9/1 12:00am" },
                    new object[] { 28,"Verizon Communications", 35.57, 0.39, 1.11, "9/1 12:00am" },
                    new object[] { 29,"Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63, "9/1 12:00am" }
                };
            }
        }
     
        protected void GridPanel1_RowSelect(object sender, DirectEventArgs e)
        {
            string company = e.ExtraParams["company"].ToString();
            decimal price = Convert.ToDecimal(e.ExtraParams["price"]);
        }
     
        protected void Store1_DataBound(object sender, EventArgs e)
        {
            Store store = sender as Store;
            object[] data = store.DataSource as object[];
     
            if (data == null)
            {
                this.Store1.DataSource = this.Data;
                this.Store1.DataBind();
            }
        }
    </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 id="Head1" runat="server">
        <title>Simple Array Grid - Ext.NET Examples</title>
        <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript">
            var template = '<span style="color:{0};">{1}</span>';
     
            var change = function (value) {
                return String.format(template, (value > 0) ? "green" : "red", value);
            };
     
            var pctChange = function (value) {
                return String.format(template, (value > 0) ? "green" : "red", value + "%");
            };
        </script>
    </head>
    <body>
        <%--http://forums.ext.net/showthread.php?19692-RowSelectionModel-RowSelect-Handler-problem--%>
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <h1>
            Simple Array Grid</h1>
        <ext:GridPanel ID="GridPanel1" runat="server" StripeRows="true" Title="Array Grid" SelectionMemory="Enabled"
            ActiveIndex="0" TrackMouseOver="true" Width="600" Height="350" AutoExpandColumn="company">
            <Store>
                <ext:Store ID="Store1" runat="server" AutoLoad="false" OnDataBinding="Store1_DataBound">
                    <Reader>
                        <ext:ArrayReader IDIndex="0">
                            <Fields>
                                <ext:RecordField Name="rowid" />
                                <ext:RecordField Name="company" />
                                <ext:RecordField Name="price" Type="Float" />
                                <ext:RecordField Name="change" Type="Float" />
                                <ext:RecordField Name="pctChange" Type="Float" />
                                <ext:RecordField Name="lastChange" Type="Date" DateFormat="M/d hh:mmtt" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                    <Listeners>
                        <Load Handler="if (records.length > 0) {
                                            var sm = GridPanel1.getSelectionModel();
                                            if (!sm.hasSelection()) {
                                                sm.selectRow(0);
                                            }
                                       }" />
                    </Listeners>
                </ext:Store>
            </Store>
            <ColumnModel ID="ColumnModel1" runat="server">
                <Columns>
                    <ext:Column ColumnID="RowId" Header="" DataIndex="rowid" Hidden="true" />
                    <ext:Column ColumnID="Company" Header="Company" DataIndex="company" />
                    <ext:Column Header="Price" DataIndex="price">
                        <Renderer Format="UsMoney" />
                    </ext:Column>
                    <ext:Column ColumnID="Change" Header="Change" DataIndex="change">
                        <Renderer Fn="change" />
                    </ext:Column>
                    <ext:Column Header="Change" DataIndex="pctChange">
                        <Renderer Fn="pctChange" />
                    </ext:Column>
                    <ext:DateColumn Header="Last Updated" DataIndex="lastChange" />
                </Columns>
            </ColumnModel>
            <SelectionModel>
                <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true">
                    <DirectEvents>
                        <RowSelect OnEvent="GridPanel1_RowSelect" Success="">
                            <ExtraParams>
                                <ext:Parameter Name="company" Value="record.data['company']" Mode="Raw">
                                </ext:Parameter>
                                <ext:Parameter Name="price" Value="record.data['price']" Mode="Raw">
                                </ext:Parameter>
                            </ExtraParams>
                            <EventMask ShowMask="true" />
                        </RowSelect>
                    </DirectEvents>
                </ext:RowSelectionModel>
            </SelectionModel>
            <LoadMask ShowMask="true" />
            <BottomBar>
                <ext:PagingToolbar runat="server" StoreID="Store1" PageSize="10" ID="PagingToolbar1">
                </ext:PagingToolbar>
            </BottomBar>
            <Listeners>
                <ViewReady Handler="this.getStore().load();" />
                <SortChange Handler="if(this.getStore().getCount()>0){
                                        var sm=GridPanel1.getSelectionModel().selectRow(0);
                                     }" />
            </Listeners>
        </ext:GridPanel>
    </body>
    </html>
    Last edited by Daniil; Jun 25, 2012 at 6:23 PM. Reason: [CLOSED]
  2. #2
    I found a way to meet my requirement. It's probably not very elegant but it's working. If there's a better way, please suggest one.

    Thanks,

    Vadym

    <%@ 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)
            {
                this.Store1.DataSource = this.Data;
                this.Store1.DataBind();
            }
        }
      
        private object[] Data
        {
            get
            {
                return new object[]
                {
                    new object[] { 1, "3m Co", 71.72, 0.02, 0.03, "9/1 12:00am" },
                    new object[] { 2,"Alcoa Inc", 29.01, 0.42, 1.47, "9/1 12:00am" },
                    new object[] { 3,"Altria Group Inc", 83.81, 0.28, 0.34, "9/1 12:00am" },
                    new object[] { 4,"American Express Company", 52.55, 0.01, 0.02, "9/1 12:00am" },
                    new object[] { 5,"American International Group, Inc.", 64.13, 0.31, 0.49, "9/1 12:00am" },
                    new object[] { 6,"AT&T Inc.", 31.61, -0.48, -1.54, "9/1 12:00am" },
                    new object[] { 7,"Boeing Co.", 75.43, 0.53, 0.71, "9/1 12:00am" },
                    new object[] { 8,"Caterpillar Inc.", 67.27, 0.92, 1.39, "9/1 12:00am" },
                    new object[] { 9,"Citigroup, Inc.", 49.37, 0.02, 0.04, "9/1 12:00am" },
                    new object[] { 10,"E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28, "9/1 12:00am" },
                    new object[] { 11,"Exxon Mobil Corp", 68.1, -0.43, -0.64, "9/1 12:00am" },
                    new object[] { 12,"General Electric Company", 34.14, -0.08, -0.23, "9/1 12:00am" },
                    new object[] { 13,"General Motors Corporation", 30.27, 1.09, 3.74, "9/1 12:00am" },
                    new object[] { 14,"Hewlett-Packard Co.", 36.53, -0.03, -0.08, "9/1 12:00am" },
                    new object[] { 15,"Honeywell Intl Inc", 38.77, 0.05, 0.13, "9/1 12:00am" },
                    new object[] { 16,"Intel Corporation", 19.88, 0.31, 1.58, "9/1 12:00am" },
                    new object[] { 17,"International Business Machines", 81.41, 0.44, 0.54, "9/1 12:00am" },
                    new object[] { 18,"Johnson & Johnson", 64.72, 0.06, 0.09, "9/1 12:00am" },
                    new object[] { 19,"JP Morgan & Chase & Co", 45.73, 0.07, 0.15, "9/1 12:00am" },
                    new object[] { 20,"McDonald\"s Corporation", 36.76, 0.86, 2.40, "9/1 12:00am" },
                    new object[] { 21,"Merck & Co., Inc.", 40.96, 0.41, 1.01, "9/1 12:00am" },
                    new object[] { 22,"Microsoft Corporation", 25.84, 0.14, 0.54, "9/1 12:00am" },
                    new object[] { 23,"Pfizer Inc", 27.96, 0.4, 1.45, "9/1 12:00am" },
                    new object[] { 24,"The Coca-Cola Company", 45.07, 0.26, 0.58, "9/1 12:00am" },
                    new object[] { 25,"The Home Depot, Inc.", 34.64, 0.35, 1.02, "9/1 12:00am" },
                    new object[] { 26,"The Procter & Gamble Company", 61.91, 0.01, 0.02, "9/1 12:00am" },
                    new object[] { 27,"United Technologies Corporation", 63.26, 0.55, 0.88, "9/1 12:00am" },
                    new object[] { 28,"Verizon Communications", 35.57, 0.39, 1.11, "9/1 12:00am" },
                    new object[] { 29,"Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63, "9/1 12:00am" }
                };
            }
        }
      
        protected void GridPanel1_RowSelect(object sender, DirectEventArgs e)
        {
            string company = e.ExtraParams["company"].ToString();
            decimal price = Convert.ToDecimal(e.ExtraParams["price"]);
        }
      
        protected void Store1_DataBound(object sender, EventArgs e)
        {
            Store store = sender as Store;
            object[] data = store.DataSource as object[];
      
            if (data == null)
            {
                this.Store1.DataSource = this.Data;
                this.Store1.DataBind();
            }
        }
    </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 id="Head1" runat="server">
        <title>Simple Array Grid - Ext.NET Examples</title>
        <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript">
            var template = '<span style="color:{0};">{1}</span>';
      
            var change = function (value) {
                return String.format(template, (value > 0) ? "green" : "red", value);
            };
      
            var pctChange = function (value) {
                return String.format(template, (value > 0) ? "green" : "red", value + "%");
            };
        </script>
    </head>
    <body>
        <%--http://forums.ext.net/showthread.php?19692-RowSelectionModel-RowSelect-Handler-problem--%>
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <h1>
            Simple Array Grid</h1>
        <ext:GridPanel ID="GridPanel1" runat="server" StripeRows="true" Title="Array Grid" SelectionMemory="Enabled"
            ActiveIndex="0" TrackMouseOver="true" Width="600" Height="350" AutoExpandColumn="company">
            <Store>
                <ext:Store ID="Store1" runat="server" AutoLoad="false" OnDataBinding="Store1_DataBound">
                    <Reader>
                        <ext:ArrayReader IDIndex="0">
                            <Fields>
                                <ext:RecordField Name="rowid" />
                                <ext:RecordField Name="company" />
                                <ext:RecordField Name="price" Type="Float" />
                                <ext:RecordField Name="change" Type="Float" />
                                <ext:RecordField Name="pctChange" Type="Float" />
                                <ext:RecordField Name="lastChange" Type="Date" DateFormat="M/d hh:mmtt" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                    <Listeners>
                        <Load Handler="if (records.length > 0) {
                                            var sm = GridPanel1.getSelectionModel();
                                            if (!sm.hasSelection()) {
                                                sm.selectRow(0);
                                            }
                                            else{
                                                var rowid=GridPanel1.getRowsValues({selectedOnly: true})[0].rowid;
                                                sm.selectRow(Store1.find('rowid', rowid));
                                            }
                                       }" />
                    </Listeners>
                </ext:Store>
            </Store>
            <ColumnModel ID="ColumnModel1" runat="server">
                <Columns>
                    <ext:Column ColumnID="RowId" Header="" DataIndex="rowid" Hidden="true" />
                    <ext:Column ColumnID="Company" Header="Company" DataIndex="company" />
                    <ext:Column Header="Price" DataIndex="price">
                        <Renderer Format="UsMoney" />
                    </ext:Column>
                    <ext:Column ColumnID="Change" Header="Change" DataIndex="change">
                        <Renderer Fn="change" />
                    </ext:Column>
                    <ext:Column Header="Change" DataIndex="pctChange">
                        <Renderer Fn="pctChange" />
                    </ext:Column>
                    <ext:DateColumn Header="Last Updated" DataIndex="lastChange" />
                </Columns>
            </ColumnModel>
            <SelectionModel>
                <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true">
                    <DirectEvents>
                        <RowSelect OnEvent="GridPanel1_RowSelect" Success="">
                            <ExtraParams>
                                <ext:Parameter Name="company" Value="record.data['company']" Mode="Raw">
                                </ext:Parameter>
                                <ext:Parameter Name="price" Value="record.data['price']" Mode="Raw">
                                </ext:Parameter>
                            </ExtraParams>
                            <EventMask ShowMask="true" />
                        </RowSelect>
                    </DirectEvents>
                </ext:RowSelectionModel>
            </SelectionModel>
            <LoadMask ShowMask="true" />
            <BottomBar>
                <ext:PagingToolbar runat="server" StoreID="Store1" PageSize="10" ID="PagingToolbar1">
                </ext:PagingToolbar>
            </BottomBar>
            <Listeners>
                <ViewReady Handler="this.getStore().load();" />
                <SortChange Handler="if(this.getStore().getCount()>0){
                                        var sm=GridPanel1.getSelectionModel().selectRow(0);
                                     }" />
            </Listeners>
        </ext:GridPanel>
    </body>
    </html>
    Thanks,

    Vadym
  3. #3
    Hi,

    Setting up
    FireSelectOnLoad="true"
    for the GridPanel should suite your needs.
  4. #4
    Thanks Daniil,

    That works properly in a simple example below. The RowSelect event fires twice in my setup so I'll have to investigate, not sure what the difference is.
    While we're at it, is there any way to select a row on the client after it's been added and the store is reloaded, both on the client? I'm curious if it's possible to select that new row into view taking paging into consideration, i.e. how to "page" to the selected row so that it shows up?

    Thanks,

    Vadym

    <%@ 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)
            {
                this.Store1.DataSource = this.Data;
                this.Store1.DataBind();
            }
        }
       
        private object[] Data
        {
            get
            {
                return new object[]
                {
                    new object[] { 1, "3m Co", 71.72, 0.02, 0.03, "9/1 12:00am" },
                    new object[] { 2,"Alcoa Inc", 29.01, 0.42, 1.47, "9/1 12:00am" },
                    new object[] { 3,"Altria Group Inc", 83.81, 0.28, 0.34, "9/1 12:00am" },
                    new object[] { 4,"American Express Company", 52.55, 0.01, 0.02, "9/1 12:00am" },
                    new object[] { 5,"American International Group, Inc.", 64.13, 0.31, 0.49, "9/1 12:00am" },
                    new object[] { 6,"AT&T Inc.", 31.61, -0.48, -1.54, "9/1 12:00am" },
                    new object[] { 7,"Boeing Co.", 75.43, 0.53, 0.71, "9/1 12:00am" },
                    new object[] { 8,"Caterpillar Inc.", 67.27, 0.92, 1.39, "9/1 12:00am" },
                    new object[] { 9,"Citigroup, Inc.", 49.37, 0.02, 0.04, "9/1 12:00am" },
                    new object[] { 10,"E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28, "9/1 12:00am" },
                    new object[] { 11,"Exxon Mobil Corp", 68.1, -0.43, -0.64, "9/1 12:00am" },
                    new object[] { 12,"General Electric Company", 34.14, -0.08, -0.23, "9/1 12:00am" },
                    new object[] { 13,"General Motors Corporation", 30.27, 1.09, 3.74, "9/1 12:00am" },
                    new object[] { 14,"Hewlett-Packard Co.", 36.53, -0.03, -0.08, "9/1 12:00am" },
                    new object[] { 15,"Honeywell Intl Inc", 38.77, 0.05, 0.13, "9/1 12:00am" },
                    new object[] { 16,"Intel Corporation", 19.88, 0.31, 1.58, "9/1 12:00am" },
                    new object[] { 17,"International Business Machines", 81.41, 0.44, 0.54, "9/1 12:00am" },
                    new object[] { 18,"Johnson & Johnson", 64.72, 0.06, 0.09, "9/1 12:00am" },
                    new object[] { 19,"JP Morgan & Chase & Co", 45.73, 0.07, 0.15, "9/1 12:00am" },
                    new object[] { 20,"McDonald\"s Corporation", 36.76, 0.86, 2.40, "9/1 12:00am" },
                    new object[] { 21,"Merck & Co., Inc.", 40.96, 0.41, 1.01, "9/1 12:00am" },
                    new object[] { 22,"Microsoft Corporation", 25.84, 0.14, 0.54, "9/1 12:00am" },
                    new object[] { 23,"Pfizer Inc", 27.96, 0.4, 1.45, "9/1 12:00am" },
                    new object[] { 24,"The Coca-Cola Company", 45.07, 0.26, 0.58, "9/1 12:00am" },
                    new object[] { 25,"The Home Depot, Inc.", 34.64, 0.35, 1.02, "9/1 12:00am" },
                    new object[] { 26,"The Procter & Gamble Company", 61.91, 0.01, 0.02, "9/1 12:00am" },
                    new object[] { 27,"United Technologies Corporation", 63.26, 0.55, 0.88, "9/1 12:00am" },
                    new object[] { 28,"Verizon Communications", 35.57, 0.39, 1.11, "9/1 12:00am" },
                    new object[] { 29,"Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63, "9/1 12:00am" }
                };
            }
        }
       
        protected void GridPanel1_RowSelect(object sender, DirectEventArgs e)
        {
            string company = e.ExtraParams["company"].ToString();
            decimal price = Convert.ToDecimal(e.ExtraParams["price"]);
        }
       
        protected void Store1_DataBound(object sender, EventArgs e)
        {
            Store store = sender as Store;
            object[] data = store.DataSource as object[];
       
            if (data == null)
            {
                this.Store1.DataSource = this.Data;
                this.Store1.DataBind();
            }
        }
    </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 id="Head1" runat="server">
        <title>Simple Array Grid - Ext.NET Examples</title>
        <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript">
            var template = '<span style="color:{0};">{1}</span>';
       
            var change = function (value) {
                return String.format(template, (value > 0) ? "green" : "red", value);
            };
       
            var pctChange = function (value) {
                return String.format(template, (value > 0) ? "green" : "red", value + "%");
            };
        </script>
    </head>
    <body>
        <%--http://forums.ext.net/showthread.php?19692-RowSelectionModel-RowSelect-Handler-problem--%>
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <h1>
            Simple Array Grid</h1>
        <ext:GridPanel ID="GridPanel1" runat="server" StripeRows="true" Title="Array Grid" SelectionMemory="Enabled" FireSelectOnLoad="true"
            ActiveIndex="0" TrackMouseOver="true" Width="600" Height="350" AutoExpandColumn="company">
            <Store>
                <ext:Store ID="Store1" runat="server" AutoLoad="false" OnDataBinding="Store1_DataBound">
                    <Reader>
                        <ext:ArrayReader IDIndex="0">
                            <Fields>
                                <ext:RecordField Name="rowid" />
                                <ext:RecordField Name="company" />
                                <ext:RecordField Name="price" Type="Float" />
                                <ext:RecordField Name="change" Type="Float" />
                                <ext:RecordField Name="pctChange" Type="Float" />
                                <ext:RecordField Name="lastChange" Type="Date" DateFormat="M/d hh:mmtt" />
                            </Fields>
                        </ext:ArrayReader>
                    </Reader>
                    <Listeners>
                        <Load Handler="if (records.length > 0) {
                                            var sm = GridPanel1.getSelectionModel();
                                            if (!sm.hasSelection()) {
                                                sm.selectRow(0);
                                            }
                                            //else{
                                            //    var rowid=GridPanel1.getRowsValues({selectedOnly: true})[0].rowid;
                                            //    sm.selectRow(Store1.find('rowid', rowid));
                                            //}
                                       }" />
                    </Listeners>
                </ext:Store>
            </Store>
            <ColumnModel ID="ColumnModel1" runat="server">
                <Columns>
                    <ext:Column ColumnID="RowId" Header="" DataIndex="rowid" Hidden="true" />
                    <ext:Column ColumnID="Company" Header="Company" DataIndex="company" />
                    <ext:Column Header="Price" DataIndex="price">
                        <Renderer Format="UsMoney" />
                    </ext:Column>
                    <ext:Column ColumnID="Change" Header="Change" DataIndex="change">
                        <Renderer Fn="change" />
                    </ext:Column>
                    <ext:Column Header="Change" DataIndex="pctChange">
                        <Renderer Fn="pctChange" />
                    </ext:Column>
                    <ext:DateColumn Header="Last Updated" DataIndex="lastChange" />
                </Columns>
            </ColumnModel>
            <SelectionModel>
                <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" SingleSelect="true">
                    <DirectEvents>
                        <RowSelect OnEvent="GridPanel1_RowSelect" Success="">
                            <ExtraParams>
                                <ext:Parameter Name="company" Value="record.data['company']" Mode="Raw">
                                </ext:Parameter>
                                <ext:Parameter Name="price" Value="record.data['price']" Mode="Raw">
                                </ext:Parameter>
                            </ExtraParams>
                            <EventMask ShowMask="true" />
                        </RowSelect>
                    </DirectEvents>
                </ext:RowSelectionModel>
            </SelectionModel>
            <LoadMask ShowMask="true" />
            <BottomBar>
                <ext:PagingToolbar runat="server" StoreID="Store1" PageSize="10" ID="PagingToolbar1">
                </ext:PagingToolbar>
            </BottomBar>
            <Listeners>
                <ViewReady Handler="this.getStore().load();" />
                <SortChange Handler="if(this.getStore().getCount()>0){
                                        var sm=GridPanel1.getSelectionModel().selectRow(0);
                                     }" />
            </Listeners>
        </ext:GridPanel>
    </body>
    </html>
  5. #5
    I think you could use the Store openPage method. Please investigate the Click listener of the "Find 'Government Motors'" button.
    https://examples1.ext.net/#/GridPane...l_Data_Paging/
  6. #6
    Quote Originally Posted by Daniil View Post
    I think you could use the Store openPage method. Please investigate the Click listener of the "Find 'Government Motors'" button.
    https://examples1.ext.net/#/GridPane...l_Data_Paging/
    I believe that's what I need. Thanks for the link!

    Vadym

Similar Threads

  1. Replies: 9
    Last Post: Jun 27, 2012, 2:17 PM
  2. [CLOSED] Event handler before direct event handlers
    By matejgolob in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Jun 08, 2012, 2:31 PM
  3. SortChange Direct Event doesn't fire at all
    By cicaglisa in forum 1.x Help
    Replies: 1
    Last Post: May 23, 2012, 5:31 PM
  4. Replies: 2
    Last Post: Feb 10, 2012, 6:55 PM
  5. How to fire GridPanel rowselect event
    By FlorMariaF in forum 1.x Help
    Replies: 3
    Last Post: Jan 18, 2010, 7:49 PM

Posting Permissions