[CLOSED] Not value retain when page navigate

  1. #1

    [CLOSED] Not value retain when page navigate

    Hi,

    We are using to change the value in store at client side. The following method we are using to change the value. Also can you see the attached image



    Click image for larger version. 

Name:	grid.jpg 
Views:	103 
Size:	35.4 KB 
ID:	2678
    In this method, we are used to change the selected column value if the column value is 1 then set 0 else if the column value is 0 then set 1. If column value is 1 then we are used to renderer method to show the image else show the empty. This method is calling from toolbar icon and this is working fine to change the column value in client side. But It will not retain the column value when we are going to next/previous page. This method is retaining the value current page only. Here any mistake we are used?

    function selectordeselectuser() 
    {
                if (activecolumn == null) return;
                if (selectdeselectflag == null) selectdeselectflag = '1';
                for (introw = 0; introw < totalgridrow; introw++) {
                    var columnname = ColumnModel2.getColumnId(activecolumn);
                    var recordData = storeGrid.allData.itemAt(introw);
                    if (recordData != null) {
                        if (selectdeselectflag == '0') {
                            recordData.set(columnname, '1');
                        }
                        else {
                            recordData.set(columnname, '0');
                        }
                        recordData.commit();
                        gridpanel.getView().refreshRow(recordData);
                    }
                }
                if (selectdeselectflag == '0') {
                    selectdeselectflag = '1';
                }
                else {
                    selectdeselectflag = '0';
                }
    }
    Please reply your suggestion asap.

    Regards

    Rameshkumar
    Attached Thumbnails Click image for larger version. 

