Javascript 如何创建增强的网格

Javascript 如何创建增强的网格,javascript,dojo,dojo.gridx,Javascript,Dojo,Dojo.gridx,我不熟悉dojo。我使用的是1.10版本。我想创建一个增强网格的独立示例 我正在使用下面的代码,其中使用了插件过滤器 <!DOCTYPE html> <html > <head> <style type="text/css"> <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/claro.css" media=

我不熟悉dojo。我使用的是1.10版本。我想创建一个增强网格的独立示例

我正在使用下面的代码,其中使用了插件过滤器

<!DOCTYPE html>
<html >
<head>
<style type="text/css">
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/claro.css" media="screen">
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.1/dijit/themes/claro/claro.css"/‌​> 
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/resources/dojo.css"> 
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/tundra/tundra.css">
<link rel="stylesheet" href="grid/enhanced/resources/EnhancedGrid.css" media="screen">
<link rel="stylesheet" href="grid/enhanced/resources/EnhancedGrid_rtl.css" />
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojox/grid/resources/claroGrid.css" />
/*Grid need a explicit width/height by default*/
#grid {
    width: 45em;
    height: 20em;
}
</style>
    <script>dojoConfig = {parseOnLoad: true}</script>
  <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.10.1/dojo/dojo.js"></script>

    <script>
dojo.require("dojox.grid.EnhancedGrid");
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dojox.grid.enhanced.plugins.Filter");

