Sep 04, 2009, 9:07 AM
Performance issues with SelectAll check box in CheckboxSelectionModel and making Editor control visible all the time.
1. I'm facing some performance problem with Check/Uncheck All functionality of CheckboxSelectionModel and
2. I'm looking for some solution to make coolite control visible in Editor component all the time i.e. control inside editor tag should be visible without any click and as soon as my gird displayed on page. (<U>I?m desperately looking for some solution for this</U>)
I've around 250 records in a grid and when I use Check All checkbox of grid, IE pops up a message "Stop running this script? Internet exp. is running slow.....". This is only happening in IE (I've tested it in IE 7 and 8 and both shows that message).
It is a simple grid [taken from an example] with CheckboxSelectionModel and a store having over 250 records.
HTML Code:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="TestProject.WebForm1" %>
<!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></title>
<link href="resources/css/examples.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function buildGridTab() {
TabPanel1.addTab(GridPanel1);
}
</script>
</head>
<body>
<center>
<form id="form1" runat="server">
<ext:ScriptManager ID="ScriptManager1" runat="server">
<Listeners>
<DocumentReady Handler="buildGridTab();" />
</Listeners>
</ext:ScriptManager>
<ext:Store ID="Store1" runat="server">
<Reader>
<ext:ArrayReader>
<Fields>
<ext:RecordField Name="company" />
<ext:RecordField Name="price" Type="Float" />
<ext:RecordField Name="change" Type="Float" />
<ext:RecordField Name="pctChange" Type="Float" />
<ext:RecordField Name="lastChange" Type="Date" DateFormat="n/j h:ia" />
</Fields>
</ext:ArrayReader>
</Reader>
</ext:Store>
<ext:GridPanel
ID="GridPanel1"
runat="server"
StoreID="Store1"
StripeRows="true"
Title="Array Grid"
TrackMouseOver="true"
AutoExpandColumn="Company"
Hidden="true"
Header="false"
ClicksToEdit="1"
>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ColumnID="Company" Header="Company" Width="160" Sortable="True" DataIndex="company" >
<Editor>
<ext:ComboBox ID="CompanyList" runat="server"
StoreID="Store2" ValueField="company"
DisplayField="company" TriggerAction="All"
Editable="false"
Visible="true"
>
</ext:ComboBox>
</Editor>
</ext:Column>
<ext:Column Header="Price" Width="75" Sortable="true" DataIndex="price" />
<ext:Column Header="Change" Width="75" Sortable="true" DataIndex="change" />
<ext:Column Header="Change" Width="75" Sortable="true" DataIndex="pctChange" />
<ext:Column Header="Last Updated" Width="85" Sortable="true" DataIndex="lastChange" />
</Columns>
</ColumnModel>
<SelectionModel>
<ext:CheckboxSelectionModel ID="chkselmdl" SingleSelect="false"></ext:CheckboxSelectionModel>
</SelectionModel>
<Listeners>
<Click Handler="#{TextArea1}.setValue(#{Store1}.getCount());" />
</Listeners>
</ext:GridPanel>
<ext:TextArea ID="TextArea1" runat="server" Text="">
</ext:TextArea>
<ext:TabPanel ID="TabPanel1" runat="server" Width="600" Height="400">
</ext:TabPanel><br /><br />
</form>
</center>
</body>
</html>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">
.cs file Code:
using System;
using Coolite.Ext.Web;
namespace TestProject
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Ext.IsAjaxRequest)
{
this.Store1.DataSource = new object[]
{
new object[] {"3m Co", 71.72, 0.02, 0.03, "9/1 12:00am"},
new object[] {"Alcoa Inc", 29.01, 0.42, 1.47, "9/1 12:00am"},
new object[] {"Altria Group Inc", 83.81, 0.28, 0.34, "9/1 12:00am"},
new object[] {"American Express Company", 52.55, 0.01, 0.02, "9/1 12:00am"},
new object[] {"American International Group, Inc.", 64.13, 0.31, 0.49, "9/1 12:00am"},
new object[] {"AT&T Inc.", 31.61, -0.48, -1.54, "9/1 12:00am"},
new object[] {"Boeing Co.", 75.43, 0.53, 0.71, "9/1 12:00am"},
new object[] {"Caterpillar Inc.", 67.27, 0.92, 1.39, "9/1 12:00am"},
new object[] {"Citigroup, Inc.", 49.37, 0.02, 0.04, "9/1 12:00am"},
new object[] {"E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28, "9/1 12:00am"},
new object[] {"Exxon Mobil Corp", 68.1, -0.43, -0.64, "9/1 12:00am"},
new object[] {"General Electric Company", 34.14, -0.08, -0.23, "9/1 12:00am"},
new object[] {"General Motors Corporation", 30.27, 1.09, 3.74, "9/1 12:00am"},
new object[] {"Hewlett-Packard Co.", 36.53, -0.03, -0.08, "9/1 12:00am"},
new object[] {"Honeywell Intl Inc", 38.77, 0.05, 0.13, "9/1 12:00am"},
new object[] {"Intel Corporation", 19.88, 0.31, 1.58, "9/1 12:00am"},
new object[] {"International Business Machines", 81.41, 0.44, 0.54, "9/1 12:00am"},
new object[] {"Johnson & Johnson", 64.72, 0.06, 0.09, "9/1 12:00am"},
new object[] {"JP Morgan & Chase & Co", 45.73, 0.07, 0.15, "9/1 12:00am"},
new object[] {"McDonald\"s Corporation", 36.76, 0.86, 2.40, "9/1 12:00am"},
new object[] {"Merck & Co., Inc.", 40.96, 0.41, 1.01, "9/1 12:00am"},
new object[] {"Verizon Communications", 35.57, 0.39, 1.11, "9/1 12:00am"},
new object[] {"Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63, "9/1 12:00am"}
// copied above lines several times to increase rows in store.
};
this.Store1.DataBind();
}
}
}
}
<P class=MsoNormal style="MARGIN: 0in 0in 0pt">