📄 groupinggridscript.cs
字号:
using System;
using System.DHTML;
using Ext;
using Ext.data;
using Ext.grid;
using Ext.util;
using ScriptFX;
namespace SampleScripts.grid {
public class GroupingGridScript {
public static void main(Dictionary args) {
ExtClass.onReady(new AnonymousDelegate(delegate() { new GroupingGridScript().init(); }));
}
public void init() {
ArrayReader reader = new ArrayReader(
new ArrayReaderConfig().ToDictionary(),
new Dictionary[] {
new Dictionary("name", "company"),
new Dictionary("name", "price", "type", "float"),
new Dictionary("name", "change", "type", "float"),
new Dictionary("name", "pctChange", "type", "float"),
new Dictionary("name", "lastChange", "type", "date", "dateFormat", "n/j h:ia"),
new Dictionary("name", "industry"),
new Dictionary("name", "desc")
}
);
GroupingStore gds = new GroupingStore(new GroupingStoreConfig()
.reader(reader)
.data(GetData())
.sortInfo(new Dictionary("field", "company", "direction", "ASC"))
.groupField("industry")
.ToDictionary()
);
Dictionary[] columns = new Dictionary[] {
new Dictionary("id", "company", "header", "Company", "width", 60, "sortable", true, "dataIndex", "company"),
new Dictionary("header", "Price", "width", 20, "sortable", true, "renderer", new MoneyRenderer(Format.usMoney), "dataIndex", "price"),
new Dictionary("header", "Change", "width", 20, "sortable", true, "dataIndex", "change", "renderer", new MoneyRenderer(Format.usMoney)),
new Dictionary("header", "Industry", "width", 20, "sortable", true, "dataIndex", "industry"),
new Dictionary("header", "Last Updated", "width", 20, "sortable", true, "renderer", Format.dateRenderer("m/d/Y"), "dataIndex", "lastChange")
};
GroupingView view = new GroupingView(new GroupingViewConfig()
.forceFit(true)
.groupTextTpl("{text} ({[values.rs.length]} {[values.rs.length > 1 ? \"Items\" : \"Item\"]})")
.ToDictionary()
);
Ext.grid.GridPanel grid = new Ext.grid.GridPanel(new Ext.grid.GridPanelConfig()
.ds(gds)
.columns(columns)
.view(view)
.frame(true)
.width(700)
.height(400)
.collapsible(true)
.animCollapse(false)
.title("Grouping Example")
.iconCls("icon-grid")
.renderTo(Document.Body)
.ToDictionary()
);
}
private object[] GetData() {
return new object[] {
new object[] {"3m Co",71.72,0.02,0.03,"4/2 12:00am", "Manufacturing"},
new object[] {"Alcoa Inc",29.01,0.42,1.47,"4/1 12:00am", "Manufacturing"},
new object[] {"Altria Group Inc",83.81,0.28,0.34,"4/3 12:00am", "Manufacturing"},
new object[] {"American Express Company",52.55,0.01,0.02,"4/8 12:00am", "Finance"},
new object[] {"American International Group, Inc.",64.13,0.31,0.49,"4/1 12:00am", "Services"},
new object[] {"AT&T Inc.",31.61,-0.48,-1.54,"4/8 12:00am", "Services"},
new object[] {"Boeing Co.",75.43,0.53,0.71,"4/8 12:00am", "Manufacturing"},
new object[] {"Caterpillar Inc.",67.27,0.92,1.39,"4/1 12:00am", "Services"},
new object[] {"Citigroup, Inc.",49.37,0.02,0.04,"4/4 12:00am", "Finance"},
new object[] {"E.I. du Pont de Nemours and Company",40.48,0.51,1.28,"4/1 12:00am", "Manufacturing"},
new object[] {"Exxon Mobil Corp",68.1,-0.43,-0.64,"4/3 12:00am", "Manufacturing"},
new object[] {"General Electric Company",34.14,-0.08,-0.23,"4/3 12:00am", "Manufacturing"},
new object[] {"General Motors Corporation",30.27,1.09,3.74,"4/3 12:00am", "Automotive"},
new object[] {"Hewlett-Packard Co.",36.53,-0.03,-0.08,"4/3 12:00am", "Computer"},
new object[] {"Honeywell Intl Inc",38.77,0.05,0.13,"4/3 12:00am", "Manufacturing"},
new object[] {"Intel Corporation",19.88,0.31,1.58,"4/2 12:00am", "Computer"},
new object[] {"International Business Machines",81.41,0.44,0.54,"4/1 12:00am", "Computer"},
new object[] {"Johnson & Johnson",64.72,0.06,0.09,"4/2 12:00am", "Medical"},
new object[] {"JP Morgan & Chase & Co",45.73,0.07,0.15,"4/2 12:00am", "Finance"},
new object[] {"McDonald\"s Corporation",36.76,0.86,2.40,"4/2 12:00am", "Food"},
new object[] {"Merck & Co., Inc.",40.96,0.41,1.01,"4/2 12:00am", "Medical"},
new object[] {"Microsoft Corporation",25.84,0.14,0.54,"4/2 12:00am", "Computer"},
new object[] {"Pfizer Inc",27.96,0.4,1.45,"4/8 12:00am", "Services", "Medical"},
new object[] {"The Coca-Cola Company",45.07,0.26,0.58,"4/1 12:00am", "Food"},
new object[] {"The Home Depot, Inc.",34.64,0.35,1.02,"4/8 12:00am", "Retail"},
new object[] {"The Procter & Gamble Company",61.91,0.01,0.02,"4/1 12:00am", "Manufacturing"},
new object[] {"United Technologies Corporation",63.26,0.55,0.88,"4/1 12:00am", "Computer"},
new object[] {"Verizon Communications",35.57,0.39,1.11,"4/3 12:00am", "Services"},
new object[] {"Wal-Mart Stores, Inc.",45.45,0.73,1.63,"4/3 12:00am", "Retail"},
new object[] {"Walt Disney Company (The) (Holding Company)",29.89,0.24,0.81,"4/1 12:00am", "Services"}
};
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -