Jun 09, 2011, 7:04 PM
Did you add Activate listeners that I suggested?
<%@ 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 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>
string json = GridData.Value.ToString();
"[{\" test1 \ ": \" aaatest11 \ ", \" test2 \ ": \" test12 \ "\" Test3 \ "\" test13 \ "},{},{},{},{ },{},{},{},{},{},{},{}]"<%@ 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();
}
}
}