netegg 发表于 2014-11-28 12:07:56

If $iSubItem = 0 Then这段去掉就完了,子项是从1开始计数的,0是主项那列

netegg 发表于 2014-11-28 12:17:26

不对$I是什么,没见到定义啊

kk_lee69 发表于 2014-11-28 13:00:38

回复 17# netegg

$aTemp = _arrayfindall($aShowdata, '爺爺10')
for $i in $aTemp

您的回覆

$aTemp 理面 空白與0 都會被判斷成一樣的
造成第0筆 永遠有效

所以我 多加了一個判斷   $I <> ""但是   這樣 0也被鎖掉了

netegg 发表于 2014-11-28 13:19:02

回复 18# kk_lee69
不对呀,$aTemp返回的是所有索引,不牵扯0和''的关系

kk_lee69 发表于 2014-11-28 13:28:13

回复 19# netegg

有兩個地方會有關係
1. 我自己語法的問題 因為我用 DIM $aTemp去宣告 然後 使用 _ArrayAdd 去增加所引的資料
    因此   $aTemp就會是 ''   ,這點沒問題我改方法可以解決這個問題,但是 下面的問題卻是無解

2. 就是 當 LISTVIEW 開始 繪製 成形 的過程中,其實 觸發 很多次的$NM_CUSTOMDRAW
    在這個時候 其實 $aTemp 理面的資料 還沒有比對好還沒寫入,所以 for $i in $aTemp 都是空白
   而根據 這樣的邏輯空白 的判斷 會等同 0 因此 造成第0筆資料 永遠會變色

netegg 发表于 2014-11-28 13:37:59

这还不好说,do...until

kk_lee69 发表于 2014-11-28 16:52:07

回复 21# netegg

老實說 這句話看不太懂~~ 為何上面的解法是使用 DO UNTIL ??

netegg 发表于 2014-11-28 17:57:11

毕竟你需要一个终止位置,而且又不确定,索性让程序自己去做判断,没必要人为干预

netegg 发表于 2014-11-28 17:58:17

while 。。。 wend也行,但是要多判断一回,没必要

netegg 发表于 2014-11-28 18:00:33

不过还是看你的要求,我没看到实际的东西,只是从你的代码里和话里的猜测,未必对

netegg 发表于 2014-12-3 11:01:57

回复 15# kk_lee69
这个问题用binary($I)判断
页: 1 [2]
查看完整版本: 改变指定 ListView 项目的字体颜色