dojo.ready(function(){
    /*set up data store*/
   var data = {
    identifier: 'id',
    label: 'id',
    items: []
};
var data_list = [
    {"Heard": true, "Checked": "True", "Genre":"Easy Listening", "Artist":"Bette Midler", "Year":2003, "Album":"Bette Midler Sings the Rosemary Clooney Songbook", "Name":"Hey There", "Length":"03:31", "Track":4, "Composer":"Ross, Jerry 1926-1956 -w Adler, Richard 1921-", "Download Date":"1923/4/9", "Last Played":"04:32:49"},
    {"Heard": true, "Checked": "True", "Genre":"Classic Rock", "Artist":"Jimi Hendrix", "Year":1993, "Album":"Are You Experienced", "Name":"Love Or Confusion", "Length":"03:15", "Track":4, "Composer":"Jimi Hendrix", "Download Date":"1947/12/6", "Last Played":"03:47:49"},
    {"Heard": true, "Checked": "True", "Genre":"Jazz", "Artist":"Andy Narell", "Year":1992, "Album":"Down the Road", "Name":"Sugar Street", "Length":"07:00", "Track":8, "Composer":"Andy Narell", "Download Date":"1906/3/22", "Last Played":"21:56:15"},
    {"Heard": true, "Checked": "True", "Genre":"Progressive Rock", "Artist":"Emerson, Lake & Palmer", "Year":1992, "Album":"The Atlantic Years", "Name":"Tarkus", "Length":"20:40", "Track":5, "Composer":"Greg Lake/Keith Emerson", "Download Date":"1994/11/29", "Last Played":"03:25:19"},
    {"Heard": true, "Checked": "True", "Genre":"Rock", "Artist":"Blood, Sweat & Tears", "Year":1968, "Album":"Child Is Father To The Man", "Name":"Somethin' Goin' On", "Length":"08:00", "Track":9, "Composer":"", "Download Date":"1973/9/11", "Last Played":"19:49:41"},
    {"Heard": true, "Checked": "True", "Genre":"Jazz", "Artist":"Andy Narell", "Year":1989, "Album":"Little Secrets", "Name":"Armchair Psychology", "Length":"08:20", "Track":5, "Composer":"Andy Narell", "Download Date":"2010/4/15", "Last Played":"01:13:08"},
    {"Heard": true, "Checked": "True", "Genre":"Easy Listening", "Artist":"Frank Sinatra", "Year":1991, "Album":"Sinatra Reprise: The Very Good Years", "Name":"Luck Be A Lady", "Length":"05:16", "Track":4, "Composer":"F. Loesser", "Download Date":"2035/4/12", "Last Played":"06:16:53"},
    {"Heard": true, "Checked": "True", "Genre":"Progressive Rock", "Artist":"Dixie dregs", "Year":1977, "Album":"Free Fall", "Name":"Sleep", "Length":"01:58", "Track":6, "Composer":"Steve Morse", "Download Date":"2032/11/21", "Last Played":"08:23:26"},
    {"Heard": true, "Checked": "True", "Genre":"Classic Rock", "Artist":"Black Sabbath", "Year":2004, "Album":"Master of Reality", "Name":"Sweet Leaf", "Length":"05:04", "Track":1, "Composer":"Bill Ward/Geezer Butler/Ozzy Osbourne/Tony Iommi", "Download Date":"2036/5/26", "Last Played":"22:10:19"},
    {"Heard": true, "Checked": "True", "Genre":"Blues", "Artist":"Buddy Guy", "Year":1991, "Album":"Damn Right, I've Got The Blues", "Name":"Five Long Years", "Length":"08:27", "Track":3, "Composer":"Eddie Boyd/John Lee Hooker", "Download Date":"1904/4/4", "Last Played":"18:28:08"},
    {"Heard": true, "Checked": "True", "Genre":"Easy Listening", "Artist":"Frank Sinatra", "Year":1991, "Album":"Sinatra Reprise: The Very Good Years", "Name":"The Way You Look Tonight", "Length":"03:23", "Track":5, "Composer":"D. Fields/J. Kern", "Download Date":"1902/10/12", "Last Played":"23:09:23"},
    {"Heard": true, "Checked": "True", "Genre":"World", "Artist":"Andy Statman & David Grisman", "Year":1995, "Album":"Songs Of Our Fathers", "Name":"Chassidic Medley: Adir Hu / Moshe Emes", "Length":"04:14", "Track":2, "Composer":"Shlomo Carlebach; Trad.", "Download Date":"2035/2/9", "Last Played":"00:11:15"},
    {"Heard": true, "Checked": "True", "Genre":"Classic Rock", "Artist":"Jimi Hendrix", "Year":1968, "Album":"Electric Ladyland", "Name":"Long Hot Summer Night", "Length":"03:27", "Track":6, "Composer":"Jimi Hendrix", "Download Date":"1902/4/7", "Last Played":"16:58:08"},
    {"Heard": true, "Checked": "True", "Genre":"Progressive Rock", "Artist":"Dixie dregs", "Year":1978, "Album":"What if", "Name":"What if", "Length":"05:02", "Track":3, "Composer":"Steve Morse", "Download Date":"1992/3/28", "Last Played":"00:22:30"}
];

var i, len;
for(i=0, len = data_list.length; i < len; ++i){
    data.items.push(dojo.mixin({'id': i + 1 }, data_list[i % len]));
}

var layout = [
    { field: "id", datatype:"number"},
    { field: "Genre", datatype:"string"},
    { field: "Artist", datatype:"string",
        // Declare that we need the ComboBox for suggestions (autoComplete by default)
        autoComplete: true
    },
    { field: "Album", datatype:"string",
        // Declare that we need the ComboBox for suggestions
        autoComplete: true,
        // Configure the ComboBox, so that it does not auto-complete our input
        dataTypeArgs: {
            autoComplete: false
        }
    },
    { field: "Name", datatype:"string",
        // Declare that we do not need the following conditions for this column
        disabledConditions: ["contains", "notcontains"]
    },
    { field: "Track", datatype:"number"},
    { field: "Download Date", datatype:"date",
        // Declare how the data in store should be parsed to a Date object.
        dataTypeArgs: {
            datePattern: "yyyy/M/d"
        }
    },
    { field: "Last Played", datatype:"time",
        // Declare how the data in store should be parsed to a Date object.
        dataTypeArgs: {
            timePattern: "HH:mm:ss"
        }
    }
];

// In case you've close the filter bar, here's a way to bring it up.
function showFilterBar(){
    dijit.byId('grid').showFilterBar(true);
}

dojo.ready(function(){

    var store = new dojo.data.ItemFileWriteStore({data: data});

    var grid = new dojox.grid.EnhancedGrid({
        id: 'grid',
        store: store,
        structure: layout,
        plugins: {
            filter: {
                // Show the closeFilterbarButton at the filter bar
                closeFilterbarButton: true,
                // Set the maximum rule count to 5
                ruleCount: 5,
                // Set the name of the items
                itemsName: "songs"
            }
        }
    });
    grid.placeAt('gridContainer');
    grid.startup();
});
});
    </script>
</head>
<body class="claro">
<div id="gridContainer" style="width: 100%; height: 400px;"></div>
<button onclick='showFilterBar()'>Show Filter Bar</button>
</body>
</html>

