TableViewItemTag itemTag = {groupIndex, itemIndex};
_TableViewItem *pItem = FindItem(itemTag);
+
+ TableViewItemTag topDrawnItemTag = {-1, -1};
+ GetTopDrawnItem(topDrawnItemTag);
+
+ TableViewItemTag bottomDrawnItemTag = {-1, -1};
+ GetBottomDrawnItem(bottomDrawnItemTag);
+
if (pItem != null)
{
- pItem->SetCheckedAnimationEnabled(checked);
+ if (((itemTag.groupIndex == topDrawnItemTag.groupIndex && itemTag.itemIndex >= topDrawnItemTag.itemIndex)
+ || itemTag.groupIndex > topDrawnItemTag.groupIndex) &&
+ ((itemTag.groupIndex == bottomDrawnItemTag.groupIndex && itemTag.itemIndex <= bottomDrawnItemTag.itemIndex)
+ || itemTag.groupIndex < bottomDrawnItemTag.groupIndex))
+ {
+ pItem->SetCheckedAnimationEnabled(checked);
+ }
}
result r = __pListModel->SetItemChecked(groupIndex, itemIndex, checked);