虚表 —— 用鼠标拖动行
import win.ui; import godking.vlistEx; /*DSG{{*/ mainForm = win.form(text="vlistEx - table adapter";right=849;bottom=578) mainForm.add( vlist={cls="vlistEx";left=10;top=10;right=840;bottom=570;db=1;dl=1;dr=1;dt=1;edge=1;transparent=1;z=1} ) /*}}*/ var t = { fields={"序号","我的姓名","年龄","地址","身份证"} }; for(i=1;1000;1){ var tt={}; tt["序号"]="[@rowindex]"; // 行序号标记是不允许编辑修改的 tt["我的姓名"]=math.random(1000,9999)+"姓名"; tt["年龄"]=math.random(10,99); tt["地址"]=math.random(1,9999999)+"这里是超长文本地址"; tt["身份证"]=math.random(1000,9999)+"身份证"; ..table.push(t,tt); } mainForm.vlist.setTable(t,,,1); mainForm.vlist.onDragRow = true; mainForm.show(); win.loopMessage();
import win.ui; import godking.vlistEx; /*DSG{{*/ mainForm = win.form(text="vlistEx - table adapter";right=849;bottom=578) mainForm.add( vlist={cls="vlistEx";left=10;top=10;right=840;bottom=570;db=1;dl=1;dr=1;dt=1;edge=1;transparent=1;z=1} ) /*}}*/ var t = { fields={"序号","我的姓名","年龄","地址","身份证"} }; for(i=1;1000;1){ var tt={}; tt["序号"]="[@rowindex]"; // 行序号标记是不允许编辑修改的 tt["我的姓名"]=math.random(1000,9999)+"姓名"; tt["年龄"]=math.random(10,99); tt["地址"]=math.random(1,9999999)+"这里是超长文本地址"; tt["身份证"]=math.random(1000,9999)+"身份证"; ..table.push(t,tt); } mainForm.vlist.setTable(t,,,1); mainForm.vlist.onDragRow = function(draglist/*要拖动的行号数组*/,dragtorow/*拖到的目标行号*/){ /*鼠标拖动行。返回true允许拖动,否则禁止拖动。可以使用 dragRow 开头的相关属性进行设置。 1、可以按住 shift 或 ctrl 同时选择多个项目。 2、多个项目拖动后将按索引顺序连续排列。 3、先选择项目,再在选择的项目上按住鼠标左键拖动即可。 4、只能拖动到第一个选择项的前面,或最后一个选择项的后面。 */ return mainForm.msgbox("确定要拖动吗?",,1/*_MB_OKCANCEL*/)===1; } mainForm.show(); win.loopMessage();