Mar 17, 2011, 10:54 AM
help to speed up rendering grid
Hi,
Is it possible to look at my page, where i can speed up the load concerning used controls?
My page loads in 0,3 seconds (what is good), but my grid takes 5,6 seconds to load.
in another page where i don't use imagecommand and checkboxselectionmodel, my grid loads in 1 second...
Is it possible to look at my page, where i can speed up the load concerning used controls?
My page loads in 0,3 seconds (what is good), but my grid takes 5,6 seconds to load.
in another page where i don't use imagecommand and checkboxselectionmodel, my grid loads in 1 second...
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ListUncompletedUnits.aspx.vb" Inherits="ListUncompletedUnits" EnableSessionState="True" %>
<%@ 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>Uncompleted Units</title>
<script type="text/javascript" src="Scripts/ROOT.js"></script>
<link rel="stylesheet" href="css/list.css" type="text/css" />
<script type="text/javascript">
var tmPerformanceStart;
function prepareDisplayText(value, rec) {
return (rec.CTDOfficialName + ' - ' + rec.CTDAAddressLine1 + ' - ' + rec.CTDACity + ' - ' + rec.CTDACountryCode)
}
</script>
<style type="text/css">
.consignee-list
{
width: 430px;
font: 11px tahoma,arial,helvetica,sans-serif;
}
.consignee-list th {
font-weight: bold;
}
.consignee-list td, .consignee-list th {
padding: 3px;
}
.x-grid3-focus {
width:4px;
height:4px;
background: red !important;
border:1px #a3bae9;
}
.error-row {
background:#FFE4C4;
}
</style>
</head>
<body>
<form id="frmListUnit" runat="server">
<ext:ResourceManager ID="ResourceManagerUnit" runat="server" />
<ext:Hidden ID="hiddenSortInfo" Text="UnitForwarder ASC" runat="server"></ext:Hidden>
<ext:Hidden ID="hiddenRowToSelect" Text="0" runat="server"></ext:Hidden>
<ext:Hidden ID="hiddenStoreIsLoading" runat="server" Text="NO" />
<ext:Hidden ID="hiddenFilter" runat="server" Text="" />
<ext:Store ID="StoreUnit" runat="server" AutoLoad="true" OnRefreshData="StoreUnit_Refresh" RemoteSort="true">
<AutoLoadParams>
<ext:Parameter Name="start" Value="={0}" />
<ext:Parameter Name="limit" Value="={20}" />
</AutoLoadParams>
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="UnitForwarder" SortType="AsUCString" />
<ext:RecordField Name="UnitShipper" />
<ext:RecordField Name="UnitChassisNumber" Type="String" SortType="AsUCString" />
<ext:RecordField Name="UnitConstructorDescription" />
<ext:RecordField Name="UnitModelDescription" />
<ext:RecordField Name="UnitTypeCode" />
<ext:RecordField Name="UnitLoadingQuayCode" />
<ext:RecordField Name="UnitDischargePortName" />
<ext:RecordField Name="UnitIsActive" />
<ext:RecordField Name="UnitIsArchived" />
<ext:RecordField Name="UnitInError" />
<ext:RecordField Name="UnitStatusName" />
<ext:RecordField Name="UnitBookingReference" />
<ext:RecordField Name="UnitClient" />
<ext:RecordField Name="ID" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load units failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
<BeforeLoad Handler="#{hiddenStoreIsLoading}.value='YES';" />
<Load Handler="if (this.getTotalCount() > 0) { var index = Math.min(parseInt(#{hiddenRowToSelect}.value), this.getCount()-1);#{GridPanelUnit}.getView().focusRow(index); #{hiddenRowToSelect}.value='0';}; #{hiddenStoreIsLoading}.value='NO';" Delay="100" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreForwarder" runat="server" AutoLoad="false" OnRefreshData="StoreForwarder_Refresh">
<SortInfo Field="CTDOfficialName" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="CTDOfficialName" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load forwarders failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreShipper" runat="server" AutoLoad="false" OnRefreshData="StoreShipper_Refresh">
<SortInfo Field="CTDOfficialName" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="CTDOfficialName" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load shippers failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreConstructor" runat="server" AutoLoad="false" OnRefreshData="StoreConstructor_Refresh" >
<SortInfo Field="UnitConstructorDescription" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="UnitConstructorCode" />
<ext:RecordField Name="UnitConstructorDescription" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load constructors failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreModel" runat="server" AutoLoad="false" OnRefreshData="StoreModel_Refresh">
<SortInfo Field="UnitModelDescription" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="UnitModelCode" />
<ext:RecordField Name="UnitModelDescription" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load models failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreLoadingQuay" runat="server" AutoLoad="false" OnRefreshData="StoreLoadingQuay_Refresh">
<SortInfo Field="LoadingQuayCode" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="LoadingQuayCode" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load quays failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreDischargePort" runat="server" AutoLoad="false" OnRefreshData="StoreDischargePort_Refresh">
<SortInfo Field="DischargePortName" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="DischargePortName" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load discharge ports failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreStatus" runat="server" AutoLoad="false" OnRefreshData="StoreStatus_Refresh">
<SortInfo Field="UnitStatusName" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="UnitStatusName" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load statuses failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreClient" runat="server" AutoLoad="false" OnRefreshData="StoreClient_Refresh">
<SortInfo Field="CTDOfficialName" Direction="ASC" />
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="CTDOfficialName" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load clients failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreUpdateForwarder" runat="server">
<SortInfo Field="CTDOfficialName" Direction="ASC" />
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="CTDOfficialName" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load forwarders failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreUpdateShipper" runat="server">
<SortInfo Field="CTDOfficialName" Direction="ASC" />
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="CTDOfficialName" SortType="AsUCString" />
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load shippers failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Store ID="StoreUpdateConsignee" runat="server">
<Reader>
<ext:JsonReader IDProperty="ID">
<Fields>
<ext:RecordField Name="ID" />
<ext:RecordField Name="CTDOfficialName" />
<ext:RecordField Name="CTDAAddressLine1" />
<ext:RecordField Name="CTDACity" />
<ext:RecordField Name="CTDACountryCode" />
<ext:RecordField Name="CTDACountryName" />
<ext:RecordField Name="DisplayText">
<Convert Fn="prepareDisplayText" />
</ext:RecordField>
</Fields>
</ext:JsonReader>
</Reader>
<Listeners>
<LoadException Handler="Ext.Msg.alert('Load consignees failed', (!Ext.isEmpty(e) && !Ext.isEmpty(e.message)) ? e.message : response.statusText);" />
</Listeners>
</ext:Store>
<ext:Viewport ID="ViewPortUnit" runat="server" Layout="Fit">
<Content>
<ext:GridPanel runat="server" ID="GridPanelUnit" Title="Uncompleted Units" IconCls="panelUnit"
StoreID="StoreUnit" Border="false">
<TopBar>
<ext:Toolbar ID="ToolbarUnit" runat="server">
<Items>
<ext:Label ID="lblUpdateLabel" runat="server" Text="Update Field:" />
<ext:ToolbarSpacer Width="10" />
<ext:ComboBox ID="cboUpdateEntity" runat="server" Width="130">
<Items>
<ext:ListItem Value="" Text="" />
<ext:ListItem Value="APPROVE" Text="Approve documents" />
<ext:ListItem Value="BLOCK" Text="Block Unit" />
<ext:ListItem Value="COLLECT" Text="Collect Amount" />
<ext:ListItem Value="CGN" Text="Consignee" />
<ext:ListItem Value="CREDIT" Text="Credit" />
<ext:ListItem Value="FWDR" Text="Forwarder" />
<ext:ListItem Value="INSURANCE" Text="Insurance" />
<ext:ListItem Value="PIP" Text="PIP By IIIKing" />
<ext:ListItem Value="PREPAID" Text="Is Prepaid" />
<ext:ListItem Value="ROAD" Text="Road Transport" />
<ext:ListItem Value="SHP" Text="Shipper" />
<ext:ListItem Value="VALUE" Text="Value" />
<ext:ListItem Value="WAIVER" Text="Waiver By IIIKing" />
</Items>
<Listeners>
<Select Handler="Ext.net.DirectMethods.cboUpdateEntity_ValueChanged();" />
</Listeners>
</ext:ComboBox>
<ext:ToolbarSpacer Width="5" />
<ext:Checkbox ID="chkUpdateCheckField" runat="server" Hidden="true" Checked="false"/>
<ext:NumberField ID="txtUpdateNumberField" runat="server" AllowDecimals="true" DecimalPrecision="3" Width="70" Hidden="true"/>
<ext:ToolbarSpacer Width="2" />
<ext:ComboBox ID="cboUpdateNumberCurrency" runat="server" Width="55" Hidden="true" />
<ext:ComboBox ID="cboUpdateComboboxFieldForwarder" runat="server"
Mode="Local"
Hidden="true"
Width="250"
StoreID="StoreUpdateForwarder"
DisplayField="CTDOfficialName"
ValueField="ID" >
<Items>
<ext:ListItem Text="" Value="-1" />
</Items>
</ext:ComboBox>
<ext:ComboBox ID="cboUpdateComboboxFieldShipper" runat="server"
Mode="Local"
Hidden="true"
Width="250"
StoreID="StoreUpdateShipper"
DisplayField="CTDOfficialName"
ValueField="ID" >
<Items>
<ext:ListItem Text="" Value="-1" />
</Items>
</ext:ComboBox>
<ext:ComboBox ID="cboUpdateComboboxFieldConsignee" runat="server"
Mode="Local"
Hidden="true"
Width="430"
StoreID="StoreUpdateConsignee"
DisplayField="DisplayText"
ValueField="ID"
Editable="true"
ItemSelector="tr.list-item" >
<Items>
<ext:ListItem Text="" Value="-1" />
</Items>
<Template ID="Template1" runat="server">
<Html>
<tpl for=".">
<tpl if="[xindex] == 1">
<table class="consignee-list">
<tr>
<th>Company</th>
<th>Address</th>
<th>City</th>
<th>Country</th>
</tr>
</tpl>
<tr class="list-item">
<td style="padding:3px 0px;">{CTDOfficialName}</td>
<td>{CTDAAddressLine1}</td>
<td>{CTDACity}</td>
<td>{CTDACountryCode}</td>
</tr>
<tpl if="[xcount-xindex]==0">
</table>
</tpl>
</tpl>
</Html>
</Template>
</ext:ComboBox>
<ext:ToolbarSpacer Width="5" />
<ext:Button ID="btnUpdateButton" runat="server" Icon="Accept">
<Listeners>
<Click Handler="if(#{GridPanelUnit}.getSelectionModel().hasSelection()) {Ext.Msg.confirm('Update Rows', 'Are you sure u want to update the selected unit(s)?', function(btn) {
if (btn == 'yes') {
Ext.net.DirectMethods.UpdateSelectedUnits({eventMask: {showMask: true, msg: 'Updating...'}});
}})}else{alert('You need to select at least one unit.');};" />
</Listeners>
<ToolTips>
<ext:ToolTip ID="ToolTip4" runat="server" Html="Update" />
</ToolTips>
</ext:Button>
<ext:ToolbarFill />
<ext:ToolbarSeparator />
<ext:Button runat="server" ID="btnHelp" Icon="Help" >
<Listeners>
<Click Handler="if (#{StoreUnit}.getTotalCount() > 0) { var index = Math.min(parseInt(#{hiddenRowToSelect}.value), #{StoreUnit}.getCount()-1);#{GridPanelUnit}.getView().focusRow(index); #{GridPanelUnit}.getSelectionModel().selectRow(index); #{hiddenRowToSelect}.value='0';};Ext.net.DirectMethods.ShowHelp();" />
</Listeners>
<ToolTips>
<ext:ToolTip ID="TooltipHelp" runat="server" Html="Help" />
</ToolTips>
</ext:Button>
</Items>
</ext:Toolbar>
</TopBar>
<ColumnModel ID="ColumnModelUnit" runat="server">
<Columns>
<ext:ImageCommandColumn Width="60">
<Commands>
<ext:ImageCommand CommandName="Edit" Icon="NoteEdit" >
<ToolTip Text="Edit" />
</ext:ImageCommand>
<ext:ImageCommand Icon="Delete" CommandName="Delete">
<ToolTip Text="Delete" />
</ext:ImageCommand>
</Commands>
</ext:ImageCommandColumn>
<ext:Column DataIndex="UnitForwarder" ColumnID="UnitForwarder" Sortable="true" Header="Forwarder" Width="130" />
<ext:Column DataIndex="UnitShipper" Sortable="true" Header="Shipper" Width="130" />
<ext:Column DataIndex="UnitChassisNumber" Sortable="true" Header="Chassis / VIN" Width="130" />
<ext:Column DataIndex="UnitConstructorDescription" Sortable="true" Header="Constructor" />
<ext:Column DataIndex="UnitModelDescription" Sortable="true" Header="Model" Width="150" />
<ext:Column DataIndex="UnitLoadingQuayCode" Sortable="true" Header="Loading Quay" />
<ext:Column DataIndex="UnitDischargePortName" Sortable="true" Header="Discharge Port" Width="150" />
<ext:Column DataIndex="UnitStatusName" Sortable="false" Header="Status" Width="80" />
<ext:Column DataIndex="UnitBookingReference" Sortable="false" Header="Booking Ref" Width="80" />
<ext:Column DataIndex="UnitClient" Sortable="false" Header="Client" Width="130" />
<ext:CheckColumn DataIndex="UnitIsActive" Sortable="false" Header="Active" Width="45" />
</Columns>
</ColumnModel>
<LoadMask ShowMask="true" />
<SaveMask ShowMask="true" />
<SelectionModel>
<ext:CheckboxSelectionModel ID="CheckboxSelectionModel" runat="server" CheckOnly="true" SingleSelect="false" />
</SelectionModel>
<View>
<ext:GridView ID="GridViewUnit" runat="server">
<HeaderRows>
<ext:HeaderRow>
<Columns>
<ext:HeaderColumn>
<Component />
</ext:HeaderColumn>
<ext:HeaderColumn AutoWidthElement="false">
<Component>
<ext:CompositeField runat="server">
<Items>
<ext:Button ID="ApplyFilterButton" runat="server" Icon="Accept" >
<ToolTips>
<ext:ToolTip ID="ToolTip2" runat="server" Html="Apply filter" />
</ToolTips>
<Listeners>
<Click Handler="Ext.net.DirectMethods.ApplyFilter();" />
</Listeners>
</ext:Button>
<ext:Button ID="ClearFilterButton" runat="server" Icon="Cancel" >
<ToolTips>
<ext:ToolTip ID="ToolTip1" runat="server" Html="Clear filter" />
</ToolTips>
<Listeners>
<Click Handler="Ext.net.DirectMethods.ClearFilter();" />
</Listeners>
</ext:Button>
</Items>
</ext:CompositeField>
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="ForwarderFilter" runat="server"
StoreID="StoreForwarder"
ValueField="ID"
DisplayField="CTDOfficialName" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="ShipperFilter" runat="server"
StoreID="StoreShipper"
ValueField="ID"
DisplayField="CTDOfficialName" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:TextField ID="ChassisFilter" runat="server" EnableKeyEvents="true" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="ConstructorFilter" runat="server"
StoreID="StoreConstructor"
ValueField="ID"
DisplayField="UnitConstructorDescription" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="ModelFilter" runat="server"
StoreID="StoreModel"
ValueField="ID"
DisplayField="UnitModelDescription" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="LoadingQuayFilter" runat="server"
StoreID="StoreLoadingQuay"
ValueField="ID"
DisplayField="LoadingQuayCode" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="DischargePortFilter" runat="server"
StoreID="StoreDischargePort"
ValueField="ID"
DisplayField="DischargePortName" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="StatusFilter" runat="server"
StoreID="StoreStatus"
ValueField="UnitStatusName"
DisplayField="UnitStatusName" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:TextField ID="BookingRefFilter" runat="server" EnableKeyEvents="true" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="x-small-editor">
<Component>
<ext:ComboBox ID="ClientFilter" runat="server"
StoreID="StoreClient"
ValueField="ID"
DisplayField="CTDOfficialName" />
</Component>
</ext:HeaderColumn>
<ext:HeaderColumn Cls="check-center">
<Component>
<ext:Checkbox id="ActiveFilter" runat="server" Width="20" Checked="true" />
</Component>
</ext:HeaderColumn>
</Columns>
</ext:HeaderRow>
</HeaderRows>
</ext:GridView>
</View>
<Listeners>
<RowDblClick Handler="Ext.net.DirectMethods.EditUnit();" />
<Command Handler="switch(command){
case 'Edit': {Ext.net.DirectMethods.EditUnit(record.data.ID, record.data.UnitIsArchived);break;}
case 'Delete': {Ext.Msg.confirm('Delete Rows', 'Are you sure u want to delete this unit?', function(btn) {
if (btn == 'yes') {
Ext.net.DirectMethods.DeleteUnit(record.data.ID);
}
GridPanelUnit.view.focusEl.focus();
});break;}
};" />
</Listeners>
<BottomBar>
<ext:PagingToolBar ID="PagingToolBarUnit"
runat="server"
PageSize="20"
StoreID="StoreUnit"
DisplayInfo="true"
DisplayMsg="Displaying units {0} - {1} of {2}"
EmptyMsg="No units to display" >
<Items>
<ext:ToolbarSpacer ID="ToolbarSpacer1" runat="server" />
<ext:ToolbarSeparator ID="ToolbarSeparator1" runat="server" />
<ext:ComboBox ID="cboRecordsPerPage" runat="server"
Title="Records per page"
Width="120"
Editable="false">
<Items>
<ext:ListItem Text="15" Value="15" />
<ext:ListItem Text="20" Value="20" />
<ext:ListItem Text="50" Value="50" />
<ext:ListItem Text="100" Value="100" />
</Items>
<SelectedItem Text="20" Value="20" />
<Listeners>
<Select Handler="Ext.net.DirectMethods.ChangeRecordsPerPage();" />
</Listeners>
</ext:ComboBox>
</Items>
</ext:PagingToolBar>
</BottomBar>
</ext:GridPanel>
</Content>
</ext:Viewport>
</form>
</body>
</html>
Last edited by Birgit; Mar 17, 2011 at 10:59 AM.