extjs GridPanel

function showUrl(url)
        {
            return "<a href='" + url + "'>"+ url +"</a>";
        }
        Ext.onReady(function(){
            var data = [[1,"easyJF","www.easyjf.com"],[2,"unix","www.chinaunix.com"],[3,"extjs","www.extjs.com"]];
            var store = new Ext.data.SimpleStore({data:data,fields:["id","name","url"]});
            var cm = new Ext.grid.ColumnModel([{header:"名稱",dataIndex:"name",sortable:true},{header:"網址",dataIndex:"url",sortable:true,renderer :showUrl }]);
            //--
            var grid = new Ext.grid.GridPanel({
                title:"數據顯示",
                height:150,
                width:600,
                store:store,
                //--
                /*
                columns:[
                    {header:"名稱",dataIndex:"name",sortable:true},
                    {header:"網址",dataIndex:"url",sortable:true}
                ]*/
                cm:cm
                //--
               
            });
            //--
            grid.render("grid");
        });

自定義的渲染函數可以顯示各種自己需要的格式,是瀏覽器能處理的html都可以。

 

json數據格式

function showUrl(url)
        {
            return "<a href='" + url + "'>"+ url +"</a>";
        }
        Ext.onReady(function(){
            //var data = [[1,"easyJF","www.easyjf.com"],[2,"unix","www.chinaunix.com"],[3,"extjs","www.extjs.com"]];
            //var store = new Ext.data.SimpleStore({data:data,fields:["id","name","url"]});
            var jsondata = [{id:1,name:"easyJF",url:"www.easyjf.com"},{id:2,name:"unix",url:"www.chinaunix.com"}];
            var jsonstore = new Ext.data.JsonStore({data:jsondata,fields:["id","name","url"]});
            var cm = new Ext.grid.ColumnModel([{header:"名稱",dataIndex:"name",sortable:true},{header:"網址",dataIndex:"url",sortable:true,renderer:showUrl}]);
            //--
            var grid = new Ext.grid.GridPanel({
                title:"數據顯示",
                height:150,
                width:600,
                store:jsonstore,
                //--
                /*
                columns:[
                    {header:"名稱",dataIndex:"name",sortable:true},
                    {header:"網址",dataIndex:"url",sortable:true}
                ]*/
                cm:cm
                //--
               
            });
            //--
            grid.render("grid");
        });

 

Ext.data.XmlReader讀取xml數據

Ext.onReady(function(){
            var xmlreader = new Ext.data.XmlReader({record:"row"},["id","name","url"]);
            var xmldata = new Ext.data.Store({url:"mydata.xml",reader:xmlreader,});
            var colm = new Ext.grid.ColumnModel([{header:"名稱",dataIndex:"name"},{header:"網址",dataIndex:"url"}]);
            var grid = new Ext.grid.GridPanel({height:200,width:600,cm:colm,store:xmldata});
            grid.render("grid");
            xmldata.load();
        });

 

mydata.xml

<?xml version="1.0" encoding="GBK"?>
<data>
    <row>
        <id>1</id>
        <name>easyjf</name>
        <url>www.easyjf.com</url>
    </row>
    <row>
        <id>2</id>
        <name>job</name>
        <url>www.zh-rn.com</url>
    </row>
</data>

 

EditorGridPanel並且產生afteredit事件

    Ext.onReady(function(){
            var data = [{id:1,name:"子君1",sex:"男",birthdate:"1987-05-23"},{id:2,name:"子君2",sex:"男",birthdate:"1987-05-24"}];
            var jsondata = new Ext.data.JsonStore({data:data,fields:["id","name","sex","birthdate"]});;
            var colm = new Ext.grid.ColumnModel([
                {header:"ID",dataIndex:"id"},
                {header:"姓名",dataIndex:"name",editor:new Ext.form.TextField()},
                {header:"性別",dataIndex:"sex"},
                {header:"出生日期",dataIndex:"birthdate",renderer:Ext.util.Format.dateRenderer("Y年m月d日"),
                    editor:new Ext.form.DateField({format:"Y年m月d日"})
                }]);
            var egrid = new Ext.grid.EditorGridPanel({title:"可編輯GridPanel",height:200,width:500,
                store:jsondata,cm:colm,clicksToEdit:1
            });
            egrid.render("egrid");
            egrid.on("afteredit",afterEdit);
        });
        function afterEdit(obj)
        {
            var record = obj.record;
            var id = record.get("id");
            var name = record.get("name");
            var sex = record.get("sex");
            var birthdate = record.get("birthdate");
            alert(id + ","+name+","+sex+","+birthdate);
        }

發佈了34 篇原創文章 · 獲贊 0 · 訪問量 1328
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章