我用CListctrl 显示了两列内容,用finditem来查找。可以完成第一列数据的查找,可是我现在想按照第二列数据进行查找 请问该怎么做呢?
我按照第一列内容查找的代码是这样写的
LVFINDINFO info;
int nIndex;
info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = strKey(查找的内容);
if ((nIndex = m_list.FindItem(&info)) != -1){
m_list.SetItemState(nIndex, LVIS_FOCUSED|LVIS_SELECTED, LVIS_FOCUSED|LVIS_SELECTED);
m_list.EnsureVisible(nIndex, FALSE);
我按照第一列内容查找的代码是这样写的
LVFINDINFO info;
int nIndex;
info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = strKey(查找的内容);
if ((nIndex = m_list.FindItem(&info)) != -1){
m_list.SetItemState(nIndex, LVIS_FOCUSED|LVIS_SELECTED, LVIS_FOCUSED|LVIS_SELECTED);
m_list.EnsureVisible(nIndex, FALSE);
这个getitemtext在这里应该怎么用呢
可是我用finditem都是按照strkey在第一列的位置进行查找的,我现在需要完成按照第二列的内容在Listctrl里面查找strkey.
大虾们给指导一下吧
for (int i=0; i<n; i++)
{
CString text = m_list.GetItemText(i, 1);
if (text.Compare(_T("strkey")) == 0)
{
m_list.SetItemState(i, LVIS_SELECTED, LVIS_SELECTED);
break;
}
}