The official release of Ext.NET Mobile is now available. Ext.NET Mobile is an ASP.NET component framework for building Phone and Tablet specific mobile web applications. Read More

[CLOSED] After filtering the data in grid panel, the update and cancel buttons is showing on the top of the row.

  1. #1

    [CLOSED] After filtering the data in grid panel, the update and cancel buttons is showing on the top of the row.

    My grid panel resides inside of ext: Panel of ext: Tab Panel. When I am trying to update a row after applying filter, the update and cancel buttons come in the top of the row. For this, the update and cancel buttons of the first row become disappear behind the grid panel filter row. Please help me to find out the problem. I have attached the picture also.


    Thanks
    Attached Thumbnails Ext.netProblem.png  
    Last edited by Daniil; Jun 24, 2014 at 2:14 PM. Reason: [CLOSED]
  2. #2
    Hi @Poulami,

    That is strange. The Buttons should not be aligned on top for the first row. Could you, please, provide a test case?
  3. #3

    My ext.net code

    Quote Originally Posted by Daniil View Post
    Hi @Poulami,

    That is strange. The Buttons should not be aligned on top for the first row. Could you, please, provide a test case?
    Hi,
    I have posted my ext.net code with some dummy data. After selecting the Country Code field with 'A' it will show multiple rows. On a row if you click, you can see the buttons appear on the top.
    Below is my .aspx code:--

    <%@ 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.BindCurrencyGrid();
            }
        }
        private void BindCurrencyGrid()
        {
            Store store = this.GridPanel1.GetStore();
            store.DataSource = this.CurrencyData;
            store.DataBind();
    
            Ext.Net.Store StrISOCurrencyCode = this.ComboBox2.GetStore();
            StrISOCurrencyCode.DataSource = this.CurrencyComboData;
            StrISOCurrencyCode.DataBind();
        }
        private object[] CurrencyData
        {
            get
            {
                DateTime now = DateTime.Now;
    
                return new object[]
                {
                   	new object[] {"AED","United Arab Emirates","AE","True",},	
                    new object[] {"AFN","Afghanistan,Afghanis","AF","True",},
                    new object[] {"ALL","Albania, Leke","AL","False","01/01/1900"},
                    new object[] {"AMD","Armenia, Drams","AM","True",},
                    new object[] {"ANG","Netherlands Antilles, Guilders (also called Florins)","AN","True",},
                    new object[] {"AOA","Angola, Kwanza","AO","True",},	
                    new object[] {"ARA","WEST INDIES DOLLAR","GB","True",},	
                    new object[] {"ARS","Argentina, Pesos","AR","True",},	
                    new object[] {"ATS","AUS. SCHILLING","AT","False","01/01/1999"},
                    new object[] {"AUD","Australia, Dollars","AU","True",},	
                    new object[] {"AWG","Aruba, Guilders","AW","True",},	
                    new object[] {"AZN","Azerbaijan, New Manats","AZ","True",},	
                    new object[] {"BAM","Bosnia and Herzegovina, Convertible Marka","BA","True",},
                    new object[] {"BBD","Barbados, Dollars","BB","True",},	
                    new object[] {"BDT","Bangladesh, Taka","BD","True",},
                    new object[] {"BEF","BELGIAN FRANC","BE","False","03/01/2002"},
                    new object[] {"BGN","Bulgaria, Leva","BG","True",},
                    new object[] {"BHD","Bahrain, Dinars","BH","True",},
                    new object[] {"BIF","Burundi, Francs","BI","True",},
                    new object[] {"BMD","Bermuda, Dollars","BM","True",},	
                    new object[] {"BND","Brunei Darussalam, Dollars","BN","True",},
                    new object[] {"BOB","Bolivia, Bolivianos","BO","True",},	
                    new object[] {"BRL","Brazil, Brazil Real","BR","True",},
                    new object[] {"BSD","Bahamas, Dollars","BS","True",},
                    new object[] {"BTN","Bhutan, Ngultrum","BT","True",},
                    new object[] {"BWP","Botswana, Pulas","BW","True",}
                };
            }
        }
        private object[] CurrencyComboData
        {
            get
            {
                DateTime now = DateTime.Now;
    
                return new object[]
                {
                   	new object[] {"AE"},	
                    new object[] {"AF"},
                    new object[] {"AL"},
                    new object[] {"AM"},
                    new object[] {"AN"},
                    new object[] {"AO"},	
                    new object[] {"GB"},	
                    new object[] {"AR"},	
                    new object[] {"AT"},
                    new object[] {"AU"},	
                    new object[] {"AW"},	
                    new object[] {"AZ"},	
                    new object[] {"BA"},
                    new object[] {"BB"},	
                    new object[] {"BD"},
                    new object[] {"BE"},
                    new object[] {"BG"},
                    new object[] {"BH"},
                    new object[] {"BI"},
                    new object[] {"BM"},	
                    new object[] {"BN"},
                    new object[] {"BO"},	
                    new object[] {"BR"},
                    new object[] {"BS"},
                    new object[] {"BT"},
                    new object[] {"BW"}
                };
            }
        }
    </script>
    <script>
    
    
        var exportData = function (grid) {
    
            grid.submitData(null, { isUpload: true });
        };
    
    </script>
    <ext:XScript ID="XScript1" runat="server">
    
        <script>
                var applyFilterCurrency = function (field) { 
                
                    var store = #{GridPanel1}.getStore();
    
                    store.filterBy(getRecordFilterCurrency());                                                
                };
                 
                var applyFilterExchange = function (field) {  
                    var store = #{GridPanel2}.getStore();
    
                    store.filterBy(getRecordFilterExchange());                                                
                };
    
                var applyFilterCountry = function (field) {  
                    var store = #{GridPanel3}.getStore();
    
                    store.filterBy(getRecordFilterCountry());                                                
                };
    
                var applyFilterVendor = function (field) {  
                    var store = #{GridPanel4}.getStore();
    
                    store.filterBy(getRecordFilterVendor());                                                
                };
    
                var clearFilterCurrency = function () {
                
                    #{ComboBox1}.reset();
                    #{DescFilter}.reset();
                    #{ComboBox2}.reset();
                    #{ComboBox3}.reset();
                    #{ExpirationDateFilter}.reset();
                     
                    #{StrCurrency}.clearFilter();
                }
                
               var filterString = function (value, dataIndex, record) {
                        var val = record.get(dataIndex)
                        if (val != null) {
                             val = val.toString();
    
                        }
                    
                        if (typeof val != "string") {
                            return value.length == 0;
                        }
                    
                        return val.toLowerCase().indexOf(value.toString().toLowerCase()) > -1;
                    };
    
               var filterDate = function (value, dataIndex, record) {
                        var val = record.get(dataIndex)
                        if (val != null) {
                            val = Ext.Date.clearTime(record.get(dataIndex), true).getTime();
                             
                            if (!Ext.isEmpty(value, false) && val != Ext.Date.clearTime(value, true).getTime()) {
                            return false;
                            }
                            return true;
    
                        }
    
                        if (typeof val != "string") {
                            return value.length == 0;
                        }
     
    //                    
                    };
    
    
                var filterNumber = function (value, dataIndex, record) {
                           var val = record.get(dataIndex);                
     
                           if (!Ext.isEmpty(value, false) && val != value) {
                               return false;
                           }
                   
                           return true;
                       };
    
    
    
                var getRecordFilterCurrency = function () {
                    var f = [];
     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{ComboBox1}.getValue()||"", "ISOCurrencyCode", record);
    
                        }
                    });
                     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{DescFilter}.getValue(), "ISOCurrencyCodeDescription", record);
                        }
                    });
                     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{ComboBox2}.getValue()||"", "ISOCountryCode", record);
                        }
                    });
                     
                    f.push({
                        filter: function (record) {
                           if (#{ComboBox3}.getValue() != null)                         
                              return filterString(#{ComboBox3}.getValue(), "isActive", record);
                           else
                              return filterString("", "isActive", record);
                        }
                    });
                     
                    f.push({
                        filter: function (record) {                         
                            return filterDate(#{ExpirationDateFilter}.getValue()||"", "ExpirationDate", record);
                        }
                    });
    
     
                    var len = f.length;
                 
                    return function (record) {
                        for (var i = 0; i < len; i++) {
                            if (!f[i].filter(record)) {
                                return false;
                            }
                        }
                        return true;
                    };
    
                 };
    
    
    
              var EditDeleteCurrency = function (grid, command,record) {
    //               var grid = #{GridPanel1};
    
                   var index = grid.store.indexOf(record);
                    if (command == "Delete") {
                       if( ! confirm("Delete Row?")) return false;
                            grid.getStore().remove(record);
                            App.direct.deleteCurrency(record , {
                            success : function (result) {
                                if (!result.deleted) {
                                    Ext.Msg.alert("Error", result.msg);
                                    grid.store.insert(index, record);
                                    return;
                                }
                            }
                        });
    
                   }
                   if (command == "Edit") {
                     grid.getRowEditor().startEdit(record, 1);
    
                   }
    
              };
    
              var addCurrency = function () {
              
                    var grid = #{GridPanel1};
                    grid.editingPlugin.cancelEdit();
    
                    // Create a record instance through the ModelManager
                                    
                    grid.store.insert(0, new Currency());
                    grid.editingPlugin.startEdit(0, 0);
                };
                      
    
                 var autoSaveCurrency = function () {   
                          
                    var plugin = this.editingPlugin;
                    if (this.getForm().isValid()) { // save the record   
                          App.direct.autoSaveCurrency(plugin.context.record.phantom, this.getValues(false, false, false, true), {
                            success : function (result) {
                                if (!result.saved) {
                                    Ext.Msg.alert("Error", result.msg);
                                    return;
                                }
    
                                plugin.completeEdit();
                            }
                        });
                    }
                };
    
                var autoSaveExchange = function () {                
                    var plugin = this.editingPlugin;
                    if (this.getForm().isValid()) { // save the record                    
                        App.direct.autoSaveExchange(plugin.context.record.phantom, this.getValues(false, false, false, true), {
                            success : function (result) {
                                if (!result.saved) {
                                    Ext.Msg.alert("Error", result.msg);
                                    return;
                                }
    
                                plugin.completeEdit();
                            }
                        });
                    }
                };
    
    
    
        </script>
        
    </ext:XScript>
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <title>My Page</title>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:TabPanel ID="TabPanel1" runat="server" Width="950" EnableTabScroll="true" DeferredRender="false">
            <Items>
                <ext:Panel ID="Panel1" runat="server" Title="Currency">
                    <Items>
                        <ext:GridPanel ID="GridPanel1" runat="server" Title="Currency Grid" Width="950" Height="410">
                            <ResizableConfig Handles="East" />
                            <Store>
                                <ext:Store ID="StrCurrency" runat="server" PageSize="50">
                                    <Model>
                                        <ext:Model ID="MdlCurrency" runat="server" Name="Currency">
                                            <Fields>
                                                <ext:ModelField Name="ISOCurrencyCode" />
                                                <ext:ModelField Name="ISOCurrencyCodeDescription" />
                                                <ext:ModelField Name="ISOCountryCode" />
                                                <ext:ModelField Name="isActive" Type="String" />
                                                <ext:ModelField Name="ExpirationDate" Type="Date" DateFormat="MM/dd/yyyy" />
                                            </Fields>
                                        </ext:Model>
                                    </Model>
                                </ext:Store>
                            </Store>
                            <ColumnModel ID="ColumnModel1" runat="server">
                                <Columns>
                                    <ext:Column ID="Column1" runat="server" Text="Currency Code" Width="100" DataIndex="ISOCurrencyCode">
                                        <HeaderItems>
                                            <ext:ComboBox ID="ComboBox1" runat="server" TriggerAction="All" QueryMode="Local"
                                                DisplayField="ISOCurrencyCode" ValueField="ISOCurrencyCode">
                                                <Store>
                                                    <ext:Store ID="StrISOCurrencyCode" runat="server">
                                                        <Model>
                                                            <ext:Model ID="MdlISOCurrencyCode" runat="server">
                                                                <Fields>
                                                                    <ext:ModelField Name="ISOCurrencyCode" />
                                                                </Fields>
                                                            </ext:Model>
                                                        </Model>
                                                    </ext:Store>
                                                </Store>
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton1" runat="server" />
                                                </Plugins>
                                            </ext:ComboBox>
                                        </HeaderItems>
                                        <%--                                <Renderer Fn="NavigateCurrency" />
                                        --%>
                                        <Editor>
                                            <ext:TextField ID="TextField1" runat="server" AllowBlank="false" />
                                        </Editor>
                                    </ext:Column>
                                    <ext:Column ID="Column2" runat="server" Text="Description" Width="500" DataIndex="ISOCurrencyCodeDescription"
                                        Flex="1">
                                        <HeaderItems>
                                            <ext:TextField ID="DescFilter" runat="server">
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton2" runat="server" />
                                                </Plugins>
                                            </ext:TextField>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:TextField ID="TextField2" runat="server" AllowBlank="false" />
                                        </Editor>
                                    </ext:Column>
                                    <ext:Column ID="Column3" runat="server" Text="Country Code" Width="100" DataIndex="ISOCountryCode">
                                        <HeaderItems>
                                            <ext:ComboBox ID="ComboBox2" runat="server" TriggerAction="All" QueryMode="Local"
                                                DisplayField="ISOCountryCode" ValueField="ISOCountryCode">
                                                <Store>
                                                    <ext:Store ID="strISOCountryCode" runat="server">
                                                        <Model>
                                                            <ext:Model ID="MdlISOCountryCode" runat="server">
                                                                <Fields>
                                                                    <ext:ModelField Name="ISOCountryCode" />
                                                                </Fields>
                                                            </ext:Model>
                                                        </Model>
                                                    </ext:Store>
                                                </Store>
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton3" runat="server" />
                                                </Plugins>
                                            </ext:ComboBox>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:ComboBox ID="ComboBox16" runat="server" TriggerAction="All" QueryMode="Local"
                                                DisplayField="ISOCountryCode" AllowBlank="false" ValueField="ISOCountryCode"
                                                Editable="false">
                                                <Store>
                                                    <ext:Store ID="strEditorISOCountryCode" runat="server">
                                                        <Model>
                                                            <ext:Model ID="MdlEditorISOCountryCode" runat="server">
                                                                <Fields>
                                                                    <ext:ModelField Name="ISOCountryCode" />
                                                                </Fields>
                                                            </ext:Model>
                                                        </Model>
                                                    </ext:Store>
                                                </Store>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:Column>
                                    <ext:Column ID="Column4" runat="server" Text="IsActive" Width="75" DataIndex="isActive">
                                        <HeaderItems>
                                            <ext:ComboBox ID="ComboBox3" runat="server" TriggerAction="All" QueryMode="Local">
                                                <Items>
                                                    <ext:ListItem Text="true" Value="true" />
                                                    <ext:ListItem Text="false" Value="false" />
                                                </Items>
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton4" runat="server" />
                                                </Plugins>
                                            </ext:ComboBox>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:ComboBox ID="ComboBox4" runat="server" AllowBlank="false" Editable="false">
                                                <Items>
                                                    <ext:ListItem Text="true" Value="true" />
                                                    <ext:ListItem Text="false" Value="false" />
                                                </Items>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:Column>
                                    <ext:DateColumn ID="DateColumn1" runat="server" Text="Expiration Date" Width="100"
                                        DataIndex="ExpirationDate">
                                        <HeaderItems>
                                            <ext:DateField ID="ExpirationDateFilter" runat="server" Editable="false">
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton5" runat="server" />
                                                </Plugins>
                                            </ext:DateField>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:DateField ID="DateField1" runat="server" AllowBlank="true" Editable="false" />
                                        </Editor>
                                    </ext:DateColumn>
                                    <ext:Column ID="Column5" runat="server" Width="25" DataIndex="ISOCurrencyCode" Sortable="false"
                                        MenuDisabled="true" Text="&nbsp;" Resizable="false">
                                        <Renderer Handler="return '';" />
                                        <HeaderItems>
                                            <ext:Container ID="Container1" runat="server">
                                                <Items>
                                                    <ext:Button ID="ClearFilterButton" runat="server" Icon="Cancel">
                                                        <ToolTips>
                                                            <ext:ToolTip ID="ToolTip1" runat="server" Html="Clear filter" />
                                                        </ToolTips>
                                                        <Listeners>
                                                            <Click Handler="clearFilterCurrency(null);" />
                                                        </Listeners>
                                                    </ext:Button>
                                                </Items>
                                            </ext:Container>
                                        </HeaderItems>
                                    </ext:Column>
                                </Columns>
                            </ColumnModel>
                            <Plugins>
                                <ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false"
                                    SaveHandler="autoSaveCurrency" />
                            </Plugins>
                            <SelectionModel>
                                <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Single" />
                            </SelectionModel>
                            <View>
                                <ext:GridView ID="GridView1" runat="server" StripeRows="true" MarkDirty="false" />
                            </View>
                            <BottomBar>
                                <ext:PagingToolbar ID="PagingToolbar1" runat="server" HideRefresh="True">
                                </ext:PagingToolbar>
                            </BottomBar>
                        </ext:GridPanel>
                    </Items>
                </ext:Panel>
            </Items>
        </ext:TabPanel>
        </form>
    </body>
    </html>
    Last edited by Poulami; Jun 16, 2014 at 10:40 AM.
  4. #4
    The buttons are aligned at the bottom for me.

    Please clarify what Ext.NET version are you using?
  5. #5
    Quote Originally Posted by Daniil View Post
    The buttons are aligned at the bottom for me.

    Please clarify what Ext.NET version are you using?
    I am using version [2.5.0.30649] of ext.net.
  6. #6
    Quote Originally Posted by Poulami View Post
    I am using version [2.5.0.30649] of ext.net.
    Is that the official Ext.NET v2.5.0 public release? I cannot reproduce.

    Could you try with v2.5.2 or with the latest from SVN?
  7. #7
    Quote Originally Posted by Daniil View Post
    Is that the official Ext.NET v2.5.0 public release? I cannot reproduce.

    Could you try with v2.5.2 or with the latest from SVN?
    Hi,

    I observed that the update and delete button comes on the top of the row only when grid panel does not have any scroll bar. I have posted below grid panel with only 5 rows. If you click on the row you can find the buttons appear on the top. This problem happens only in IE. I have checked with Mozila Firefox and Chrome.Everything is working fine in this two browser.But in IE 8 and 9, I found this issue.Please help me to solve the problem.

    <%@ 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.BindCurrencyGrid();
            }
        }
        private void BindCurrencyGrid()
        {
            Store store = this.GridPanel1.GetStore();
            store.DataSource = this.CurrencyData;
            store.DataBind();
     
            Ext.Net.Store StrISOCurrencyCode = this.ComboBox2.GetStore();
            StrISOCurrencyCode.DataSource = this.CurrencyComboData;
            StrISOCurrencyCode.DataBind();
        }
        private object[] CurrencyData
        {
            get
            {
                DateTime now = DateTime.Now;
     
                return new object[]
                {
                    new object[] {"AED","United Arab Emirates","AE","True",},   
                    new object[] {"AFN","Afghanistan,Afghanis","AF","True",},
                    new object[] {"ALL","Albania, Leke","AL","False","01/01/1900"},
                    new object[] {"AMD","Armenia, Drams","AM","True",},
                    new object[] {"ANG","Netherlands Antilles, Guilders (also called Florins)","AN","True",},
                   
                };
            }
        }
        private object[] CurrencyComboData
        {
            get
            {
                DateTime now = DateTime.Now;
     
                return new object[]
                {
                    new object[] {"AE"},    
                    new object[] {"AF"},
                    new object[] {"AL"},
                    new object[] {"AM"},
                    new object[] {"AN"},
                  
                };
            }
        }
    </script>
    <script>
    
    
        var exportData = function (grid) {
    
            grid.submitData(null, { isUpload: true });
        };
     
    </script>
    <ext:XScript ID="XScript1" runat="server">
     
        <script>
                var applyFilterCurrency = function (field) { 
                 
                    var store = #{GridPanel1}.getStore();
     
                    store.filterBy(getRecordFilterCurrency());                                                
                };
                             
     
                var clearFilterCurrency = function () {
                 
                    #{ComboBox1}.reset();
                    #{DescFilter}.reset();
                    #{ComboBox2}.reset();
                    #{ComboBox3}.reset();
                    #{ExpirationDateFilter}.reset();
                      
                    #{StrCurrency}.clearFilter();
                }
                 
               var filterString = function (value, dataIndex, record) {
                        var val = record.get(dataIndex)
                        if (val != null) {
                             val = val.toString();
     
                        }
                     
                        if (typeof val != "string") {
                            return value.length == 0;
                        }
                     
                        return val.toLowerCase().indexOf(value.toString().toLowerCase()) > -1;
                    };
     
               var filterDate = function (value, dataIndex, record) {
                        var val = record.get(dataIndex)
                        if (val != null) {
                            val = Ext.Date.clearTime(record.get(dataIndex), true).getTime();
                              
                            if (!Ext.isEmpty(value, false) && val != Ext.Date.clearTime(value, true).getTime()) {
                            return false;
                            }
                            return true;
     
                        }
     
                        if (typeof val != "string") {
                            return value.length == 0;
                        }
      
    //                    
                    };
     
     
                var filterNumber = function (value, dataIndex, record) {
                           var val = record.get(dataIndex);                
      
                           if (!Ext.isEmpty(value, false) && val != value) {
                               return false;
                           }
                    
                           return true;
                       };
     
     
     
                var getRecordFilterCurrency = function () {
                    var f = [];
      
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{ComboBox1}.getValue()||"", "ISOCurrencyCode", record);
     
                        }
                    });
                      
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{DescFilter}.getValue(), "ISOCurrencyCodeDescription", record);
                        }
                    });
                      
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{ComboBox2}.getValue()||"", "ISOCountryCode", record);
                        }
                    });
                      
                    f.push({
                        filter: function (record) {
                           if (#{ComboBox3}.getValue() != null)                         
                              return filterString(#{ComboBox3}.getValue(), "isActive", record);
                           else
                              return filterString("", "isActive", record);
                        }
                    });
                      
                    f.push({
                        filter: function (record) {                         
                            return filterDate(#{ExpirationDateFilter}.getValue()||"", "ExpirationDate", record);
                        }
                    });
     
      
                    var len = f.length;
                  
                    return function (record) {
                        for (var i = 0; i < len; i++) {
                            if (!f[i].filter(record)) {
                                return false;
                            }
                        }
                        return true;
                    };
     
                 };
     
     
     
              var EditDeleteCurrency = function (grid, command,record) {
    //               var grid = #{GridPanel1};
     
                   var index = grid.store.indexOf(record);
                    if (command == "Delete") {
                       if( ! confirm("Delete Row?")) return false;
                            grid.getStore().remove(record);
                            App.direct.deleteCurrency(record , {
                            success : function (result) {
                                if (!result.deleted) {
                                    Ext.Msg.alert("Error", result.msg);
                                    grid.store.insert(index, record);
                                    return;
                                }
                            }
                        });
     
                   }
                   if (command == "Edit") {
                     grid.getRowEditor().startEdit(record, 1);
     
                   }
     
              };
     
              var addCurrency = function () {
               
                    var grid = #{GridPanel1};
                    grid.editingPlugin.cancelEdit();
     
                    // Create a record instance through the ModelManager
                                     
                    grid.store.insert(0, new Currency());
                    grid.editingPlugin.startEdit(0, 0);
                };
                       
     
                 var autoSaveCurrency = function () {   
                           
                    var plugin = this.editingPlugin;
                    if (this.getForm().isValid()) { // save the record   
                          App.direct.autoSaveCurrency(plugin.context.record.phantom, this.getValues(false, false, false, true), {
                            success : function (result) {
                                if (!result.saved) {
                                    Ext.Msg.alert("Error", result.msg);
                                    return;
                                }
     
                                plugin.completeEdit();
                            }
                        });
                    }
                };
     
            
        </script>
         
    </ext:XScript>
    <!DOCTYPE html>
    <html>
    <head id="Head1" runat="server">
        <title>My Page</title>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:TabPanel ID="TabPanel1" runat="server" Width="950" EnableTabScroll="true" DeferredRender="false">
            <Items>
                <ext:Panel ID="Panel1" runat="server" Title="Currency">
                    <Items>
                        <ext:GridPanel ID="GridPanel1" runat="server" Title="Currency Grid" Width="950" Height="410">
                            <ResizableConfig Handles="East" />
                            <Store>
                                <ext:Store ID="StrCurrency" runat="server" PageSize="50">
                                    <Model>
                                        <ext:Model ID="MdlCurrency" runat="server" Name="Currency">
                                            <Fields>
                                                <ext:ModelField Name="ISOCurrencyCode" />
                                                <ext:ModelField Name="ISOCurrencyCodeDescription" />
                                                <ext:ModelField Name="ISOCountryCode" />
                                                <ext:ModelField Name="isActive" Type="String" />
                                                <ext:ModelField Name="ExpirationDate" Type="Date" DateFormat="MM/dd/yyyy" />
                                            </Fields>
                                        </ext:Model>
                                    </Model>
                                </ext:Store>
                            </Store>
                            <ColumnModel ID="ColumnModel1" runat="server">
                                <Columns>
                                    <ext:Column ID="Column1" runat="server" Text="Currency Code" Width="100" DataIndex="ISOCurrencyCode">
                                        <HeaderItems>
                                            <ext:ComboBox ID="ComboBox1" runat="server" TriggerAction="All" QueryMode="Local"
                                                DisplayField="ISOCurrencyCode" ValueField="ISOCurrencyCode">
                                                <Store>
                                                    <ext:Store ID="StrISOCurrencyCode" runat="server">
                                                        <Model>
                                                            <ext:Model ID="MdlISOCurrencyCode" runat="server">
                                                                <Fields>
                                                                    <ext:ModelField Name="ISOCurrencyCode" />
                                                                </Fields>
                                                            </ext:Model>
                                                        </Model>
                                                    </ext:Store>
                                                </Store>
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton1" runat="server" />
                                                </Plugins>
                                            </ext:ComboBox>
                                        </HeaderItems>
                                        <%--                                <Renderer Fn="NavigateCurrency" />
                                        --%>
                                        <Editor>
                                            <ext:TextField ID="TextField1" runat="server" AllowBlank="false" />
                                        </Editor>
                                    </ext:Column>
                                    <ext:Column ID="Column2" runat="server" Text="Description" Width="500" DataIndex="ISOCurrencyCodeDescription"
                                        Flex="1">
                                        <HeaderItems>
                                            <ext:TextField ID="DescFilter" runat="server">
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton2" runat="server" />
                                                </Plugins>
                                            </ext:TextField>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:TextField ID="TextField2" runat="server" AllowBlank="false" />
                                        </Editor>
                                    </ext:Column>
                                    <ext:Column ID="Column3" runat="server" Text="Country Code" Width="100" DataIndex="ISOCountryCode">
                                        <HeaderItems>
                                            <ext:ComboBox ID="ComboBox2" runat="server" TriggerAction="All" QueryMode="Local"
                                                DisplayField="ISOCountryCode" ValueField="ISOCountryCode">
                                                <Store>
                                                    <ext:Store ID="strISOCountryCode" runat="server">
                                                        <Model>
                                                            <ext:Model ID="MdlISOCountryCode" runat="server">
                                                                <Fields>
                                                                    <ext:ModelField Name="ISOCountryCode" />
                                                                </Fields>
                                                            </ext:Model>
                                                        </Model>
                                                    </ext:Store>
                                                </Store>
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton3" runat="server" />
                                                </Plugins>
                                            </ext:ComboBox>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:ComboBox ID="ComboBox16" runat="server" TriggerAction="All" QueryMode="Local"
                                                DisplayField="ISOCountryCode" AllowBlank="false" ValueField="ISOCountryCode"
                                                Editable="false">
                                                <Store>
                                                    <ext:Store ID="strEditorISOCountryCode" runat="server">
                                                        <Model>
                                                            <ext:Model ID="MdlEditorISOCountryCode" runat="server">
                                                                <Fields>
                                                                    <ext:ModelField Name="ISOCountryCode" />
                                                                </Fields>
                                                            </ext:Model>
                                                        </Model>
                                                    </ext:Store>
                                                </Store>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:Column>
                                    <ext:Column ID="Column4" runat="server" Text="IsActive" Width="75" DataIndex="isActive">
                                        <HeaderItems>
                                            <ext:ComboBox ID="ComboBox3" runat="server" TriggerAction="All" QueryMode="Local">
                                                <Items>
                                                    <ext:ListItem Text="true" Value="true" />
                                                    <ext:ListItem Text="false" Value="false" />
                                                </Items>
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" Buffer="250" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton4" runat="server" />
                                                </Plugins>
                                            </ext:ComboBox>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:ComboBox ID="ComboBox4" runat="server" AllowBlank="false" Editable="false">
                                                <Items>
                                                    <ext:ListItem Text="true" Value="true" />
                                                    <ext:ListItem Text="false" Value="false" />
                                                </Items>
                                            </ext:ComboBox>
                                        </Editor>
                                    </ext:Column>
                                    <ext:DateColumn ID="DateColumn1" runat="server" Text="Expiration Date" Width="100"
                                        DataIndex="ExpirationDate">
                                        <HeaderItems>
                                            <ext:DateField ID="ExpirationDateFilter" runat="server" Editable="false">
                                                <Listeners>
                                                    <Change Handler="applyFilterCurrency(this);" />
                                                </Listeners>
                                                <Plugins>
                                                    <ext:ClearButton ID="ClearButton5" runat="server" />
                                                </Plugins>
                                            </ext:DateField>
                                        </HeaderItems>
                                        <Editor>
                                            <ext:DateField ID="DateField1" runat="server" AllowBlank="true" Editable="false" />
                                        </Editor>
                                    </ext:DateColumn>
                                    <ext:Column ID="Column5" runat="server" Width="25" DataIndex="ISOCurrencyCode" Sortable="false"
                                        MenuDisabled="true" Text="&nbsp;" Resizable="false">
                                        <Renderer Handler="return '';" />
                                        <HeaderItems>
                                            <ext:Container ID="Container1" runat="server">
                                                <Items>
                                                    <ext:Button ID="ClearFilterButton" runat="server" Icon="Cancel">
                                                        <ToolTips>
                                                            <ext:ToolTip ID="ToolTip1" runat="server" Html="Clear filter" />
                                                        </ToolTips>
                                                        <Listeners>
                                                            <Click Handler="clearFilterCurrency(null);" />
                                                        </Listeners>
                                                    </ext:Button>
                                                </Items>
                                            </ext:Container>
                                        </HeaderItems>
                                    </ext:Column>
                                </Columns>
                            </ColumnModel>
                            <Plugins>
                                <ext:RowEditing ID="RowEditing1" runat="server" ClicksToMoveEditor="1" AutoCancel="false"
                                    SaveHandler="autoSaveCurrency" />
                            </Plugins>
                            <SelectionModel>
                                <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" Mode="Single" />
                            </SelectionModel>
                            <View>
                                <ext:GridView ID="GridView1" runat="server" StripeRows="true" MarkDirty="false" />
                            </View>
                            <BottomBar>
                                <ext:PagingToolbar ID="PagingToolbar1" runat="server" HideRefresh="True">
                                </ext:PagingToolbar>
                            </BottomBar>
                        </ext:GridPanel>
                    </Items>
                </ext:Panel>
            </Items>
        </ext:TabPanel>
        </form>
    </body>
    </html>
  8. #8
    Quote Originally Posted by Poulami View Post
    I observed that the update and delete button comes on the top of the row only when grid panel does not have any scroll bar.
    Do you mean that previous test case doesn't reproduce the problem on your side as well?

    In any way, I cannot reproduce it again with the new test case.

    Could you, please, answer this as well?
    Quote Originally Posted by Daniil View Post
    Quote Originally Posted by Poulami View Post
    I am using version [2.5.0.30649] of ext.net.
    Is that the official Ext.NET v2.5.0 public release? I cannot reproduce.

    Could you try with v2.5.2 or with the latest from SVN?
    Also, is there any chance you can provide us with an online test case?
    Last edited by Daniil; Jun 18, 2014 at 1:25 PM.
  9. #9
    Quote Originally Posted by Daniil View Post
    Do you mean that previous test case doesn't reproduce the problem on your side as well?

    In any way, I cannot reproduce it again with the new test case.

    Could you, please, answer this as well?


    Also, is there any change you can provide us with an online test case?
    Hi,

    There is no changes from the previous test case. Only number of rows are lesser than previous test case. So if you run the previous test case with filters you should be able to reproduce that . Note the filters record set should be less then or equal to 2-3. If you click on the first row you will not be able to see the Update/Cancel button .
    Click image for larger version. 

Name:	Update_Cancel_Issue_IE.png 
Views:	20 
Size:	85.9 KB 
ID:	12791
    We have modified the test case so that you can directly get the issue which we are facing.

    I am using official version [2.5.0.30649] of ext.net.
    Can you please confirm me on which version you are still not able to reproduce the issue so that we can use the same
  10. #10
    Ok, thank you for the details.

    For some reason, I cannot reproduce the problem with both the test cases.

    Quote Originally Posted by Poulami View Post
    Can you please confirm me on which version you are still not able to reproduce the issue so that we can use the same
    I tried with the v2.5.0 official release and with the latest sources.

    Any chance for that?
    Quote Originally Posted by Daniil View Post
    Also, is there any chance you can provide us with an online test case?

Similar Threads

  1. [CLOSED] How to cancel rowselection in grid panel
    By trePjt in forum 2.x Premium Help
    Replies: 3
    Last Post: Mar 17, 2014, 12:55 PM
  2. Replies: 5
    Last Post: Oct 02, 2013, 9:57 PM
  3. Replies: 5
    Last Post: Jul 12, 2013, 3:29 PM
  4. Replies: 0
    Last Post: Jan 24, 2011, 12:10 PM
  5. Grid Panel not showing complete data
    By Nagaraj K Hebbar in forum 1.x Help
    Replies: 2
    Last Post: Aug 17, 2009, 10:42 AM

Posting Permissions