使用须知
如何开始
安装
全局元素
样式重置
文字
颜色
徽章
提示框
表格
图标
栅格
原生组件
Panel
Accordion
Tabs
Layout
DataGrid
DataList
PropertyGrid
Tree
TreeGrid
LinkButton
Menu
MenuButton
SplitButton
SwitchButton
TabButton
Pagination
ProgressBar
SearchBox
Form
CheckBox
RadioBox
TextBox
PasswordBox
FileBox
TagBox
Combo
ComboBox
ComboGrid
ComboTree
ComboTreeGrid
ComboFilter
NumberBox
NumberSpinner
Calendar
DateBox
DateRangeBox
DateTimeBox
DateTimeRangeBox
TimeSpinner
DateTimeSpinner
Slider
ValidateBox
ImagesBox
Window
Dialog
Messager
Draggable
Droppable
Resizable
Tooltip
MaskedBox
扩展组件
头像
上传
时间轴
聊天
用户面板
消息面板
统计数据面板
Echart面板
圆形统计图
评论
相册
评分
文件
滚动条
二维码
条形码
天气
AT
编辑器
课程表
日程表
项目管理
客户管理
浏览器
FAQ
兼容插件
IconFont
Font Awesome
Ueditor
Ckeditor
Echarts
Plupload
Cropper
BaiduMap
AMap
Colpick
Nprogress
Gantt
GanttEditor
Raty
WebUploader
匿名
匿名 您还未登录

ComboTreeGrid

Document
Native
Basic
Multiple ComboTreeGrid
Plus
Extend

ComboGrid Document

扩展自$.fn.combo.defaults和$.fn.datagrid.defaults。使用$.fn.combogrid.defaults重写默认值对象。
数据表格下拉框结合了可编辑文本框控件和下拉数据表格面板控件,该控件允许用户快速查找和选择,并且该控件提供了键盘导航支持,对行进行筛选。

文档汉化:

汉化人:王锦阳
汉化语言:简体中文
个人博客:http://blog.sina.com.cn/richie696

依赖关系:

用法:

创建数据表格下拉框

1. 使用标签创建一个数据表格下拉框。

				
<select id="cc" class="easyui-combogrid" name="dept" style="width:250px;"   
        data-options="    
            panelWidth:450,    
            value:'006',    
            idField:'code',    
            textField:'name',    
            url:'datagrid_data.json',    
            columns:[[    
                {field:'code',title:'Code',width:60},    
                {field:'name',title:'Name',width:100},    
                {field:'addr',title:'Address',width:120},    
                {field:'col4',title:'Col41',width:100}    
            ]]    
        "></select>  
				
			

2. 使用Javascript通过已经定义的<select>或<input>标签来创建数据表格下拉框。

				
<input id="cc" name="dept" value="01" />  
<script type="text/javascript">
$('#cc').combogrid({    
    panelWidth:450,    
    value:'006',    
     
    idField:'code',    
    textField:'name',    
    url:'datagrid_data.json',    
    columns:[[    
        {field:'code',title:'Code',width:60},    
        {field:'name',title:'Name',width:100},    
        {field:'addr',title:'Address',width:120},    
        {field:'col4',title:'Col41',width:100}    
    ]]    
});  
</script>
				
			

自动完成功能

让我们为数据表格下拉框控件添加高级的自动完成功能。下拉数据表格会根据用户输入显示适合的结果。

				
<script type="text/javascript">
$('#cc').combogrid({    
    delay: 500,    
    mode: 'remote',    
    url: 'get_data.php',    
    idField: 'id',    
    textField: 'name',    
    columns: [[    
        {field:'code',title:'Code',width:120,sortable:true},    
        {field:'name',title:'Name',width:400,sortable:true}    
    ]]    
});  
</script>
				
			

在服务器端,参数'q'必须先检索。用户可以查询数据库,然后返回一个SQL查询结果的JSON格式给浏览器。
get_data.php:

$q = isset($_POST['q']) ? $_POST['q'] : '';  // the request parameter    
// query database and return JSON result data    
$rs = mysql_query("select * from item where name like '$q%'");    
echo json_encode(...);  

属性:

数据表格下拉框的属性扩展自combo(自定义下拉框)和datagrid(数据表格),树形下拉框新增属性如下:

属性名 属性值类型 描述 默认值
loadMsg string 在数据表格加载远程数据的时候显示消息。 null
idField string ID字段名称。 null
textField string 要显示在文本框中的文本字段。 null
mode string 定义在文本改变的时候如何读取数据网格数据。设置为'remote',数据表格将从远程服务器加载数据。
当设置为'remote'模式的时候,用户输入将会发送到名为'q'的http请求参数,向服务器检索新的数据。
local
filter function(q, row) 定义在'mode'设置为'local'的时候如何选择本地数据,返回true时则选择该行。

代码示例:
				
<script type="text/javascript">
$('#cc').combogrid({
  filter: function(q, row){a
    var opts = $(this).combogrid('options');
    return row[opts.textField].indexOf(q) == 0;
  }
});
</script>
				
			

事件:

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

方法:

数据表格下拉框的方法扩展自combo(自定义下拉框),数据表格下拉框新增或重写的方法如下:

方法名 方法属性 描述
options none 返回属性对象。
grid none 返回数据表格对象。下面的例子显示了如何获取选择的行:
				
<script type="text/javascript">
var g = $('#cc').combogrid('grid'); // 获取数据表格对象
var r = g.datagrid('getSelected');  // 获取选择的行
alert(r.name);
</script>
				
			
setValues values 设置组件值数组。

代码示例:
				
<script type="text/javascript">
$('#cc').combogrid('setValues', ['001','007']);
$('#cc').combogrid('setValues', ['001','007',{id:'008',name:'name008'}]);
</script>
				
			
setValue value 设置组件值。

代码示例:
				
<script type="text/javascript">
$('#cc').combogrid('setValue', '002');
$('#cc').combogrid('setValue', {id:'003',name:'name003'});
</script>
				
			
clear none 清除组件的值。