ok,可以了,感谢,贴一下供其他需要的朋友参考。
可以指定某行,列绑定,可以绑定下拉框不同内容,有点类型 属性表格。
佩服大师虚表的强大
import win.ui;
import godking.comboboxEx;
import godking.vlistEx;
/*DSG{{*/
mainForm = win.form(text="vListEX修改文字";right=607;bottom=319;border="thin")
mainForm.add(
listview={cls="vlistEx";left=16;top=24;right=304;bottom=304;acceptfiles=1;aw=1;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;vscroll=1;z=1};
vlistEx={cls="vlistEx";left=320;top=24;right=592;bottom=304;acceptfiles=1;aw=1;db=1;dl=1;dr=1;dt=1;edge=1;z=2}
)
/*}}*/
//======================= 创建虚表 =======================
mainForm.listview.setColumns({"序号序号序号","下拉列表框(双击下拉"})
mainForm.vlistEx.setColumns("下拉列表框(双击下拉)")
var t = { {"张三"}, {"李四"}, {"王五"}, {"SSS"}, {"AAA"}}
var tt = {
{"1","01"}
{"2","02"}
{"3","03"}
{"4","04"}
}
mainForm.listview.setTable(tt,false/*列标题*/,/*列宽*/,/*0左1中2右*/,/*字典转为数组*/,/*字符串转为Utf8*/,true/*是否克隆新表*/)
mainForm.vlistEx.setTable(t,false/*列标题*/,/*列宽*/,/*0左1中2右*/,/*字典转为数组*/,/*字符串转为Utf8*/,true/*是否克隆新表*/)
//======================= 功能演示 =======================
mainForm.listview.setColumnType(2, 1/*列,0,文本,1,下拉_vlistEx_ColType_ComboBox*/, true/*显示小箭头*/, 0xFF00FF/*箭头颜色*/ )
mainForm.listview.setComboBoxItems({"01", "02", "03", "08"}); //设置下拉列表项目
mainForm.listview.onEditBegin ={true,2}; // true; //允许编辑才能下拉
mainForm.listview.editOnClick = true; //单击编辑
mainForm.vlistEx.setColumnType(1, 1/*_vlistEx_ColType_ComboBox*/, true/*显示小箭头*/, 0xFF00FF/*箭头颜色*/ )
mainForm.vlistEx.setComboBoxItems({"张三", "李四", "王五", "SSS", "AAA"}); //设置下拉列表项目
mainForm.vlistEx.onEditBegin = true; //允许编辑才能下拉
mainForm.vlistEx.editOnClick = true; //单击编辑
mainForm.listview.onComboBoxDropDown = function(comboBox,row,col){
/*下拉列表框即将弹出。参数:下拉列表框或高级下拉框组件、虚表行号、虚表列号*/
if row ===2 {
items ={"01", "02", "03", "04", "08"}
}
if row ===3 {
items ={"8F", "9F", "2F", "00", "01"}
}
owner.setComboBoxItems(items,0/*可见项数量*/,null/*图片组*/);
}
//======================= 下拉框筛选功能演示 =======================
mainForm.listview.comboboxFilter = function(row,col,text){
/*** 下拉框单元格筛选函数。返回值:
1、true:以【下拉框】模式进行编辑;
2、0: 转为以【编辑框】模式编辑;/*_vlistEx_ColType_Text*/
3、false或null:禁止编辑;
***/
if row =1 or row =4 {
return 0 //..string.find(text,":"):0; //有汉字的下拉框,没汉字的编辑框。
}
if row === 2 or row === 3{
return row
}
}
mainForm.vlistEx.comboboxFilter = function(row,col,text){
/*** 下拉框单元格筛选函数。返回值:
1、true:以【下拉框】模式进行编辑;
2、0: 转为以【编辑框】模式编辑;/*_vlistEx_ColType_Text*/
3、false或null:禁止编辑;
***/
return row%2:false;//奇数行下拉框,偶数行禁止编辑。
}
mainForm.show();
win.loopMessage();