ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>91麻豆精品一区二区三区,日韩五码电影,在线观看欧美wwwhttp://www.aygfsteel.com/heyang/category/53318.html为实现完¾ŸŽè€Œè¿›è¡ŒæŽ¢ç´?zh-cnMon, 18 Feb 2013 09:13:32 GMTMon, 18 Feb 2013 09:13:32 GMT60[转]dojo使用ž®ç»“http://www.aygfsteel.com/heyang/archive/2013/02/18/395378.html何杨何杨Mon, 18 Feb 2013 09:09:00 GMThttp://www.aygfsteel.com/heyang/archive/2013/02/18/395378.htmlhttp://www.aygfsteel.com/heyang/comments/395378.htmlhttp://www.aygfsteel.com/heyang/archive/2013/02/18/395378.html#Feedback0http://www.aygfsteel.com/heyang/comments/commentRss/395378.htmlhttp://www.aygfsteel.com/heyang/services/trackbacks/395378.htmlhttp://www.cnblogs.com/evilyang/archive/2012/02/17/2355218.html

一、ä‹É用场æ™?/p>

   服务端获得的DataTable转化为Json格式后传递给客户端dojo,dojož®†json数据直接¾l‘定在dojox.grid.DataGridä¸?br />

二、基本用�/p>

1.客户端页面DataToJson.aspx˜q”回一个Json数据

复制代码
    private void Json()
    {
        DataTable dt = this.GetData();
        string str = JsonHelper.DateTableToJson(dt);
        Response.Write(str);
        Response.End();
    }
复制代码
 2.利用ajax接受json数据

dojox.grid.DataGrid凭借dojo.data.ItemFileWriteStore可以è½ÀL¾å…ähœ‰ajax功能

使用dojo.grid.DataGrid首先做如下准备工�br />

a.引入样式�/p>

<link rel="Stylesheet" href="dojo-re/dojox/grid/resources/soriaGrid.css" />
b.引入所需�br />
dojo.require("dojo.parser");
dojo.require("dijit.form.Button"); 
dojo.require("dojox.grid.DataGrid");

dojo.require("dojo.data.ItemFileWriteStore");

