PagingToolbar.PageIndex doesn't work

  1. #1

    PagingToolbar.PageIndex doesn't work

    Hi,

    I use the property of PageIndex to set page index when page_load, but it only works by pressing the button "refresh".

    How can I set the page index when the page is not postback ?

    my sample code as following:

    ASPX
    <ext:GridPanel ID="gridPanelDemo" runat="server"  AutoWidth="true" Height="400"
                       StripeRows="true"
                       Title="GridPanel Demo" Cls="x-grid-radio-custom">
    
        <Store>
         <ext:Store ID="gridPanelStore" runat="server" >
            <Reader>
            <ext:JsonReader IDProperty="ID">
                <Fields>
                    <ext:RecordField Name="ID" Type="String" />
                    <ext:RecordField Name="ItemValue" />
                    <ext:RecordField Name="ItemText" />
                    <ext:RecordField Name="isVisible" Type="Boolean" />
                    <ext:RecordField Name="isChecked" />
                    <ext:RecordField Name="ItemCount" Type="Float" />
                </Fields>
            </ext:JsonReader>
            </Reader>
        </ext:Store>
        </Store>
            <ColumnModel ID="ColumnModel1" runat="server">
                <Columns>
                    <ext:Column ColumnID="ID" Header="ID" DataIndex="ID" />
                    <ext:Column  Header="Item Value" DataIndex="ItemValue" />
                    <ext:Column  ColumnID="ItemText" Header="Item Text" DataIndex="ItemText" Fixed="true"  Wrap="true"  Width="100"  />
                    <ext:CommandColumn Align="Center" ButtonAlign="Center" Header="Function"  >
                        <Commands>
                            <ext:GridCommand CommandName="Edit" Text="Edit" StandOut="true"  />
                            <ext:CommandSeparator />
                            <ext:GridCommand CommandName="History" Text="History" StandOut="true" />
                        </Commands>
                    </ext:CommandColumn>
                    <ext:CheckColumn DataIndex="isChecked" Header="Check" Width="50" />
                    <ext:BooleanColumn DataIndex="isVisible" Header="Boolean" Width="50" />
                    <ext:NumberColumn DataIndex="ItemCount" Header="Number" Width="50" />
                </Columns>
            </ColumnModel>
            <SelectionModel>
                <ext:CheckboxSelectionModel ID="gridPanelDemoCheckbox" CheckOnly="true" HideCheckAll="true"   KeepSelectionOnClick="Always" />
            </SelectionModel>
            <BottomBar>
                <ext:PagingToolbar ID="gridPanelDemoPagingToolBar" PageSize="10" StoreID="gridPanelStore" />
            </BottomBar>
            <LoadMask ShowMask="true" />
        </ext:GridPanel>
    C#
    protected void Page_Load(object sender, EventArgs e)
        {
            gridPanelStore.DataSource = getDemoData();
            gridPanelStore.DataBind();
            gridPanelDemoPagingToolBar.PageIndex = 3;
        }
    
        private IList<DataItemDemo> getDemoData()
        {
            IList<DataItemDemo> demoDataList = new List<DataItemDemo>();
    
            for (int i = 0; i < 80; i += 5)
            {
                demoDataList.Add(new DataItemDemo("XXXX", "6", (i).ToString()));
                demoDataList.Add(new DataItemDemo("YYY", "7", (i +1).ToString()));
                demoDataList.Add(new DataItemDemo("ZZZ", "8", (i + 2).ToString()));
                demoDataList.Add(new DataItemDemo("DDD", "9", (i + 3).ToString()));
                demoDataList.Add(new DataItemDemo("GGG", "10", (i + 4).ToString()));
            }
            return demoDataList;
        }
        public class DataItemDemo
        {
            public string ID { get; set; }
            public string ItemText { get; set; }
            public string ItemValue { get; set; }
            public bool isVisible { get; set; }
            public string isChecked { get; set; }
            public decimal ItemCount { get; set; }
            public bool isDelete { get; set; }
    
            public DataItemDemo(string text, string value, string id)
            {
                ItemText = text;
                ItemValue = value;
                ID = id;
    
                isVisible = true;
                isChecked = "";
                ItemCount = 9.9M;
                isDelete = false;
            }
        }
  2. #2
    Hi,

    Please use .PageIndex during DirectEvent only.

    For initial page load you can just set up a respective "start" value in AutoLoadParams.

    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.GridPanel1.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();
    
                int pageIndex = 2,
                    start;
                
                start = (pageIndex - 1) * PagingToolbar1.PageSize;
    
                store.AutoLoadParams.Add(new Ext.Net.Parameter("start", start.ToString(), ParameterMode.Raw));
            }
        }
    </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:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
                <Store>
                    <ext:Store runat="server">
                        <Reader>
                            <ext:ArrayReader>
                                <Fields>
                                    <ext:RecordField Name="test" />
                                </Fields>
                            </ext:ArrayReader>
                        </Reader>
                    </ext:Store>
                </Store>
                <ColumnModel runat="server">
                    <Columns>
                        <ext:Column Header="Test" DataIndex="test" />
                    </Columns>
                </ColumnModel>
                <BottomBar>
                    <ext:PagingToolbar ID="PagingToolbar1" runat="server" PageSize="3" />
                </BottomBar>
            </ext:GridPanel>
        </form>
    </body>
    </html>
  3. #3
    Hi Daniil,

    Thanks for your reply. It works fine.

Similar Threads

  1. Doesn't work via SSLVPN
    By inorder in forum 1.x Help
    Replies: 10
    Last Post: Jun 06, 2012, 7:42 AM
  2. [CLOSED] PagingToolbar (pageindex) not updating
    By mcfromero in forum 1.x Legacy Premium Help
    Replies: 14
    Last Post: Mar 20, 2012, 7:36 PM
  3. Replies: 27
    Last Post: May 17, 2011, 9:41 PM
  4. Keymap doesn't work
    By Kamal in forum 1.x Help
    Replies: 2
    Last Post: Aug 13, 2009, 10:49 AM
  5. Replies: 3
    Last Post: Aug 10, 2009, 6:17 PM

Posting Permissions