`
chengyu2099
  • 浏览: 459799 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ExtJS组件 - store ②- renderer

EXT 
阅读更多
Ext.onReady(function()
{
	Ext.BLANK_IMAGE_URL = '../ext-2.2/resources/images/default/s.gif';
	
	 function renderSex(value) {
        if (value == 'male') {
            return "<span style='color:red;font-weight:bold;'>红男</span><img src='../images/user_male.png' />";
        } else {
            return "<span style='color:green;font-weight:bold;'>绿女</span><img src='../images/user_female.png' />";
        }
    }
    function renderDescn(value, cellmeta, record, rowIndex, columnIndex, store) {
        var str = "<input type='button' value='查看详细信息' onclick='alert(\"" +
            "这个单元格的值是:" + value + "\\n" +
            "这个单元格的配置是:{cellId:" + cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css + "}\\n" +
            "这个单元格对应行的record是:" + record + ",一行的数据都在里边\\n" +
            "这是第" + rowIndex + "行\\n" +
            "这是第" + columnIndex + "列\\n" +
            "这个表格对应的Ext.data.Store在这里:" + store + ",随便用吧。" +
            "\")'>";
        return str;
    }
    // PersonRecord
	var PersonRecord = new Ext.data.Record.create(
			[
			{name:'id',type:'int'},
            {name:'sex',type: 'string'},
            {name:'name'},
            {name:'descn'}]
	);    
	//	data
	var myData = [
		['1','male','name1','descn1'],
        ['2','female','name2','descn2'],
        ['3','male','name3','descn3'],
        ['4','female','name4','descn4'],
        ['5','male','name5','descn5']
	];
	//	sm
	var sm = new Ext.grid.CheckboxSelectionModel();
	//cm
	var cm = new Ext.grid.ColumnModel([
		new Ext.grid.RowNumberer(), // row number MODEL
		sm,
		{header:'编号',dataIndex:'id'},
        {header:'性别',dataIndex:'sex',renderer:renderSex},
        {header:'名称',dataIndex:'name'},
        {header:'描述',dataIndex:'descn',renderer:renderDescn}]
	);
	//	store
	var store = new Ext.data.Store({
		proxy: new Ext.data.MemoryProxy(myData),
		reader: new Ext.data.ArrayReader({},PersonRecord)
	});
	store.load();
	//	gridpanel
	var gridPanel = new Ext.grid.GridPanel({
		title:'Ext.grid.GridPanel',
		autoHeight:true,
		renderTo:'grid',
		store:store,
		cm:cm,
		sm:sm,
		stripeRows: true // 隔行换色
	});
//	store add record
	store.add(new PersonRecord({
		id:6,
		sex:'male',
		name:'name6',
		descn:'descn6'
	}));
//	onclick
	Ext.get('remove').on('click',function(){
		store.remove(store.getAt(1));
		gridPanel.view.refresh();
	});
});
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics