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

Hybrid View

Previous Post Previous Post   Next Post Next Post
  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 Click image for larger version. 

Name:	Ext.netProblem.png 
Views:	108 
Size:	17.7 KB 
ID:	12581  
    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?

Similar Threads

  1. [CLOSED] How to cancel rowselection in grid panel
    By trePjt in forum 2.x Legacy 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