Clistview 是否应该加入 Islastitem 的判断?

查了下文档和网上的资料,貌似这种情况没办法干净的解决。

比如,

我想展示一个列表:

  1. 每三个元素(item)一行.

  2. 同一行中的元素等高.

  3. 最后一行可能不满三个元素(item)

在itemView中我是这样写的,但是最后一行不知道怎么处理:




<?php

if($index == 0){

echo "<div>";

} elseif($index%3 == 0) {

echo "</div><div>";

}

?>

item 具体内容

<?php 

if(是最后一个元素) {//怎样知道已经到达最后一个item了呢?

echo '</div>';

}

?>



研究出了解决方案:




<?php

if($index == 0){

echo "<div>";

} elseif($index%3 == 0) {

echo "</div><div>";

}

?>

item 具体内容

<?php 

if($widget->dataProvider->getItemCount()-1 == $index) {//<-- 这样好了.

echo '</div>';

}

?>



这种布局的事由css来做比较好, php只管理输出<div class="span-5 demo">…</div>

当三个float的div超过一行时,自然会往下排.

这样试过,但是每个 item 的高度不能确定,float 会让好多 item 挤在一起。

只有用 div 约束一下才能达到效果,呵呵。