private static void SetItemText(string strText, LviUpdInfo lui)
{
try // Avoid cross-thread exceptions
{
long lTargetID = lui.ListItem.ListViewItemID;
int iIndexHint = lui.IndexHint;
lock(lui.ListEditSyncObject)
{
ListView.ListViewItemCollection lvic = lui.ListView.Items;
int nCount = lvic.Count;
// for(int i = 0; i < nCount; ++i)
for(int i = nCount; i > 0; --i)
{
int j = ((iIndexHint + i) % nCount);
ListViewItem lvi = lvic[j];
PwListItem li = (lvi.Tag as PwListItem);
if(li == null) { Debug.Assert(false); continue; }
if(li.ListViewItemID != lTargetID) continue;
lvi.SubItems[lui.SubItem].Text = strText;
break;
}
}
}
catch(Exception) { Debug.Assert(false); }
}