dojo.require("dojox.layout.FloatingPane");
c.¾~–写代码
复制代码
<script type="text/javascript">
        function Grid1() {
            var data = new dojo.data.ItemFileWriteStore({
                url: "DataToJson.aspx"
            });
            var structure = [
                { name: "用户å?, field: "userName", width: "120px" },
                { name: "密码", field: "userPwd", width: "120px" },
                { name: "电子邮äšg", field: "email", width: "150px;" },
                { name: "博客", field: "blog", width: "150px" },
                { name: "生日", field: "birthday", width: "120px" },
                { name: "òq´é¾„", field: "age", width: "80px" },
                { name: "备注", field: "description", width: "120px" }
            ];
            var grid = new dojox.grid.DataGrid({
            store: data,
            structure:structure
            },"grid1");
            grid.startup();
        }
        function ShowFloatingPane() {
            var floatingPane = dijit.byId("dFloatingPane");
            floatingPane.show();
            Grid1();
        }
    </script>
复制代码

 æ‰€éœ€HTML

复制代码
   <div >
        <div data-dojo-type="dojox.layout.FloatingPane" id="dFloatingPane"
           title
="A floating pane" data-dojo-props="resizable:true, dockable:true, title:'A floating pane'"
           style
="position:absolute;top:150px;left:400px;width:600px;height:400px; visibility:hidden">
             <div id="grid1" style="width:450px; height:350px"></div>
        </div>
    </div>
<div data-dojo-type="dijit.form.Button" data-dojo-props="label:'Show me', onClick:ShowFloatingPane"></div>
 
复制代码

 d.˜qè¡Œ¾l“果如下åQ?/p>

 

 ä¸‰ã€ç‘ô¾l­å®Œå–„DataGrid功能

1,增加搜烦条äšg

query:{userName:"evilyang",id:"*"},

 2,隐藏一列,不显½C?/p>

 {name:"密码",field:"userPwd",width:"100px",hidden:"true"}

3,为某一列增加一个样式名

 <style type="text/css">
    .name{ font-style:italic; font-size:14px; color:Red;}
    </style>
{ name: "用户�, field: "userName", width: "120px" ,classes:"name"}
 4åQŒäؓ某一列直接增加一个样å¼?div>{ name: "电子邮äšg", field: "email", width: "150px;",styles:"text-align:center;" },
5,固定前两åˆ?p>更改structure¾l“æž„åQŒåŠ å…¥noscroll属æ€?/p>
复制代码
var structure = [{
                noscroll: true,
                cells: [
                { name: "用户å?, field: "userName", width: "80px", classes: "name" },
                { name: "密码", field: "userPwd", width: "80px", hidden: "true" },
                { name: "电子邮äšg", field: "email", width: "150px;", styles: "text-align:center;" }    
                ]
            }, {
                cells: [
                { name: "博客", field: "blog", width: "120px" },
                { name: "生日", field: "birthday", width: "120px" },
                { name: "òq´é¾„", field: "age", width: "50px" },
                { name: "备注", field: "description", width: "120px" }
                ]
            }];
复制代码

 6,cell中的样式讄¡½®é»˜è®¤æ¨¡å¼

defaultCell:{width:"80px",styles:"text-align:center;"},
 ˜q™æ ·è®„¡½®å®ŒåŽåQŒæ¯ä¸€åˆ—的属性就不必单独讄¡½®äº?p>7åQ?其他属æ€?br />

selectionMode: "extended", //none,single,multiple
loadingMessage: "è¯ïL­‰å¾…,数据正在加蝲ä¸?.....",
 errorMessage: "å¯¹ä¸èµøP¼Œä½ çš„è¯äh±‚发生错误!",
 columnReordering:true//此属性设¾|®äØ“true,可以拖拽标题栏,更换列顺åº?/div>

new dojox.grid.cells.RowIndex({ name: "¾~–号", width: "20px" })//加入自编å?/p>

四、数据显½Cºé«˜¾U§åŠŸèƒ?/p>

1, RowClick事äšg

复制代码
grid.on("RowClick", function(evt) {
                var idx = evt.rowIndex,
                    item = this.getItem(idx),
                    store = this.store;
                    content = dojo.byId("content");
                    content.innerHTML="you have clicked on rows " + store.getValue(item, "id");
          }, true);
复制代码

 2,SelectionChanged事äšg

复制代码
grid.on("SelectionChanged",dojo.hitch(grid, reportSelection), true);
function reportSelection() {
            var items = this.selection.getSelected(),
                        msg = "你选择了以下数æ?;
            var tmp = dojo.map(items, function(item) {
                return this.store.getValue(item, "id");
            }, this);
            var content = dojo.byId("content");
            content.innerHTML = msg + tmp.join(",");
           
        }
复制代码

五、显½Cºæ•ˆæžœå¦‚下图åQ?/p>




何杨 2013-02-18 17:09 发表评论
]]>
Ö÷Õ¾Ö©Öë³ØÄ£°å£º ¶«ÀöÇø| ÁÙÒØÏØ| ¼ªÁÖÊ¡| ÐÂÏçÊÐ| ·ïÉ½ÏØ| Èð°²ÊÐ| ºÚÉ½ÏØ| ǧÑôÏØ| ·±ÖÅÏØ| ¹ðÑôÏØ| Àײ¨ÏØ| ¶«ÖÁÏØ| ½­Î÷Ê¡| ÖÜÄþÏØ| ͬ½­ÊÐ| ·¨¿âÏØ| ·ÊÏçÏØ| Í©ÏçÊÐ| ÍÍÃÅÇø| ÂåÔúÏØ| ÄÚ½­ÊÐ| Ô¶°²ÏØ| Äþ½òÏØ| »´±õÏØ| ¸ÊÄÏÏØ| ͨÁÉÊÐ| ¼âÔúÏØ| ÌìµÈÏØ| ³±ÖÝÊÐ| ÔúÂ³ÌØÆì| °×ºÓÏØ| »³ÈáÇø| Öî³ÇÊÐ| ÁÖÎ÷ÏØ| ÎäѨÊÐ| ƽÄÏÏØ| Â¡Ò¢ÏØ| ¹àÄÏÏØ| ÕÄÖÝÊÐ| ãôºéÏØ| ±õÖÝÊÐ|