1
목록보기와 일부 열 "ID", "제품 이름"및 "공급 업체"가 있습니다. 해당 항목을 추가, 편집 또는 삭제할 수 있으며 항목 목록보기로 "엉망이 된"후에 이와 같이 새로 고침됩니다. C에서 목록보기를 새로 고칠 때 항목 손실 포커스 방지 #
listView.Items.Clear();
foreach (var item in result)
{
ListViewItem lv = new ListViewItem(item.ID.ToString());
lv.SubItems.Add(item.Name.ToString());
lv.SubItems.Add(item.Vendor.ToString());
listView.Items.Add(lv);
}
때문에이 방법은 내가 목록에서 모든 항목을 삭제하고 다시 작성하기 때문에 논리적 내가 항목의 목록 포커스가 손실 새로 고침 할 때마다,를 제외하고 잘 작동합니다. 내 문제는 편집 된 항목과 새로 추가 된 항목에 집중할 수있는 방법입니다. 일부 항목을 편집 할 때 listview를 맨 위로 스크롤하지 않고 편집 된 항목이있는 위치에 머물러있게하려면 편집하십시오. FindItemWithText 메서드로 시도하고 발견 된 항목에 listview 중 포커스가 설정된 항목을 설정하는 것보다 작동하지 않습니다. 이런 종류의 문제에 대한 해결책은 있습니까?
int oldFocusedIndex = listView.SelectedItems[0].Index;
나중에
다음 실행 초점을 복원 할 수 있습니다 :
listView.Items[oldFocusedIndex].Selected = true;
당신은 또한 인해 ListView
's의 사용자에게 표시 항목을 만들 수 있습니다
하지만 메타는 없습니다. od.SelectedIndex? 나는 이것으로 색인을 얻을 수 없다. – Milan
@Milan 죄송합니다. – AgentFire