<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FExt_JS%2FColumnModel</id>
		<title>JavaScript DHTML/Ext JS/ColumnModel - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=JavaScript_DHTML%2FExt_JS%2FColumnModel"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/ColumnModel&amp;action=history"/>
		<updated>2026-04-05T10:32:26Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/ColumnModel&amp;diff=2460&amp;oldid=prev</id>
		<title> в 09:59, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/ColumnModel&amp;diff=2460&amp;oldid=prev"/>
				<updated>2010-05-26T09:59:51Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:59, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/ColumnModel&amp;diff=2461&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=JavaScript_DHTML/Ext_JS/ColumnModel&amp;diff=2461&amp;oldid=prev"/>
				<updated>2010-05-26T07:21:30Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Dynamic Form interacting with an embedded Grid==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;html4strict&amp;quot;&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
&amp;lt;title&amp;gt;Hello World Window&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;ext-3.0.0/resources/css/ext-all.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/adapter/ext/ext-base.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;ext-3.0.0/ext-all.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;!-- Revised from demo code in ext3.0.0 --&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
/*!&lt;br /&gt;
 * Ext JS Library 3.0.0&lt;br /&gt;
 * Copyright(c) 2006-2009 Ext JS, LLC&lt;br /&gt;
 * licensing@extjs.ru&lt;br /&gt;
 * http://www.extjs.ru/license&lt;br /&gt;
 */&lt;br /&gt;
