[CLOSED] not contain any records you can display a message centered on the grid

Page 3 of 5 FirstFirst 12345 LastLast
  1. #21
    Did you add Activate listeners that I suggested?
  2. #22
    Quote Originally Posted by Daniil View Post
    Did you add Activate listeners that I suggested?
    Yes put, see example

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" 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 id="Head1" runat="server">
        <title>Ext.Net Example</title>
        <script type="text/javascript">
            var onLoadGrid = function (store, records, grid) {
                if (records.length === 0) {
                    grid.view.scroller.addClass("DisplayTextNoRecordsGrid");
                    grid.view.mainBody.update('Sem registros para exibir');
                } else {
                    grid.view.scroller.removeClass("DisplayTextNoRecordsGrid");
                }
            }
        </script>
        <ext:XScript ID="XScript1" runat="server">
            <script type="text/javascript">
                var applyFilter = function (field) {
                    var v = field.el.dom.value;
                    
                    if(field){
                        var id = field.id,
                            task = new Ext.util.DelayedTask(function(){
                                var f = Ext.getCmp(id);
                                f.focus();
                                f.el.dom.value = f.el.dom.value;
                            });
                        task.delay(100);
                    }
                    #{GridPanel1}.getStore().filterBy(getRecordFilter());                                
                };
                
                var clearFilter = function () {
                    #{Filtertest1}.reset();
                    #{Filtertest2}.reset();
                    #{Filtertest3}.reset();
    
                    #{GridPanel1}.getStore().clearFilter();
                }
    
                var filterString = function (value, dataIndex, record) {
                    var val = record.get(dataIndex);
                    if (typeof val != "string") {
                        return value.length == 0;
                    }
                    return val.toLowerCase().indexOf(value.toLowerCase()) > -1;
                };
     
                var filterDate = function (value, dataIndex, record) {
                    var val = record.get(dataIndex).clearTime(true).getTime();
     
                    if (!Ext.isEmpty(value, false) && val != value.clearTime(true).getTime()) {
                        return false;
                    }
                    return true;
                };
     
                var filterNumber = function (value, dataIndex, record) {
                    var val = record.get(dataIndex);                
     
                    if (!Ext.isEmpty(value, false) && val != value) {
                        return false;
                    }
                    return true;
                };
     
                var getRecordFilter = function () {
                    var f = [];
     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest1}.getValue(), 'test1', record);
                        }
                    });
                     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest2}.getValue(), 'test1', record);
                        }
                    });
    
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest3}.getValue(), 'test1', record);
                        }
                    });
    
                    var len = f.length;
                     
                    return function (record) {
                        for (var i = 0; i < len; i++) {
                            if (!f[i].filter(record)) {
                                return false;
                            }
                        }
                        return true;
                    };  
                };
            </script>
        </ext:XScript>
        <style type="text/css">
            .DisplayTextNoRecordsGrid
            {
                vertical-align: middle;
                display: table-cell;
                text-align: center;
                font: Tahoma;
                font-size: 12pt;
            }
        </style>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:Viewport ID="Viewport" runat="server">
            <Items>
                <ext:BorderLayout ID="BorderLayout1" runat="server">
                    <North>
                        <ext:Panel ID="pnlLayoutMaster" runat="server" Border="true" Frame="false" Layout="VBoxLayout"
                            MinHeight="29px" Split="True" Height="226">
                            <LayoutConfig>
                                <ext:VBoxLayoutConfig Align="Stretch" />
                            </LayoutConfig>
                            <Items>
                                <ext:Panel ID="pnlSUtToolbarMaster" runat="server" Border="true" EnableViewState="true"
                                    Height="28">
                                </ext:Panel>
                                <ext:GridPanel ID="GridPanel1" runat="server" StripeRows="true" TrackMouseOver="true"
                                    Flex="1">
                                    <Store>
                                        <ext:Store ID="Store1" runat="server" AutoLoad="false">
                                            <Reader>
                                                <ext:ArrayReader>
                                                    <Fields>
                                                        <ext:RecordField Name="test1" />
                                                        <ext:RecordField Name="test2" />
                                                        <ext:RecordField Name="test3" />
                                                    </Fields>
                                                </ext:ArrayReader>
                                            </Reader>
                                            <Listeners>
                                                <%--<Load Handler="onLoadGrid(store, records, #{GridPanel1})" Delay="10" />--%>
                                                <%--<DataChanged Handler="onLoadGrid(store, records, #{GridPanel1})" />--%>
                                            </Listeners>
                                        </ext:Store>
                                    </Store>
                                    <ColumnModel ID="ColumnModel1" runat="server">
                                        <Columns>
                                            <ext:Column Header="Test1" DataIndex="test1" />
                                            <ext:Column Header="Test2" DataIndex="test2" />
                                            <ext:Column Header="Test3" DataIndex="test3" />
                                        </Columns>
                                    </ColumnModel>
                                    <View>
                                        <ext:GridView ID="GridView1" runat="server">
                                            <HeaderRows>
                                                <ext:HeaderRow>
                                                    <Columns>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest1" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest2" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest3" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                    </Columns>
                                                </ext:HeaderRow>
                                            </HeaderRows>
                                        </ext:GridView>
                                    </View>
                                </ext:GridPanel>
                                <ext:Button ID="Button1" runat="server" Text="Load data" OnDirectClick="LoadData" />
                                <ext:Button ID="Button2" runat="server" Text="Load nothing" OnDirectClick="LoadNothing" />
                            </Items>
                            <Listeners>
                                <Activate Handler="#{GridPanel1}.store.load();" Single="true" />
                            </Listeners>
                        </ext:Panel>
                    </North>
                    <Center Split="true" MinHeight="58px">
                        <ext:FormPanel ID="frmDetails" runat="server" Border="true" Layout="VBoxLayout" Frame="false"
                            MinHeight="58px" Flex="1">
                            <LayoutConfig>
                                <ext:VBoxLayoutConfig Align="Stretch" />
                            </LayoutConfig>
                            <Items>
                                <ext:Panel ID="pnlSUtToolbarDetails" runat="server" Border="false" EnableViewState="true"
                                    Height="28" Cls="CssExtFormsTab_pnlSUtToolbarDetails">
                                </ext:Panel>
                                <ext:TabPanel ID="tabPanel" runat="server" ActiveTabIndex="0" Cls="CssExtFormsTab"
                                    EnableTabScroll="true" Flex="1">
                                    <Items>
                                        <ext:Panel ID="tabDadosGerais" runat="server" Title="Dados Gerais" Padding="6" TabTip="Dados Gerais do Usuário"
                                            Cls="CssExtPainelPages" Layout="FormLayout" AutoScroll="true">
                                            <Items>
                                                <ext:GridPanel ID="GridPanel2" runat="server" StripeRows="true" TrackMouseOver="true"
                                                    Flex="1">
                                                    <Store>
                                                        <ext:Store ID="Store2" runat="server" AutoLoad="false">
                                                            <Reader>
                                                                <ext:ArrayReader>
                                                                    <Fields>
                                                                        <ext:RecordField Name="test1" />
                                                                        <ext:RecordField Name="test2" />
                                                                        <ext:RecordField Name="test3" />
                                                                    </Fields>
                                                                </ext:ArrayReader>
                                                            </Reader>
                                                            <%--<Listeners>
                                                                <Load Handler="onLoadGrid(store, records, #{GridPanel2})" Delay="10" />
                                                            </Listeners>--%>
                                                        </ext:Store>
                                                    </Store>
                                                    <ColumnModel ID="ColumnModel2" runat="server">
                                                        <Columns>
                                                            <ext:Column Header="Test1" DataIndex="test1" />
                                                            <ext:Column Header="Test2" DataIndex="test2" />
                                                            <ext:Column Header="Test3" DataIndex="test3" />
                                                        </Columns>
                                                    </ColumnModel>
                                                    <Listeners>
                                                        <ViewReady Handler="this.on('viewready');" />
                                                    </Listeners>
                                                </ext:GridPanel>
                                                <ext:Button ID="Button3" runat="server" Text="Load data" OnDirectClick="LoadData2" />
                                                <ext:Button ID="Button4" runat="server" Text="Load nothing" OnDirectClick="LoadNothing2" />
                                            </Items>
                                            <Listeners>
                                                <Activate Handler="#{GridPanel2}.store.load();" Single="true" />
                                            </Listeners>
                                        </ext:Panel>
                                        <ext:Panel ID="tabTelefones" runat="server" Title="Telefones" Layout="VBoxLayout"
                                            TabTip="Telefones" Cls="CssExtPainelPages" AutoScroll="true">
                                            <LayoutConfig>
                                                <ext:VBoxLayoutConfig Align="Stretch" />
                                            </LayoutConfig>
                                            <Items>
                                                <ext:GridPanel ID="GridPanel3" runat="server" StripeRows="true" TrackMouseOver="true"
                                                    Border="false" Flex="1">
                                                    <Store>
                                                        <ext:Store ID="Store3" runat="server" AutoLoad="false">
                                                            <Reader>
                                                                <ext:ArrayReader>
                                                                    <Fields>
                                                                        <ext:RecordField Name="test1" />
                                                                        <ext:RecordField Name="test2" />
                                                                        <ext:RecordField Name="test3" />
                                                                    </Fields>
                                                                </ext:ArrayReader>
                                                            </Reader>
                                                           <%-- <Listeners>
                                                                <Load Handler="onLoadGrid(store, records, #{GridPanel3})" Delay="10" />
                                                            </Listeners>--%>
                                                        </ext:Store>
                                                    </Store>
                                                    <ColumnModel ID="ColumnModel3" runat="server">
                                                        <Columns>
                                                            <ext:Column Header="Test1" DataIndex="test1" />
                                                            <ext:Column Header="Test2" DataIndex="test2" />
                                                            <ext:Column Header="Test3" DataIndex="test3" />
                                                        </Columns>
                                                    </ColumnModel>
                                                    <View>
                                                        <ext:GridView ID="GridView3" runat="server" ForceFit="true" ScrollOffset="0" />
                                                    </View>
                                                    <Listeners>
                                                        <ViewReady Handler="this.on('viewready');" />
                                                    </Listeners>
                                                </ext:GridPanel>
                                                <ext:Button ID="Button5" runat="server" Text="Load data" OnDirectClick="LoadData3" />
                                                <ext:Button ID="Button6" runat="server" Text="Load nothing" OnDirectClick="LoadNothing3" />
                                            </Items>
                                            <Listeners>
                                                <Activate Handler="#{GridPanel3}.store.load();" Single="true" />
                                            </Listeners>
                                        </ext:Panel>
                                    </Items>
                                </ext:TabPanel>
                            </Items>
                        </ext:FormPanel>
                    </Center>
                </ext:BorderLayout>
            </Items>
        </ext:Viewport>
        </form>
    </body>
    </html>
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Ext.Net;
    
    namespace WebApplication1
    {
        public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void LoadData(object sender, DirectEventArgs e)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store.DataBind();
    
                Store store3 = this.GridPanel3.GetStore();
                store3.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store3.DataBind();
            }
    
            protected void LoadNothing(object sender, DirectEventArgs e)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataBind();
            }
    
    
            protected void LoadData2(object sender, DirectEventArgs e)
            {
                Store store2 = this.GridPanel2.GetStore();
                store2.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store2.DataBind();
            }
    
            protected void LoadNothing2(object sender, DirectEventArgs e)
            {
                Store store2 = this.GridPanel2.GetStore();
                store2.DataBind();
            }
    
    
            protected void LoadData3(object sender, DirectEventArgs e)
            {
                Store store3 = this.GridPanel3.GetStore();
                store3.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store3.DataBind();
            }
    
            protected void LoadNothing3(object sender, DirectEventArgs e)
            {
                Store store3 = this.GridPanel3.GetStore();
                store3.DataBind();
            }
        }
    }
  3. #23
    I was wrong that you need removed the stores Load listeners. Apologize.

    Please come them back. I've tested - the things start to work correctly.
  4. #24
    Quote Originally Posted by Daniil View Post
    I was wrong that you need removed the stores Load listeners. Apologize.

    Please come them back. I've tested - the things start to work correctly.

    Ok back,
    but if I load a grid that is on the second tab gives error.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" 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 id="Head1" runat="server">
        <title>Ext.Net Example</title>
        <script type="text/javascript">
            var onLoadGrid = function (store, records, grid) {
                if (records.length === 0) {
                    grid.view.scroller.addClass("DisplayTextNoRecordsGrid");
                    grid.view.mainBody.update('Sem registros para exibir');
                } else {
                    grid.view.scroller.removeClass("DisplayTextNoRecordsGrid");
                }
            }
        </script>
        <ext:XScript ID="XScript1" runat="server">
            <script type="text/javascript">
                var applyFilter = function (field) {
                    var v = field.el.dom.value;
                    
                    if(field){
                        var id = field.id,
                            task = new Ext.util.DelayedTask(function(){
                                var f = Ext.getCmp(id);
                                f.focus();
                                f.el.dom.value = f.el.dom.value;
                            });
                        task.delay(100);
                    }
                    #{GridPanel1}.getStore().filterBy(getRecordFilter());                                
                };
                
                var clearFilter = function () {
                    #{Filtertest1}.reset();
                    #{Filtertest2}.reset();
                    #{Filtertest3}.reset();
    
                    #{GridPanel1}.getStore().clearFilter();
                }
    
                var filterString = function (value, dataIndex, record) {
                    var val = record.get(dataIndex);
                    if (typeof val != "string") {
                        return value.length == 0;
                    }
                    return val.toLowerCase().indexOf(value.toLowerCase()) > -1;
                };
     
                var filterDate = function (value, dataIndex, record) {
                    var val = record.get(dataIndex).clearTime(true).getTime();
     
                    if (!Ext.isEmpty(value, false) && val != value.clearTime(true).getTime()) {
                        return false;
                    }
                    return true;
                };
     
                var filterNumber = function (value, dataIndex, record) {
                    var val = record.get(dataIndex);                
     
                    if (!Ext.isEmpty(value, false) && val != value) {
                        return false;
                    }
                    return true;
                };
     
                var getRecordFilter = function () {
                    var f = [];
     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest1}.getValue(), 'test1', record);
                        }
                    });
                     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest2}.getValue(), 'test1', record);
                        }
                    });
    
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest3}.getValue(), 'test1', record);
                        }
                    });
    
                    var len = f.length;
                     
                    return function (record) {
                        for (var i = 0; i < len; i++) {
                            if (!f[i].filter(record)) {
                                return false;
                            }
                        }
                        return true;
                    };  
                };
            </script>
        </ext:XScript>
        <style type="text/css">
            .DisplayTextNoRecordsGrid
            {
                vertical-align: middle;
                display: table-cell;
                text-align: center;
                font: Tahoma;
                font-size: 12pt;
            }
        </style>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:Viewport ID="Viewport" runat="server">
            <Items>
                <ext:BorderLayout ID="BorderLayout1" runat="server">
                    <North>
                        <ext:Panel ID="pnlLayoutMaster" runat="server" Border="true" Frame="false" Layout="VBoxLayout"
                            MinHeight="29px" Split="True" Height="226">
                            <LayoutConfig>
                                <ext:VBoxLayoutConfig Align="Stretch" />
                            </LayoutConfig>
                            <Items>
                                <ext:Panel ID="pnlSUtToolbarMaster" runat="server" Border="true" EnableViewState="true"
                                    Height="28">
                                </ext:Panel>
                                <ext:GridPanel ID="GridPanel1" runat="server" StripeRows="true" TrackMouseOver="true"
                                    Flex="1">
                                    <Store>
                                        <ext:Store ID="Store1" runat="server" AutoLoad="false">
                                            <Reader>
                                                <ext:ArrayReader>
                                                    <Fields>
                                                        <ext:RecordField Name="test1" />
                                                        <ext:RecordField Name="test2" />
                                                        <ext:RecordField Name="test3" />
                                                    </Fields>
                                                </ext:ArrayReader>
                                            </Reader>
                                            <Listeners>
                                                <Load Handler="onLoadGrid(store, records, #{GridPanel1})" Delay="10" />
                                                <%--<DataChanged Handler="onLoadGrid(store, records, #{GridPanel1})" />--%>
                                            </Listeners>
                                        </ext:Store>
                                    </Store>
                                    <ColumnModel ID="ColumnModel1" runat="server">
                                        <Columns>
                                            <ext:Column Header="Test1" DataIndex="test1" />
                                            <ext:Column Header="Test2" DataIndex="test2" />
                                            <ext:Column Header="Test3" DataIndex="test3" />
                                        </Columns>
                                    </ColumnModel>
                                    <View>
                                        <ext:GridView ID="GridView1" runat="server">
                                            <HeaderRows>
                                                <ext:HeaderRow>
                                                    <Columns>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest1" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest2" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest3" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                    </Columns>
                                                </ext:HeaderRow>
                                            </HeaderRows>
                                        </ext:GridView>
                                    </View>
                                </ext:GridPanel>
                                <ext:Button ID="Button1" runat="server" Text="Load data" OnDirectClick="LoadData" />
                                <ext:Button ID="Button2" runat="server" Text="Load nothing" OnDirectClick="LoadNothing" />
                            </Items>
                            <Listeners>
                                <Activate Handler="#{GridPanel1}.store.load();" Single="true" />
                            </Listeners>
                        </ext:Panel>
                    </North>
                    <Center Split="true" MinHeight="58px">
                        <ext:FormPanel ID="frmDetails" runat="server" Border="true" Layout="VBoxLayout" Frame="false"
                            MinHeight="58px" Flex="1">
                            <LayoutConfig>
                                <ext:VBoxLayoutConfig Align="Stretch" />
                            </LayoutConfig>
                            <Items>
                                <ext:Panel ID="pnlSUtToolbarDetails" runat="server" Border="false" EnableViewState="true"
                                    Height="28" Cls="CssExtFormsTab_pnlSUtToolbarDetails">
                                </ext:Panel>
                                <ext:TabPanel ID="tabPanel" runat="server" ActiveTabIndex="0" Cls="CssExtFormsTab"
                                    EnableTabScroll="true" Flex="1">
                                    <Items>
                                        <ext:Panel ID="tabDadosGerais" runat="server" Title="Dados Gerais" Padding="6" TabTip="Dados Gerais do Usuário"
                                            Cls="CssExtPainelPages" Layout="FormLayout" AutoScroll="true">
                                            <Items>
                                                <ext:GridPanel ID="GridPanel2" runat="server" StripeRows="true" TrackMouseOver="true"
                                                    Flex="1">
                                                    <Store>
                                                        <ext:Store ID="Store2" runat="server" AutoLoad="false">
                                                            <Reader>
                                                                <ext:ArrayReader>
                                                                    <Fields>
                                                                        <ext:RecordField Name="test1" />
                                                                        <ext:RecordField Name="test2" />
                                                                        <ext:RecordField Name="test3" />
                                                                    </Fields>
                                                                </ext:ArrayReader>
                                                            </Reader>
                                                            <Listeners>
                                                                <Load Handler="onLoadGrid(store, records, #{GridPanel2})" Delay="10" />
                                                            </Listeners>
                                                        </ext:Store>
                                                    </Store>
                                                    <ColumnModel ID="ColumnModel2" runat="server">
                                                        <Columns>
                                                            <ext:Column Header="Test1" DataIndex="test1" />
                                                            <ext:Column Header="Test2" DataIndex="test2" />
                                                            <ext:Column Header="Test3" DataIndex="test3" />
                                                        </Columns>
                                                    </ColumnModel>
                                                    <Listeners>
                                                        <ViewReady Handler="this.on('viewready');" />
                                                    </Listeners>
                                                </ext:GridPanel>
                                                <ext:Button ID="Button3" runat="server" Text="Load data" OnDirectClick="LoadData2" />
                                                <ext:Button ID="Button4" runat="server" Text="Load nothing" OnDirectClick="LoadNothing2" />
                                            </Items>
                                            <Listeners>
                                                <Activate Handler="#{GridPanel2}.store.load();" Single="true" />
                                            </Listeners>
                                        </ext:Panel>
                                        <ext:Panel ID="tabTelefones" runat="server" Title="Telefones" Layout="VBoxLayout"
                                            TabTip="Telefones" Cls="CssExtPainelPages" AutoScroll="true">
                                            <LayoutConfig>
                                                <ext:VBoxLayoutConfig Align="Stretch" />
                                            </LayoutConfig>
                                            <Items>
                                                <ext:GridPanel ID="GridPanel3" runat="server" StripeRows="true" TrackMouseOver="true"
                                                    Border="false" Flex="1">
                                                    <Store>
                                                        <ext:Store ID="Store3" runat="server" AutoLoad="false">
                                                            <Reader>
                                                                <ext:ArrayReader>
                                                                    <Fields>
                                                                        <ext:RecordField Name="test1" />
                                                                        <ext:RecordField Name="test2" />
                                                                        <ext:RecordField Name="test3" />
                                                                    </Fields>
                                                                </ext:ArrayReader>
                                                            </Reader>
                                                            <Listeners>
                                                                <Load Handler="onLoadGrid(store, records, #{GridPanel3})" Delay="10" />
                                                            </Listeners>
                                                        </ext:Store>
                                                    </Store>
                                                    <ColumnModel ID="ColumnModel3" runat="server">
                                                        <Columns>
                                                            <ext:Column Header="Test1" DataIndex="test1" />
                                                            <ext:Column Header="Test2" DataIndex="test2" />
                                                            <ext:Column Header="Test3" DataIndex="test3" />
                                                        </Columns>
                                                    </ColumnModel>
                                                    <View>
                                                        <ext:GridView ID="GridView3" runat="server" ForceFit="true" ScrollOffset="0" />
                                                    </View>
                                                    <Listeners>
                                                        <ViewReady Handler="this.on('viewready');" />
                                                    </Listeners>
                                                </ext:GridPanel>
                                                <ext:Button ID="Button5" runat="server" Text="Load data" OnDirectClick="LoadData3" />
                                                <ext:Button ID="Button6" runat="server" Text="Load nothing" OnDirectClick="LoadNothing3" />
                                            </Items>
                                            <Listeners>
                                                <Activate Handler="#{GridPanel3}.store.load();" Single="true" />
                                            </Listeners>
                                        </ext:Panel>
                                    </Items>
                                </ext:TabPanel>
                            </Items>
                        </ext:FormPanel>
                    </Center>
                </ext:BorderLayout>
            </Items>
        </ext:Viewport>
        </form>
    </body>
    </html>
  5. #25
    Hmm, I have no error.

    What are exactly the steps to reproduce? Please provide.
  6. #26
    Quote Originally Posted by Daniil View Post
    Hmm, I have no error.

    What are exactly the steps to reproduce? Please provide.
    There is an error, but when I run a filter
    Ex
    In the column I write in the filter Test3 "aa"
    It executes the filter and the grid shows only one record.
    And when receiving the contents of json gridData
    string json = GridData.Value.ToString();
    "[{\" test1 \ ": \" aaatest11 \ ", \" test2 \ ": \" test12 \ "\" Test3 \ "\" test13 \ "},{},{},{},{ },{},{},{},{},{},{},{}]"

    When you view the file information it has blank lines that were filtered.

    I would not receive the "{} " in the json.

    - <records>
    - <record>
    <Test1>aaatest11</Test1>
    <Test2>test12</Test2>
    <Test3>test13</Test3>
    </record>
    <record />
    <record />
    <record />
    <record />
    <record />
    <record />
    <record />
    <record />
    <record />
    <record />
    <record />
    </records>
  7. #27
    Did you mix up the threads?
  8. #28
    Quote Originally Posted by Daniil View Post
    Did you mix up the threads?
    Yes I mixed up, sorry.

    The problem happens when you feed in the Page_Load gridview3 which is the second tab.
  9. #29
    How does your Page_Load look now?
  10. #30
    Quote Originally Posted by Daniil View Post
    How does your Page_Load look now?
    Sorry is not on Page_Load but rather on the button Button1
    Button1 button and I feed the grid1 the grid3.
    By clicking the Button1 gives error.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" 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 id="Head1" runat="server">
        <title>Ext.Net Example</title>
        <script type="text/javascript">
            var onLoadGrid = function (store, records, grid) {
                if (records.length === 0) {
                    grid.view.scroller.addClass("DisplayTextNoRecordsGrid");
                    grid.view.mainBody.update('Sem registros para exibir');
                } else {
                    grid.view.scroller.removeClass("DisplayTextNoRecordsGrid");
                }
            }
        </script>
        <ext:XScript ID="XScript1" runat="server">
            <script type="text/javascript">
                var applyFilter = function (field) {
                    var v = field.el.dom.value;
                    
                    if(field){
                        var id = field.id,
                            task = new Ext.util.DelayedTask(function(){
                                var f = Ext.getCmp(id);
                                f.focus();
                                f.el.dom.value = f.el.dom.value;
                            });
                        task.delay(100);
                    }
                    #{GridPanel1}.getStore().filterBy(getRecordFilter());                                
                };
                
                var clearFilter = function () {
                    #{Filtertest1}.reset();
                    #{Filtertest2}.reset();
                    #{Filtertest3}.reset();
    
                    #{GridPanel1}.getStore().clearFilter();
                }
    
                var filterString = function (value, dataIndex, record) {
                    var val = record.get(dataIndex);
                    if (typeof val != "string") {
                        return value.length == 0;
                    }
                    return val.toLowerCase().indexOf(value.toLowerCase()) > -1;
                };
     
                var filterDate = function (value, dataIndex, record) {
                    var val = record.get(dataIndex).clearTime(true).getTime();
     
                    if (!Ext.isEmpty(value, false) && val != value.clearTime(true).getTime()) {
                        return false;
                    }
                    return true;
                };
     
                var filterNumber = function (value, dataIndex, record) {
                    var val = record.get(dataIndex);                
     
                    if (!Ext.isEmpty(value, false) && val != value) {
                        return false;
                    }
                    return true;
                };
     
                var getRecordFilter = function () {
                    var f = [];
     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest1}.getValue(), 'test1', record);
                        }
                    });
                     
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest2}.getValue(), 'test1', record);
                        }
                    });
    
                    f.push({
                        filter: function (record) {                         
                            return filterString(#{Filtertest3}.getValue(), 'test1', record);
                        }
                    });
    
                    var len = f.length;
                     
                    return function (record) {
                        for (var i = 0; i < len; i++) {
                            if (!f[i].filter(record)) {
                                return false;
                            }
                        }
                        return true;
                    };  
                };
            </script>
        </ext:XScript>
        <style type="text/css">
            .DisplayTextNoRecordsGrid
            {
                vertical-align: middle;
                display: table-cell;
                text-align: center;
                font: Tahoma;
                font-size: 12pt;
            }
        </style>
    </head>
    <body>
        <form id="Form1" runat="server">
        <ext:ResourceManager ID="ResourceManager1" runat="server" />
        <ext:Viewport ID="Viewport" runat="server">
            <Items>
                <ext:BorderLayout ID="BorderLayout1" runat="server">
                    <North>
                        <ext:Panel ID="pnlLayoutMaster" runat="server" Border="true" Frame="false" Layout="VBoxLayout"
                            MinHeight="29px" Split="True" Height="226">
                            <LayoutConfig>
                                <ext:VBoxLayoutConfig Align="Stretch" />
                            </LayoutConfig>
                            <Items>
                                <ext:Panel ID="pnlSUtToolbarMaster" runat="server" Border="true" EnableViewState="true"
                                    Height="28">
                                </ext:Panel>
                                <ext:GridPanel ID="GridPanel1" runat="server" StripeRows="true" TrackMouseOver="true"
                                    Flex="1">
                                    <Store>
                                        <ext:Store ID="Store1" runat="server" AutoLoad="false">
                                            <Reader>
                                                <ext:ArrayReader>
                                                    <Fields>
                                                        <ext:RecordField Name="test1" />
                                                        <ext:RecordField Name="test2" />
                                                        <ext:RecordField Name="test3" />
                                                    </Fields>
                                                </ext:ArrayReader>
                                            </Reader>
                                            <Listeners>
                                                <Load Handler="onLoadGrid(store, records, #{GridPanel1})" Delay="10" />
                                                <%--<DataChanged Handler="onLoadGrid(store, records, #{GridPanel1})" />--%>
                                            </Listeners>
                                        </ext:Store>
                                    </Store>
                                    <ColumnModel ID="ColumnModel1" runat="server">
                                        <Columns>
                                            <ext:Column Header="Test1" DataIndex="test1" />
                                            <ext:Column Header="Test2" DataIndex="test2" />
                                            <ext:Column Header="Test3" DataIndex="test3" />
                                        </Columns>
                                    </ColumnModel>
                                    <View>
                                        <ext:GridView ID="GridView1" runat="server">
                                            <HeaderRows>
                                                <ext:HeaderRow>
                                                    <Columns>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest1" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest2" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                        <ext:HeaderColumn Cls="x-small-editor">
                                                            <Component>
                                                                <ext:TextField ID="Filtertest3" runat="server" EnableKeyEvents="true">
                                                                    <Listeners>
                                                                        <KeyUp Handler="applyFilter(this);" Buffer="250" />
                                                                    </Listeners>
                                                                </ext:TextField>
                                                            </Component>
                                                        </ext:HeaderColumn>
                                                    </Columns>
                                                </ext:HeaderRow>
                                            </HeaderRows>
                                        </ext:GridView>
                                    </View>
                                </ext:GridPanel>
                                <ext:Button ID="Button1" runat="server" Text="Load data" OnDirectClick="LoadData" />
                                <ext:Button ID="Button2" runat="server" Text="Load nothing" OnDirectClick="LoadNothing" />
                            </Items>
                            <Listeners>
                                <Activate Handler="#{GridPanel1}.store.load();" Single="true" />
                            </Listeners>
                        </ext:Panel>
                    </North>
                    <Center Split="true" MinHeight="58px">
                        <ext:FormPanel ID="frmDetails" runat="server" Border="true" Layout="VBoxLayout" Frame="false"
                            MinHeight="58px" Flex="1">
                            <LayoutConfig>
                                <ext:VBoxLayoutConfig Align="Stretch" />
                            </LayoutConfig>
                            <Items>
                                <ext:Panel ID="pnlSUtToolbarDetails" runat="server" Border="false" EnableViewState="true"
                                    Height="28" Cls="CssExtFormsTab_pnlSUtToolbarDetails">
                                </ext:Panel>
                                <ext:TabPanel ID="tabPanel" runat="server" ActiveTabIndex="0" Cls="CssExtFormsTab"
                                    EnableTabScroll="true" Flex="1">
                                    <Items>
                                        <ext:Panel ID="tabDadosGerais" runat="server" Title="Dados Gerais" Padding="6" TabTip="Dados Gerais do Usuário"
                                            Cls="CssExtPainelPages" Layout="FormLayout" AutoScroll="true">
                                            <Items>
                                                <ext:GridPanel ID="GridPanel2" runat="server" StripeRows="true" TrackMouseOver="true"
                                                    Flex="1">
                                                    <Store>
                                                        <ext:Store ID="Store2" runat="server" AutoLoad="false">
                                                            <Reader>
                                                                <ext:ArrayReader>
                                                                    <Fields>
                                                                        <ext:RecordField Name="test1" />
                                                                        <ext:RecordField Name="test2" />
                                                                        <ext:RecordField Name="test3" />
                                                                    </Fields>
                                                                </ext:ArrayReader>
                                                            </Reader>
                                                            <Listeners>
                                                                <Load Handler="onLoadGrid(store, records, #{GridPanel2})" Delay="10" />
                                                            </Listeners>
                                                        </ext:Store>
                                                    </Store>
                                                    <ColumnModel ID="ColumnModel2" runat="server">
                                                        <Columns>
                                                            <ext:Column Header="Test1" DataIndex="test1" />
                                                            <ext:Column Header="Test2" DataIndex="test2" />
                                                            <ext:Column Header="Test3" DataIndex="test3" />
                                                        </Columns>
                                                    </ColumnModel>
                                                    <Listeners>
                                                        <ViewReady Handler="this.on('viewready');" />
                                                    </Listeners>
                                                </ext:GridPanel>
                                                <ext:Button ID="Button3" runat="server" Text="Load data" OnDirectClick="LoadData2" />
                                                <ext:Button ID="Button4" runat="server" Text="Load nothing" OnDirectClick="LoadNothing2" />
                                            </Items>
                                            <Listeners>
                                                <Activate Handler="#{GridPanel2}.store.load();" Single="true" />
                                            </Listeners>
                                        </ext:Panel>
                                        <ext:Panel ID="tabTelefones" runat="server" Title="Telefones" Layout="VBoxLayout"
                                            TabTip="Telefones" Cls="CssExtPainelPages" AutoScroll="true">
                                            <LayoutConfig>
                                                <ext:VBoxLayoutConfig Align="Stretch" />
                                            </LayoutConfig>
                                            <Items>
                                                <ext:GridPanel ID="GridPanel3" runat="server" StripeRows="true" TrackMouseOver="true"
                                                    Border="false" Flex="1">
                                                    <Store>
                                                        <ext:Store ID="Store3" runat="server" AutoLoad="false">
                                                            <Reader>
                                                                <ext:ArrayReader>
                                                                    <Fields>
                                                                        <ext:RecordField Name="test1" />
                                                                        <ext:RecordField Name="test2" />
                                                                        <ext:RecordField Name="test3" />
                                                                    </Fields>
                                                                </ext:ArrayReader>
                                                            </Reader>
                                                            <Listeners>
                                                                <Load Handler="onLoadGrid(store, records, #{GridPanel3})" Delay="10" />
                                                            </Listeners>
                                                        </ext:Store>
                                                    </Store>
                                                    <ColumnModel ID="ColumnModel3" runat="server">
                                                        <Columns>
                                                            <ext:Column Header="Test1" DataIndex="test1" />
                                                            <ext:Column Header="Test2" DataIndex="test2" />
                                                            <ext:Column Header="Test3" DataIndex="test3" />
                                                        </Columns>
                                                    </ColumnModel>
                                                    <View>
                                                        <ext:GridView ID="GridView3" runat="server" ForceFit="true" ScrollOffset="0" />
                                                    </View>
                                                    <Listeners>
                                                        <ViewReady Handler="this.on('viewready');" />
                                                    </Listeners>
                                                </ext:GridPanel>
                                                <ext:Button ID="Button5" runat="server" Text="Load data" OnDirectClick="LoadData3" />
                                                <ext:Button ID="Button6" runat="server" Text="Load nothing" OnDirectClick="LoadNothing3" />
                                            </Items>
                                            <Listeners>
                                                <Activate Handler="#{GridPanel3}.store.load();" Single="true" />
                                            </Listeners>
                                        </ext:Panel>
                                    </Items>
                                </ext:TabPanel>
                            </Items>
                        </ext:FormPanel>
                    </Center>
                </ext:BorderLayout>
            </Items>
        </ext:Viewport>
        </form>
    </body>
    </html>
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Ext.Net;
    
    namespace WebApplication1
    {
        public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void LoadData(object sender, DirectEventArgs e)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store.DataBind();
    
                Store store3 = this.GridPanel3.GetStore();
                store3.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store3.DataBind();
            }
    
            protected void LoadNothing(object sender, DirectEventArgs e)
            {
                Store store = this.GridPanel1.GetStore();
                store.DataBind();
            }
    
    
            protected void LoadData2(object sender, DirectEventArgs e)
            {
                Store store2 = this.GridPanel2.GetStore();
                store2.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store2.DataBind();
            }
    
            protected void LoadNothing2(object sender, DirectEventArgs e)
            {
                Store store2 = this.GridPanel2.GetStore();
                store2.DataBind();
            }
    
    
            protected void LoadData3(object sender, DirectEventArgs e)
            {
                Store store3 = this.GridPanel3.GetStore();
                store3.DataSource = new object[] 
            { 
                new object[] { "test11", "test12", "test13" },
                new object[] { "test12", "test22", "test23" },
                new object[] { "test13", "test32", "test33" }
            };
                store3.DataBind();
            }
    
            protected void LoadNothing3(object sender, DirectEventArgs e)
            {
                Store store3 = this.GridPanel3.GetStore();
                store3.DataBind();
            }
        }
    }
Page 3 of 5 FirstFirst 12345 LastLast

Similar Threads

  1. Replies: 3
    Last Post: Jun 22, 2011, 7:37 PM
  2. Replies: 10
    Last Post: May 13, 2011, 2:30 PM
  3. Replies: 0
    Last Post: Mar 21, 2011, 3:55 PM
  4. Replies: 1
    Last Post: Jul 07, 2010, 8:00 AM
  5. Replies: 6
    Last Post: Feb 22, 2010, 1:18 AM

Tags for this Thread

Posting Permissions