[CLOSED] Making the selected Grid Row Visible to User

  1. #1

    [CLOSED] Making the selected Grid Row Visible to User

    Using 0.8.2.30060

    In the example below on page load I select row 25 I also want to scroll this row into view so it is visible to the user. How can I do this on page load?

    Cheers

    Rob

    <%@ Page Language="C#" %>
    <%@ Import Namespace="System.Xml" %>
    <%@ 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)
         {     
             this.Store1.DataSource = new List<Company> 
             { 
                 new Company("3m Co", 71.72, 0.02, 0.03),
                 new Company("Alcoa Inc", 29.01, 0.42, 1.47),
                 new Company("Altria Group Inc", 83.81, 0.28, 0.34),
                 new Company("American Express Company", 52.55, 0.01, 0.02),
                 new Company("American International Group, Inc.", 64.13, 0.31, 0.49),
                 new Company("AT&T Inc.", 31.61, -0.48, -1.54),
                 new Company("Boeing Co.", 75.43, 0.53, 0.71),
                 new Company("Caterpillar Inc.", 67.27, 0.92, 1.39),
                 new Company("Citigroup, Inc.", 49.37, 0.02, 0.04),
                 new Company("E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28),
                 new Company("Exxon Mobil Corp", 68.1, -0.43, -0.64),
                 new Company("General Electric Company", 34.14, -0.08, -0.23),
                 new Company("General Motors Corporation", 30.27, 1.09, 3.74),
                 new Company("Hewlett-Packard Co.", 36.53, -0.03, -0.08),
                 new Company("Honeywell Intl Inc", 38.77, 0.05, 0.13),
                 new Company("Intel Corporation", 19.88, 0.31, 1.58),
                 new Company("International Business Machines", 81.41, 0.44, 0.54),
                 new Company("Johnson & Johnson", 64.72, 0.06, 0.09),
                 new Company("JP Morgan & Chase & Co", 45.73, 0.07, 0.15),
                 new Company("McDonald\"s Corporation", 36.76, 0.86, 2.40),
                 new Company("Merck & Co., Inc.", 40.96, 0.41, 1.01),
                 new Company("Microsoft Corporation", 25.84, 0.14, 0.54),
                 new Company("Pfizer Inc", 27.96, 0.4, 1.45),
                 new Company("The Coca-Cola Company", 45.07, 0.26, 0.58),
                 new Company("The Home Depot, Inc.", 34.64, 0.35, 1.02),
                 new Company("The Procter & Gamble Company", 61.91, 0.01, 0.02),
                 new Company("United Technologies Corporation", 63.26, 0.55, 0.88),
                 new Company("Verizon Communications", 35.57, 0.39, 1.11),
                 new Company("Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63)
             };         
            if (!Ext.IsAjaxRequest)
            {
                this.Store1.DataBind();
                RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel;
                sm.SelectedRows.Add(new SelectedRow(25));   
              
                //Need to make the selected item visible here somehow                 
            }
        }
          
        public class Company
        {
            public Company(string name, double price, double change, double pctChange)
            {
                this.Name = name;
                this.Price = price;
                this.Change = change;
                this.PctChange = pctChange;
            }
            public Company()
            {
            }
            public string Name { get; set; }
            public double Price { get; set; }
            public double Change { get; set; }
            public double PctChange { get; set; }     
        }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>Row Selection Model</title>
        
        <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
         <form id="Form1" runat="server">
        <ext:ScriptManager ID="ResourceManager1" runat="server" />
        
        <ext:Store ID="Store1" runat="server">
            <Reader>
                <ext:JsonReader >
                    <Fields>
                        <ext:RecordField Name="Name" />
                        <ext:RecordField Name="Price" />
                        <ext:RecordField Name="Change" />
                        <ext:RecordField Name="PctChange" />
                    </Fields>
                </ext:JsonReader>
            </Reader>
        </ext:Store>
         <ext:GridPanel ID="GridPanel1" runat="server" StoreID="Store1" StripeRows="true"
           Title="Company List" AutoExpandColumn="Company" Collapsible="true" Width="600"
           Height="350">
           <ColumnModel ID="ColumnModel1" runat="server">
             <Columns>
               <ext:Column ColumnID="Company" Header="Company" Width="160" DataIndex="Name" />
               <ext:Column Header="Price" Width="75" DataIndex="Price">
                 <Renderer Format="UsMoney" />
               </ext:Column>
               <ext:Column Header="Change" Width="75" DataIndex="Change" />
               <ext:Column Header="Change" Width="75" DataIndex="PctChange" />
             </Columns>
           </ColumnModel>
           <SelectionModel>
             <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
           </SelectionModel>
         </ext:GridPanel>
               
        </form>
      </body>
    </html>
    Last edited by Daniil; Jan 26, 2011 at 8:26 AM. Reason: [CLOSED]
  2. #2
    Hi,

    Unfortunately, your code sample is unreadable. Please re-format, see #3
    http://forums.ext.net/showthread.php?10205
  3. #3
    Edited, apologies.
  4. #4
    Thank you.

    I would suggest you the following way.

    Example
    string script = "this.focusRow(25);";
    this.GridView1.Listeners.Refresh.Handler = script;
    this.GridView1.Listeners.Refresh.Single = true;
    this.GridView1.Listeners.Refresh.Delay = 1;
    To get this code working please also set GridView for GridPanel.

    Example
    <ext:GridPanel ...>
        ...
        <View>
            <ext:GridView ID="GridView1" runat="server" />
        </View>
    </ext:GridPanel>

Similar Threads

  1. Replies: 2
    Last Post: Jul 31, 2011, 9:58 PM
  2. User Control Topbar is not visible in calendar
    By krishna in forum 1.x Help
    Replies: 2
    Last Post: Jan 07, 2011, 1:01 PM
  3. [CLOSED] Problem making visible a label after the page is loaded.
    By flormariafr in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Mar 11, 2010, 12:31 PM
  4. Replies: 2
    Last Post: Dec 25, 2009, 2:56 PM
  5. Replies: 1
    Last Post: Sep 04, 2009, 9:14 AM

Posting Permissions