新版虛表內置了名稱為?DefaultCheckedImg 和 DefaultUnCheckedImg?的兩張圖片,分別為 【選擇框勾選狀態默認圖片】 和 【選擇框未勾選狀態默認圖片】
以下代碼調用了這兩張圖片,所以請將虛表庫升級為最新版。
如果使用舊版庫,可以自行添加這兩張圖片,代碼相同。
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=568;db=1;dl=1;dr=1;dt=1;edge=1;transparent=1;z=1}
)
/*}}*/// 填充數據
var t = { fields={"序號","姓名","年齡","地址","身份證"} };
for(i=1;100;1){var tt={};tt["序號"]="[@rowindex]"; // 行序號標記是不允許編輯修改的tt["姓名"]=math.random(1000,9999)+"姓名";tt["年齡"]=math.random(10,99);tt["地址"]=math.random(1000,9999)+"地址";tt["身份證"]=math.random(1000,9999)+"身份證";..table.push(t,tt);
}
mainForm.vlist.setTable(t,{"<img name='DefaultUnCheckedImg',w=14,h=14> 序號","姓名","年齡","地址","身份證"},{80,100,100,100,200},0x2);
mainForm.vlist.checkBox.show = true;
mainForm.vlist.setHeaderHeight(50);
mainForm.vlist.headerAlign = 1;
mainForm.vlist.fillParent();// 自定義排序符號
mainForm.vlist.setSortMark(" ↓" /*升序符號*/," ↑" /*降序符號*/,"" /*默認符號*/)// 點擊表頭全選、排序
var checkedall = false ;
mainForm.vlist.onSortColumn = function(col,desc){/*點擊列標題進行排序。col:列號,從1開始。desc:是否倒序。返回false則禁止排序*/if col===1 {checkedall = !checkedall;var text = checkedall?"<img name='DefaultCheckedImg',w=14,h=14> 序號":"<img name='DefaultUnCheckedImg',w=14,h=14> 序號"mainForm.vlist.setChecked(,checkedall/*勾選狀態*/);mainForm.vlist.setColumnText(1,text);return false; } else {owner.sort( col, desc, 0 /*數據轉換:0默認 1時間 2數值 3文本*/ ,false /*使用微軟api進行文本排序*/ );}
}mainForm.show();
win.loopMessage();