Ext.onReady(function(){&lt;br /&gt;
    Ext.QuickTips.init();&lt;br /&gt;
    // turn on validation errors beside the field globally&lt;br /&gt;
    Ext.form.Field.prototype.msgTarget = &amp;quot;side&amp;quot;;&lt;br /&gt;
    var bd = Ext.getBody();&lt;br /&gt;
//   Define the Grid data and create the Grid&lt;br /&gt;
    var myData = [&lt;br /&gt;
        [&amp;quot;3m Co&amp;quot;,71.72,0.02,0.03,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Alcoa Inc&amp;quot;,29.01,0.42,1.47,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Altria Group Inc&amp;quot;,83.81,0.28,0.34,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;American Express Company&amp;quot;,52.55,0.01,0.02,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;American International Group, Inc.&amp;quot;,64.13,0.31,0.49,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;AT&amp;amp;T Inc.&amp;quot;,31.61,-0.48,-1.54,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Boeing Co.&amp;quot;,75.43,0.53,0.71,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Caterpillar Inc.&amp;quot;,67.27,0.92,1.39,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Citigroup, Inc.&amp;quot;,49.37,0.02,0.04,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;E.I. du Pont de Nemours and Company&amp;quot;,40.48,0.51,1.28,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Exxon Mobil Corp&amp;quot;,68.1,-0.43,-0.64,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;General Electric Company&amp;quot;,34.14,-0.08,-0.23,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;General Motors Corporation&amp;quot;,30.27,1.09,3.74,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Hewlett-Packard Co.&amp;quot;,36.53,-0.03,-0.08,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Honeywell Intl Inc&amp;quot;,38.77,0.05,0.13,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Intel Corporation&amp;quot;,19.88,0.31,1.58,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;International Business Machines&amp;quot;,81.41,0.44,0.54,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Johnson &amp;amp; Johnson&amp;quot;,64.72,0.06,0.09,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;JP Morgan &amp;amp; Chase &amp;amp; Co&amp;quot;,45.73,0.07,0.15,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;McDonald\&amp;quot;s Corporation&amp;quot;,36.76,0.86,2.40,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Merck &amp;amp; Co., Inc.&amp;quot;,40.96,0.41,1.01,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Microsoft Corporation&amp;quot;,25.84,0.14,0.54,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Pfizer Inc&amp;quot;,27.96,0.4,1.45,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;The Coca-Cola Company&amp;quot;,45.07,0.26,0.58,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;The Home Depot, Inc.&amp;quot;,34.64,0.35,1.02,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;The Procter &amp;amp; Gamble Company&amp;quot;,61.91,0.01,0.02,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;United Technologies Corporation&amp;quot;,63.26,0.55,0.88,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Verizon Communications&amp;quot;,35.57,0.39,1.11,&amp;quot;9/1 12:00am&amp;quot;],&lt;br /&gt;
        [&amp;quot;Wal-Mart Stores, Inc.&amp;quot;,45.45,0.73,1.63,&amp;quot;9/1 12:00am&amp;quot;]&lt;br /&gt;
    ];&lt;br /&gt;
    var ds = new Ext.data.Store({&lt;br /&gt;
        reader: new Ext.data.ArrayReader({}, [&lt;br /&gt;
            {name: &amp;quot;company&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;price&amp;quot;, type: &amp;quot;float&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;change&amp;quot;, type: &amp;quot;float&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;pctChange&amp;quot;, type: &amp;quot;float&amp;quot;},&lt;br /&gt;
            {name: &amp;quot;lastChange&amp;quot;, type: &amp;quot;date&amp;quot;, dateFormat: &amp;quot;n/j h:ia&amp;quot;},&lt;br /&gt;
//          Rating dependent upon performance 0 = best, 2 = worst&lt;br /&gt;
            {name: &amp;quot;rating&amp;quot;, type: &amp;quot;int&amp;quot;, convert: function(v, rec) {&lt;br /&gt;
                   if (rec[3] &amp;lt; 0) return 2;&lt;br /&gt;
                   if (rec[3] &amp;lt; 1) return 1;&lt;br /&gt;
                   return 0;&lt;br /&gt;
               }&lt;br /&gt;
            }&lt;br /&gt;
        ])&lt;br /&gt;
    });&lt;br /&gt;
    ds.loadData(myData);&lt;br /&gt;
    // example of custom renderer function&lt;br /&gt;
    function italic(value){&lt;br /&gt;
        return &amp;quot;&amp;lt;i&amp;gt;&amp;quot; + value + &amp;quot;&amp;lt;/i&amp;gt;&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    // example of custom renderer function&lt;br /&gt;
    function change(val){&lt;br /&gt;
        if(val &amp;gt; 0){&lt;br /&gt;
            return &amp;quot;&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;&amp;quot; + val + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
        }else if(val &amp;lt; 0){&lt;br /&gt;
            return &amp;quot;&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;quot; + val + &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return val;&lt;br /&gt;
    }&lt;br /&gt;
    // example of custom renderer function&lt;br /&gt;
    function pctChange(val){&lt;br /&gt;
        if(val &amp;gt; 0){&lt;br /&gt;
            return &amp;quot;&amp;lt;span style=&amp;quot;color:green;&amp;quot;&amp;gt;&amp;quot; + val + &amp;quot;%&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
        }else if(val &amp;lt; 0){&lt;br /&gt;
            return &amp;quot;&amp;lt;span style=&amp;quot;color:red;&amp;quot;&amp;gt;&amp;quot; + val + &amp;quot;%&amp;lt;/span&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        return val;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    // render rating as &amp;quot;A&amp;quot;, &amp;quot;B&amp;quot; or &amp;quot;C&amp;quot; depending upon numeric value.&lt;br /&gt;
    function rating(v) {&lt;br /&gt;
        if (v == 0) return &amp;quot;A&amp;quot;&lt;br /&gt;
        if (v == 1) return &amp;quot;B&amp;quot;&lt;br /&gt;
        if (v == 2) return &amp;quot;C&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
    // the DefaultColumnModel expects this blob to define columns. It can be extended to provide&lt;br /&gt;
    // custom or reusable ColumnModels&lt;br /&gt;
    var colModel = new Ext.grid.ColumnModel([&lt;br /&gt;
        {id:&amp;quot;company&amp;quot;,header: &amp;quot;Company&amp;quot;, width: 160, sortable: true, locked:false, dataIndex: &amp;quot;company&amp;quot;},&lt;br /&gt;
        {header: &amp;quot;Price&amp;quot;, width: 55, sortable: true, renderer: Ext.util.Format.usMoney, dataIndex: &amp;quot;price&amp;quot;},&lt;br /&gt;
        {header: &amp;quot;Change&amp;quot;, width: 55, sortable: true, renderer: change, dataIndex: &amp;quot;change&amp;quot;},&lt;br /&gt;
        {header: &amp;quot;% Change&amp;quot;, width: 65, sortable: true, renderer: pctChange, dataIndex: &amp;quot;pctChange&amp;quot;},&lt;br /&gt;
        {header: &amp;quot;Last Updated&amp;quot;, width: 80, sortable: true, renderer: Ext.util.Format.dateRenderer(&amp;quot;m/d/Y&amp;quot;), dataIndex: &amp;quot;lastChange&amp;quot;},&lt;br /&gt;
        {header: &amp;quot;Rating&amp;quot;, width: 40, sortable: true, renderer: rating, dataIndex: &amp;quot;rating&amp;quot;}&lt;br /&gt;
    ]);&lt;br /&gt;
    bd.createChild({tag: &amp;quot;h2&amp;quot;, html: &amp;quot;Using a Grid with a Form&amp;quot;});&lt;br /&gt;
/*&lt;br /&gt;
 *    Here is where we create the Form&lt;br /&gt;
 */&lt;br /&gt;
    var gridForm = new Ext.FormPanel({&lt;br /&gt;
        id: &amp;quot;company-form&amp;quot;,&lt;br /&gt;
        frame: true,&lt;br /&gt;
        labelAlign: &amp;quot;left&amp;quot;,&lt;br /&gt;
        title: &amp;quot;Company data&amp;quot;,&lt;br /&gt;
        bodyStyle:&amp;quot;padding:5px&amp;quot;,&lt;br /&gt;
        width: 750,&lt;br /&gt;
        layout: &amp;quot;column&amp;quot;,    // Specifies that the items will now be arranged in columns&lt;br /&gt;
        items: [{&lt;br /&gt;
            columnWidth: 0.60,&lt;br /&gt;
            layout: &amp;quot;fit&amp;quot;,&lt;br /&gt;
            items: {&lt;br /&gt;
                xtype: &amp;quot;grid&amp;quot;,&lt;br /&gt;
                ds: ds,&lt;br /&gt;
                cm: colModel,&lt;br /&gt;
                sm: new Ext.grid.RowSelectionModel({&lt;br /&gt;
                    singleSelect: true,&lt;br /&gt;
                    listeners: {&lt;br /&gt;
                        rowselect: function(sm, row, rec) {&lt;br /&gt;
                            Ext.getCmp(&amp;quot;company-form&amp;quot;).getForm().loadRecord(rec);&lt;br /&gt;
                        }&lt;br /&gt;
                    }&lt;br /&gt;
                }),&lt;br /&gt;
                autoExpandColumn: &amp;quot;company&amp;quot;,&lt;br /&gt;
                height: 350,&lt;br /&gt;
                title:&amp;quot;Company Data&amp;quot;,&lt;br /&gt;
                border: true,&lt;br /&gt;
                listeners: {&lt;br /&gt;
                    render: function(g) {&lt;br /&gt;
                        g.getSelectionModel().selectRow(0);&lt;br /&gt;
                    },&lt;br /&gt;
                    delay: 10 // Allow rows to be rendered.&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        },{&lt;br /&gt;
            columnWidth: 0.4,&lt;br /&gt;
            xtype: &amp;quot;fieldset&amp;quot;,&lt;br /&gt;
            labelWidth: 90,&lt;br /&gt;
            title:&amp;quot;Company details&amp;quot;,&lt;br /&gt;
            defaults: {width: 140, border:false},    // Default config options for child items&lt;br /&gt;
            defaultType: &amp;quot;textfield&amp;quot;,&lt;br /&gt;
            autoHeight: true,&lt;br /&gt;
            bodyStyle: Ext.isIE ? &amp;quot;padding:0 0 5px 15px;&amp;quot; : &amp;quot;padding:10px 15px;&amp;quot;,&lt;br /&gt;
            border: false,&lt;br /&gt;
            style: {&lt;br /&gt;
                &amp;quot;margin-left&amp;quot;: &amp;quot;10px&amp;quot;, // when you add custom margin in IE 6...&lt;br /&gt;
                &amp;quot;margin-right&amp;quot;: Ext.isIE6 ? (Ext.isStrict ? &amp;quot;-10px&amp;quot; : &amp;quot;-13px&amp;quot;) : &amp;quot;0&amp;quot;  // you have to adjust for it somewhere else&lt;br /&gt;
            },&lt;br /&gt;
            items: [{&lt;br /&gt;
                fieldLabel: &amp;quot;Name&amp;quot;,&lt;br /&gt;
                name: &amp;quot;company&amp;quot;&lt;br /&gt;
            },{&lt;br /&gt;
                fieldLabel: &amp;quot;Price&amp;quot;,&lt;br /&gt;
                name: &amp;quot;price&amp;quot;&lt;br /&gt;
            },{&lt;br /&gt;
                fieldLabel: &amp;quot;% Change&amp;quot;,&lt;br /&gt;
                name: &amp;quot;pctChange&amp;quot;&lt;br /&gt;
            },{&lt;br /&gt;
                xtype: &amp;quot;datefield&amp;quot;,&lt;br /&gt;
                fieldLabel: &amp;quot;Last Updated&amp;quot;,&lt;br /&gt;
                name: &amp;quot;lastChange&amp;quot;&lt;br /&gt;
            }, {&lt;br /&gt;
                xtype: &amp;quot;panel&amp;quot;,&lt;br /&gt;
                layout: &amp;quot;table&amp;quot;,&lt;br /&gt;
                layoutConfig: {&lt;br /&gt;
                    columns: 4&lt;br /&gt;
                },&lt;br /&gt;
                anchor: &amp;quot;100%&amp;quot;,&lt;br /&gt;
                defaults: {&lt;br /&gt;
                    border: false,&lt;br /&gt;
                    layout: &amp;quot;form&amp;quot;,&lt;br /&gt;
                    labelWidth: 15,&lt;br /&gt;
                    style: {&lt;br /&gt;
                        paddingRight: &amp;quot;10px&amp;quot;&lt;br /&gt;
                    }&lt;br /&gt;
                },&lt;br /&gt;
// A radio group: A setValue on any of the following &amp;quot;radio&amp;quot; inputs using the numeric&lt;br /&gt;
// &amp;quot;rating&amp;quot; field checks the radio instance which has the matching inputValue.&lt;br /&gt;
                items: [{&lt;br /&gt;
                    cellCls: &amp;quot;x-form-item&amp;quot;,&lt;br /&gt;
                    xtype: &amp;quot;label&amp;quot;,&lt;br /&gt;
                    text: &amp;quot;Rating&amp;quot;,&lt;br /&gt;
                       width: 98&lt;br /&gt;
                }, {&lt;br /&gt;
                    items: {    &lt;br /&gt;
                        xtype: &amp;quot;radio&amp;quot;,&lt;br /&gt;
                        name: &amp;quot;rating&amp;quot;,&lt;br /&gt;
                        inputValue: &amp;quot;0&amp;quot;,&lt;br /&gt;
                        fieldLabel: &amp;quot;A&amp;quot;&lt;br /&gt;
                    }&lt;br /&gt;
                }, {&lt;br /&gt;
                    items: {&lt;br /&gt;
                        xtype: &amp;quot;radio&amp;quot;,&lt;br /&gt;
                        name: &amp;quot;rating&amp;quot;,&lt;br /&gt;
                        inputValue: &amp;quot;1&amp;quot;,&lt;br /&gt;
                        fieldLabel: &amp;quot;B&amp;quot;&lt;br /&gt;
                    }&lt;br /&gt;
                }, {&lt;br /&gt;
                    items: {&lt;br /&gt;
                        xtype: &amp;quot;radio&amp;quot;,&lt;br /&gt;
                        name: &amp;quot;rating&amp;quot;,&lt;br /&gt;
                        inputValue: &amp;quot;2&amp;quot;,&lt;br /&gt;
                        fieldLabel: &amp;quot;C&amp;quot;&lt;br /&gt;
                    }&lt;br /&gt;
                }]&lt;br /&gt;
            }]&lt;br /&gt;
        }],&lt;br /&gt;
        renderTo: bd&lt;br /&gt;
    });&lt;br /&gt;
    &lt;br /&gt;
    //  Create Panel view code. Ignore.&lt;br /&gt;
    createCodePanel(&amp;quot;form-grid.js&amp;quot;, &amp;quot;View code to create this Form&amp;quot;);&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/script&amp;gt; &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &lt;br /&gt;
  &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>