HT for Web学习笔记(1) 数据模型

在初始化函数中new一个DataModel,作为数据容器:

datamodel = new ht.DataModel();
datamodel.add(data, index);//每个data需要通过add函数加入容器中,index一般不需要
datamodel.remove(data);//移除data
datamodel.clear();//清空
datamodel.size();//返回容器中的data数量
datamodel.getDataById(id);//在容器中根据id找data,删除remove同理
datamodel.getDataByTag(tag);//在容器中根据tag找data,删除remove同理
//=========================================================================================
each(func, scope);遍历所有Data对象
getDatas();

addDataPropertyChangeListener(function(e){}, scope);//增加模型中Data数据属性变化事件监听器,简写md(func, scope);
/*
    e.data代表属性变化的对象
    e.property代表变化属性的名字
    e.newValue代表属性的新值
    e.oldValue代表属性的老值
Data对象在设置属性值函数内调用firePropertyChange(property, oldValue, newValue)触发属性变化事件:
    get/set类型属性,如setAge(98)触发事件的e.property为age
    style类型属性名前加s:前缀以区分,如setStyle('age', 98)触发事件的e.property为s:age
    attr类型属性名前加a:前缀以区分,如setAttr('age', 98)触发事件的e.property为a:age
*/

 每个数据通过new ht.Data()生成,然后通过常用函数设置属性:

var data = new ht.Data();//新建Data,以下所有set都有对应的get函数,用于获取数据
data.setTag('sometag');
data.setName('somename');
data.setIcon('image name');//通过ht.Default.setImage('image name', 'path');设置
data.setParent(dataname);//注意此处不用字符串,是变量名
data.setToolTip('some tool tip');
data.setAttr(name, value);//简写a(name, value或json);
data.onAttrChanged(name, oldValue, newValue);//attr属性变化时调用,可重载自定义

每个DataModel对象都内置一个SelectionModel选择模型,控制它即可控制所有绑定该DataModel的组件的对象选择状态。有两种途径可以得到SelectionModel:

dataModel.getSelectionModel();//获取数据容器中组件共享的选中模型
view.getSelectionModel();//获取当前组件使用的选中模型

SelectionModel常用函数:

setSelectionMode(selectionMode);//设置选中模式
/*
    none: 不可选中
    single: 只可单选
    multiple: 默认值,允许多选
*/
addSelectionChangeListener(function(e){}, scope
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值