Name:	grid.jpg 
Views:	73 
Size:	25.7 KB 
ID:	2677  
    Last edited by Daniil; May 10, 2011 at 6:31 AM. Reason: [CLOSED]
  2. #2
    Hi,

    I guess you use remote paging and don't save a new value on client side.

    Please note when you use remote paging, data comes from server side each time when you navigate through pages.
  3. #3

    Not value retain when page navigate

    Hi Daniil,

    Thank you your reply.

    we can not use remote paging for this page. I found the problem what we are used. Before we were not use grid filter at this grid. Based on new requirement i added grid filter for each column. After that the column value can not retain when navigate the pages. Without grid filter the column value are retain the all pages after i changed.

    How can i use this feature with grid filter?

    Quote Originally Posted by Daniil View Post
    Hi,

    I guess you use remote paging and don't save a new value on client side.

    Please note when you use remote paging, data comes from server side each time when you navigate through pages.
  4. #4
    I review your code again - it should also work with filters.

    Could you provide a simplified sample?
  5. #5

    Not value retain when page navigate

    Hi Daniil,

    Below i have listed what we were used to change multiple page with grid filter in client side. Below source it is working fine when i removed grid filter

    ASPX code
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="SampleTest.aspx.cs" Inherits="SampleTest" %>
    <%@ 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">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <link rel="stylesheet" type="text/css" href="css/toolbar.css" />
        <link rel="stylesheet" type="text/css" href="css/ext-all-embedded.css" />
        <link rel="stylesheet" type="text/css" href="css/xtheme-slate.css" />
        <script>
            function showimage(value, meta, record, rowIndex, colIndex, store) {
                meta.attr = "style='text-align:center;'";
                if (value == "1") {
                    return String.format('<img class="imgEdit" style="cursor:pointer;" src="images/icons/tick_blue.png"/>', value);
                }
                else if (value == "0") {
                    return "";
                }
            }
            function cellClick(grid, rowIndex, colIndex, e) {
                if (colIndex < 2) return;
                activecolumn = colIndex;
                var columnname = ColumnModel1.getColumnId(colIndex);
                var recordData = grid.getStore().getAt(rowIndex);
                var columnvalue = recordData.get(columnname);
                if (recordData != null) {
                    if (columnvalue == '0')
                        recordData.set(columnname, '1');
                    else
                        recordData.set(columnname, '0');
                }
                grid.getView().refreshRow(recordData);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <ext:ScriptManager ID="ScriptManager1" runat="server" RenderStyles="File">
            </ext:ScriptManager>
            <ext:Store ID="storeGrid" runat="server" IgnoreExtraFields="true" ShowWarningOnFailure="false">
            </ext:Store>
            <ext:ViewPort ID="ViewPort1" runat="server">
                <Body>
                    <ext:BorderLayout ID="BorderLayout1" runat="server">
                        <North>
                        </North>
                        <Center>
                            <ext:GridPanel ID="gridPanel" runat="server" StoreID="storeGrid" StripeRows="true"
                                TrackMouseOver="true">
                                <ColumnModel ID="ColumnModel1" runat="server">
                                    <Columns>
                                    </Columns>
                                </ColumnModel>
                                <Listeners>
                                    <CellClick Fn="cellClick" />
                                </Listeners>
                                <SelectionModel>
                                    <ext:CheckboxSelectionModel HideCheckAll="true" SingleSelect="true" ID="CheckboxSelectionModel1"
                                        runat="server">
                                    </ext:CheckboxSelectionModel>
                                </SelectionModel>
                                <Plugins>
                                    <ext:GridFilters runat="server" ID="gfgrid">
                                        <Filters>
                                        </Filters>
                                    </ext:GridFilters>
                                </Plugins>
                                <BottomBar>
                                    <ext:PagingToolbar ID="PagingToolBar1" PageSize="5" runat="server" StoreID="storeGrid"
                                        DisplayInfo="true">
                                    </ext:PagingToolbar>
                                </BottomBar>
                            </ext:GridPanel>
                        </Center>
                    </ext:BorderLayout>
                </Body>
            </ext:ViewPort>
        </div>
        </form>
    </body>
    </html>
    Code Behind

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Coolite.Ext.Web;
    public partial class SampleTest : System.Web.UI.Page
    {
        List<Order> orderlist = new List<Order>();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindOrder();
            }
        }
        private void BindOrder()
        {
            JsonReader jrContainerLoading = new JsonReader();
            jrContainerLoading.ReaderID = "Key";
            RecordField recordField = new RecordField();
            recordField.Name = "Key";
            jrContainerLoading.Fields.Add(recordField);
            Coolite.Ext.Web.Column COL;
            int GridCounter = -1;
            StringFilter stringFilter;
            string[] arrcolumns = { "Key", "OrderNo", "CustomerName", "Price", "Action" };
            for (int Counter = 0; Counter < arrcolumns.Length; Counter++)
            {
                recordField = new RecordField();
                recordField.Name = arrcolumns[Counter];
                COL = new Coolite.Ext.Web.Column();
                COL.ColumnID = arrcolumns[Counter];
                COL.DataIndex = arrcolumns[Counter];
                COL.Header = arrcolumns[Counter];
                COL.Width = 100;
                stringFilter = new StringFilter();
                stringFilter.DataIndex = arrcolumns[Counter];
                gfgrid.Filters.Add(stringFilter);
                if (arrcolumns[Counter] == "Action")
                {
                    COL.Renderer.Fn = "showimage";
                }
                this.gridPanel.ColumnModel.Columns.Insert(GridCounter + 1, COL);
                jrContainerLoading.Fields.Add(recordField);
                GridCounter++;
            }
            storeGrid.Reader.Add(jrContainerLoading);
            orderlist = GetList();
            storeGrid.DataSource = orderlist;
            storeGrid.DataBind();
        }
        private List<Order> GetList()
        {
            List<Order> listorder = new List<Order>();
            Order order = new Order();
            for (int i = 0; i < 20; i++)
            {
                order = new Order();
                order.Key = i.ToString();
                order.OrderNo = "10000-" + i.ToString();
                order.CustomerName = "Name-" + i.ToString();
                order.Price = (100 + i).ToString();
                order.Action = "0";
                listorder.Add(order);
            }
            return listorder;
        }
        public class Order
        {
            string strKey = string.Empty;
            public string Key
            {
                get { return strKey; }
                set { strKey = value; }
            }
            string strOrderNo = string.Empty;
            public string OrderNo
            {
                get { return strOrderNo; }
                set { strOrderNo = value; }
            }
            string strCustomerName = string.Empty;
            public string CustomerName
            {
                get { return strCustomerName; }
                set { strCustomerName = value; }
            }
            string strPrice = string.Empty;
            public string Price
            {
                get { return strPrice; }
                set { strPrice = value; }
            }
            string strAction = string.Empty;
            public string Action
            {
                get { return strAction; }
                set { strAction = value; }
            }
        }
    }
    Quote Originally Posted by Daniil View Post
    I review your code again - it should also work with filters.

    Could you provide a simplified sample?
  6. #6
    Please set up for the GridFilters:
    <CustomConfig>
        <ext:ConfigItem Name="local" Value="true" Mode="Raw" />
    </CustomConfig>
  7. #7

    Not value retain when page navigate

    Hi Daniil,

    I added custom config in grid filter. This is working fine.

    Quote Originally Posted by Daniil View Post
    Please set up for the GridFilters:
    <CustomConfig>
        <ext:ConfigItem Name="local" Value="true" Mode="Raw" />
    </CustomConfig>

Similar Threads

  1. [CLOSED] Navigate to a page on a grid using the page number
    By optibase in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: Aug 06, 2012, 5:47 PM
  2. Navigate to other page
    By UserClarion in forum 1.x Help
    Replies: 1
    Last Post: May 29, 2012, 11:21 AM
  3. [CLOSED] Button Navigate URL MVC
    By mcfromero in forum 1.x Legacy Premium Help
    Replies: 1
    Last Post: May 01, 2012, 9:47 AM
  4. Retain TreePanel Scroll
    By hardik in forum 1.x Help
    Replies: 2
    Last Post: May 04, 2011, 4:11 AM
  5. Retain TreePanel scroll
    By hardik in forum 1.x Help
    Replies: 0
    Last Post: Apr 25, 2011, 11:12 AM

Tags for this Thread

Posting Permissions