第二百二十四节,jQuery EasyUI,ComboGrid(数据表格下拉框)组件

jQuery EasyUI,ComboGrid(数据表格下拉框)组件

 

学习要点:

  1.加载方式

  2.属性列表

  3.方法列表

 

本节课重点了解 EasyUI 中 ComboGrid(数据表格下拉框)组件的使用方法,这个组件 依赖于 Combo(自定义下拉框)和 DataGrid(数据表格)组件。

 

一.加载方式

class 加载方式

<select id="box" class="easyui-combogrid" name="dept"
        style="width:250px;"
        data-options="
            panelWidth:450,
            value:'请选择一个值',
            idField:'id',
            textField:'user',
            url:'content.json',
            columns:[[
                {field:'user',title:'帐号',width:120},
                {field:'email',title:'邮箱',width:120},
                {field:'date',title:'创建时间',width:120},
            ]]
"></select>

JS 加载方式

<input id="box" name="user" value="请选择一个用户">

js

combogrid()将一个input元素执行数据表格下拉框组件

$(function () {
    $('#box').combogrid({
        panelWidth: 600,
        idField: 'id',
        textField: 'user',
        url: 'content.json',
        columns: [[
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
});

 

 

二.属性列表

注意:Combo(自定义下拉框)组件,用自定义下拉框的属性,方法,事件  DataGrid(数据表格)组件用数据表格的属性,方法,事件

loadMsg   string 在数据表格加载远程数据的时候显示消息。默认值为 null。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
});

 

idField   string ID 字段名称。默认值为 null。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
});

 

textField   string 要显示在文本框中的文本字段。默认值为null。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
});

 

mode   string定义在文本改变的时候如何读取数据网格数据。设置为'remote',数据表格将从远程服务器加载数据。当设置'emote'模式的时候,用户输入将会发送到名为'q'的 http 请求参数,向服务器检索新的数据。默认值为 local

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        mode:'remote',
        // filter: function (q, row) {
        //     var opts = $(this).combogrid('options');
        //     return row[opts.textField].indexOf(q) >= 0;
        // },
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
});

 

filter   function(q, row)定义在'mode'设置为'local'的时候如何选择本地数据,返回 true 时则选择该行。

 

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        // mode:'remote',
        filter: function (q, row) {
            var opts = $(this).combogrid('options');
            return row[opts.textField].indexOf(q) >= 0;
        },
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
});

 

 

 

三,事件

PS:数据表格下拉框事件完全扩展自 combo(自定义下拉框)和 datagrid(数据表格)。

 

 

四,方法列表

options   none 返回属性对象。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
    alert($('#box').combogrid('options'));      //返回属性对象
});

 


grid   none 返回数据表格对象。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
    var dxang = $('#box').combogrid('grid');      //返回数据表格对象
    $.each(dxang, function (attr, value) {        //遍历 JavaScript 原生态的对象数组
        alert(attr + ':' + value);
    });
});

 


setValues   values 设置组件值数组。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
    $('#box').combogrid('setValues',[1,2,3]);      //设置组件值数组
});

 


setValue   value 设置组件值。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
    $('#box').combogrid('setValue',2222);      //设置组件值
});

 


clear   none 清除组件的值。

$(function () {
    $('#box').combogrid({
        panelWidth: 600,            //数据表格宽度
        idField: 'id',              //设置value值,一般设置数据库字段
        textField: 'user',          //显示在文本框中的文本字段
        url: 'content.json',        //远程加载数据地址
        loadMsg:'数据加载中',
        columns: [[                 //表格数据字段
            {
                field: 'id',
                title: '编号',
                width: 120,
            },
            {
                field: 'user',
                title: '帐号',
                width: 120,
            },
            {
                field: 'email',
                title: '邮箱',
                width: 120,
            },
            {
                field: 'date',
                title: '创建时间',
                width: 120,
            }
        ]]
    });
    $('#box').combogrid('clear');      //清除组件的值
});

 

posted @ 2017-04-15 19:41  林贵秀  阅读(1413)  评论(0编辑  收藏  举报