/*默认情况下,栅格需要显式的宽度/高度*/
#网格{
宽度:45em;
高度:20em;
}
dojoConfig={parseOnLoad:true}
require(“dojox.grid.EnhancedGrid”);
require(“dojo.data.ItemFileWriteStore”);
require(“dojox.grid.enhanced.plugins.Filter”);
ready(function()){
/*设置数据存储*/
风险值数据={
标识符:“id”,
标签:“id”,
项目:[]
};
变量数据列表=[
{“Hey There”,“Length:“03:31”,“Track:”4,“作曲家:“Ross,Jerry 1926-1956-w Adler,Richard 1921-”,“下载日期”:“1923/4/9”,“最后一次演奏”:“04:32:49”},
{“Heard”:true,“Checked”:“true”,“Genre”:“Classic Rock”,“Artist”:“Jimi Hendrix”,“Year”:1993,“专辑”:“You experience”,“Name”:“Love Or mission”,“Length”:“03:15”,“Track”:4,“Composer”:“Jimi Hendrix”,“下载日期”:“1947/12/6”,“Last play”:“03:47:49”},
{“Heard”:true,“Checked”:“true”,“Genre”:“Jazz”,“Artist”:“Andy Narell”,“Year”:1992,“专辑”:“Down the Road”,“Name”:“Sugar Street”,“Length”:“07:00”,“Track”:8,“作曲家”:“Andy Narell”,“下载日期”:“1906/3/22”,“最后一次演奏”:“21:56:15”},
{“Heard”:true,“Checked”:“true”,“流派”:“Progressive Rock”,“艺术家”:“Emerson,Lake&Palmer”,“Year”:1992,“专辑”:“The Atlantic Years”,“Name”:“Tarkus”,“Length”:“20:40”,“Track”:5,“作曲家”:“Greg Lake/Keith Emerson”,“下载日期”:“1994/11/29”,“Last Play”:“03:25:19”},
{“听说过”:真的,“核对过”:“真的”,“流派”:“摇滚”,“艺术家”:“热血,汗水和眼泪”,“年份”:1968年,“专辑”:“孩子是男人的父亲”,“名字”:“有什么事要做”,“长度”:“08:00”,“曲目”:9,“作曲家”:“下载日期”:“1973/9/11”,“最后一次播放”:“19:49:41”},
{“听说过”:是的,“核对过”:“是的”,“流派”:“爵士乐”,“艺术家”:“安迪·纳雷尔”,“年份”:1989年,“专辑”:“小秘密”,“名字”:“扶手椅心理学”,“长度”:“08:20”,“曲目”:5,“作曲家”:“安迪·纳雷尔”,“下载日期”:“2010/4/15”,“最后一次演奏”:“01:13:08”},
{“听说过”:真的,“核对过”:“真的”,“流派”:“轻松聆听”,“艺术家”:“弗兰克·西纳特拉”,“年份”:1991年,“专辑”:“西纳特拉重演:非常好的年份”,“名字”:“幸运女神”,“长度”:“05:16”,“曲目”:4,“作曲家”:“F.洛瑟”,“下载日期”:“2035/4/12”,“最后一次演奏”:“06:16:53”},
{“Heard”:true,“Checked”:“true”,“流派”:“Progressive Rock”,“艺术家”:“Dixie dregs”,“Year”:1977,“专辑”:“Free Fall”,“Name”:“Sleep”,“Length”:“01:58”,“Track”:6,“作曲家”:“Steve Morse”,“下载日期”:“2032/11/21”,“Last Played”:“08:23:26”},
{“听说过”:真的,“核对过”:“真的”,“流派”:“经典摇滚”,“艺术家”:“黑色安息日”,“年份”:2004,“专辑”:“现实大师”,“名字”:“甜叶”,“长度”:“05:04”,“曲目”:1,“作曲家”:“比尔·沃德/吉泽·巴特勒/奥兹·奥斯本/托尼·伊奥米”,“下载日期”:“2036/5/26”,“最后一次演奏”:“22:10:19”},
{“Heard”:true;Checked:“true”,“流派”:“Blues”,“艺术家”:“Buddy Guy”,“Year”:1991,“专辑”:“该死的对了,我得到了Blues”,“名字”:“五年”、“长度”:“08:27”,“曲目”:3,“作曲家”:“Eddie Boyd/John Lee Hooker”,“下载日期”:“1904/4/4”,“最后一次演奏”:“18:28:08”},
{“Heard”:true,“Checked”:“true”,“流派”:“Easy Learning”,“艺术家”:“Frank Sinatra”,“Year”:1991,“专辑”:“Sinatra Repisse:The Very Good Years”,“姓名”:“今晚的样子”,“长度”:“03:23”,“曲目”:5,“作曲家”:“D.Fields/J.Kern”,“下载日期”:“1902/10/12”,“上次播放”:“23:09:23”},
{“Heard”:true,“Checked”:“true”,“流派”:“World”,“Artist”:“Andy Statman&David Grisman”,“Year”:1995,“专辑”:“我们的父辈之歌”,“姓名”:“Chassidic混合泳:Adir Hu/Moshe Emes”,“长度”:“04:14”,“曲目”:2,“作曲家”:“Shlomo Carlebach;Trad.”,“下载日期”:“2035/2/9”,“最后一次演奏”:“00:11:15”},
{“Heard”:true,“Checked”:“true”,“流派”:“Classic Rock”,“艺术家”:“Jimi Hendrix”,“Year”:1968,“专辑”:“Electric Ladyland”,“姓名”:“漫长炎热的夏夜”,“长度”:“03:27”,“曲目”:6,“作曲家”:“Jimi Hendrix”,“下载日期”:“1902/4/7”,“最后一次播放”:“16:58:08”},
{“Heard”:true,“Checked”:“true”,“流派”:“Progressive Rock”,“艺术家”:“Dixie dregs”,“Year”:1978,“专辑”:“What if”,“Name”:“What if”,“Length”:“05:02”,“Track”:3,“作曲家”:“Steve Morse”,“下载日期”:“1992/3/28”,“上次演奏”:“00:22:30”}
];
变量i,len;
对于(i=0,len=data_list.length;i