参数必须指定一个 listview 控件对象。
返回一个可编辑单元格的列表视图对象,返回对象继承了 listview 控件的所有属性与方法。
鼠标左键单击单元格、或者按空格键开始编辑,
按回车完成编辑,ESC 键撤消编辑,回车+上下方向键快速移动到其他项,
用户完成编辑后会触发onEditChanged事件.
编辑器启用自动完成功能(用户自定义列表),返回 com.autoComplete 对象。
参数 @strings 使用一个字符串数组自定义自动完成列表的数据。
必须提前导入 com.autoComplete 库才能使用此函数。
切换到编辑状态
清空所有行
清空所有行,并且清空所有列
列总数
读取或设置所有的列。
值为由所有列配置信息的数组,每个列的配置也是一个数组。
表示单个列的数组格式为 [标题,列宽,对齐格式],
写入列配置时对齐格式可省略。
删除指定列
for itemIndex in winUiGridObject.each(){
/*遍历所有项*/
}
for item,value in winUiGridObject.eachSelected(){
/*从后向前倒序遍历所有选中项,
迭代变量 item 为选中项目的行号。
迭代变量 value 为 @col 参数所指定列的文本值
@col 参数省略则默认为1。
也可以使用 listview 控件的 selected 属性直接返回所有已选中的行号。*/
}
实现编辑功能的edit控件
此功能需要扩展listview并实现了编辑功能的的控件才能支持
取指定列文本
获取指定行绑定的数据。
可用 setItemData 方法绑定数据到指定行。
setTable 方法也会自动绑定源数据表。
返回指定项指定列文本,列默认值为1,
如果列指定为-1,则返回一个包含所有列文本的数组,
缓冲区最大字符数默认为520,
不指定行序号则默认取当前选中焦点行,
不指定列则默认设为 1
指定项是否选中状态
返回数据表。
如果参数 @1 指定列名数组(被复制为返回表的 fields 字段),
则返回的每行数据都是名值对,否则返回的每行数据都是文本数组。
如果参数 @1 为 true,则返回的文本数组第一行为列标题文本数组。
winUiGridObject.onCheckedChanged = function(checked,item){
/*勾选状态变更触发此事件。
checked 为是否勾选,item 为变更项序号*/
}
winUiGridObject.onClick = functionitem,subItem,nmListView){
/*左键单击项目触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
winUiGridObject.onDoubleClick = function(item,subItem,nmListView){
/*左键双击项目触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
winUiGridObject.onEditBegin = function(iItem,iSubItem){
/*列表项切换到编辑框模式*/
}
winUiGridObject.onEditChanged = function(text,iItem,iSubItem){
/*编辑框文本已变更(并已隐藏),
正在准备更新列表项,返回 false 可阻止将编辑框文本更新到列表项中。
text 为改变后的文本,iItem 为行号,iSubItem 为列号
此功能需要扩展 listview 并实现了编辑功能的的控件才能支持*/
}
winUiGridObject.onEditChanged = function(iItem,iSubItem){
/*列表项已完成编辑,此事件在 onEditChanged 后触发。
如果 onEditChanged 事件返回 false(阻止了更新),则会跳过 onEditEnd 事件。*/
}
winUiGridObject.onFocusedChanged = function(item,subItem,nmListView){
/*焦点项变更触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
winUiGridObject.onGetDispItem = function(item,row,col){
/*处理 _LVN_GETDISPINFOW 通知消息
参数 @item 为 LVITEM 结构体,@row 为当前行号,@col 为当前列号,
返回 item 或包含 item 部分字段则更新 LVITEM 结构体*/
return {text="要显示的文本"};
}
winUiGridObject.onItemChanged = function(item,subItem,nmListView){
/*项目变更触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
winUiGridObject.onRightClick = function(item,subItem,nmListView){
/*右键点击项目触发此事件。
item 为变更为焦点的项序号,subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
winUiGridObject.onSelChanged = function(selected,item,subItem,nmListView){
/*选中项更触发此事件。
selected 为是否选中,item 为变更项序号,
subItem 为列序号,nmListView 为 NMLISTVIEW 结构体*/
}
winUiGridObject.onSortColumn = function(column,desc){
/*点击列排序时回调此函数
@column参数为列序号,1为首列,@desc参数指定是否倒序
返回true排序,否则不排序*/
return true;
}
获取或设置所有选中项,这是包含所有选中的项目行索引的数组。
设为 null 或空表清除所有选中项。
也可以使用 eachSelected 方法创建迭代器并且 for in 循环遍历所有选中项。
发送 WM_NOTIFY 消息。
参数 @code 指定 _LVN 前缀的通知代码。
参数 @row 指定行号,起始行为 1,0 表示列标题。
参数 @col 指定列号,起始列为 1。
改变列宽,参数@1必须是个表对象
参数一指定 wLVCOLUMN 结构体成员键值的参数表,
也可以是LVCOLUMN结构体对象,自动设置掩码参数.
设置指定列文本
设置列宽,可指定一个或多个列序号。
这里不能指定宽度为 -1 。
用一个字符串数组指定要显示的列
如果参数为空则清空所有列
绑定数据到指定行。
数据仅与行号关联,与具体的列表项无关。
删除或改变列表项不会修改绑定的数据表。
但清空控件,设置 items 属性都会清除关联的数据表,
调用 setTable 方法也会绑定新的源数据表。
设置项目指定列文本,
参数一也可是指定多列文本的数组
设置的文本如果不是指针或空值则自动转换为字符串,
不指定行序号则默认取当前选中焦点行,
不指定列则默认设为1
可以使用一个或多个参数指定要禁止编辑的列序号,
也可以用一个数组参数指定多个列序号。
如果参数为 -1,则禁止编辑所有列
选中项,注意是选中列表项而不是勾选复选框
取消选中项,注意是选中而不是勾选复选框
用 listview 控件显示数据表(包含名值对的对象或数组组成的数组)。
此函数会自动清空控件之前的所有项。
如果没有创建任何列,则自动创建标题列。
如果要重新创建列,请先调用 clear 函数并指定参数为 true 以清空原来的列。
参数 @dataTable 指定要加载的数据表。
数据表应当包含行组成的数组。
数据行可以是数组,也可以是名值,值用 tostring 转为文本显示。
可选通过数据表的 fields 字段指定要显示的索引数组(键名或索引数值)。
如果视图控件的标题列为空,则用显示键名(或数组值)创建标题列。
如果数据行为数组,第一行填充到标题列以后,默认从第二行加载数据。
可用 startIndex 属性或元属性自定义要加载的起始行。
可用 length 属性自定义要加载的行数,默认加载所有行。
sqlite,access,sqlServer 等数据库对象,
提供的 getTable 函数可获取通过 fields 字段指定列名数组的数据表。
排序指定列(触发排序回调函数 onSortColumn )。
参数 @col 指定列号,起始列为 1。
可选参数 @desc 指定是否倒序。