답변
음을 수행하기위한 선호하는 알고리즘 또는 패턴을 정렬하는 대신, 그것은 무엇 정렬 된 목록에서 한입니까?
List<string> l = new List<string>() {"one", "five", "two", "three", "four", "six"};
이 항목 1 ("five"
) ("six"
전) 지수 5로 이동하려면 :
l.Insert(5, l[1]);
l.RemoveAt(1);
어떤 종류의 디스플레이에도 적응하기가 어렵지 않습니다.
향후 사용자를위한 참고 사항 : 데이터 구조가 동일한 객체가 두 번 존재하도록 허용하지 않는 경우 (많은 UI 구조 [인스턴스의 경우 ListView.Items]와 마찬가지로) 데이터 구조가 올바르게 허용되지 않으면이 작업이 수행되지 않습니다 원래 항목의 순서가 변경 될 때 항목을 위로 이동 * 목록을 이동합니다. 원본을 원한다면 'temp'값을 삽입하고 개체 ID, * 다음 * 삽입 및 마지막으로 임시 값 제거로 원하는 값을 삽입하십시오. – Crisfole
@Cpfohl :이 경우 제거 및 삽입 작업을 바꾸면됩니다. – Ryan
사실,하지만 (예를 들어) ListViewItem을 추가하고 제거하면 같은 항목을 두 번 추가하는 제한 때문에 여전히 작동하지 않습니다. 나는 당신의 방법이 옳지 않다는 것을 제안하려고하지 않고, 미래에이 페이지에 도달하는 사람들에게 손을 뻗어 보려고 노력했습니다. – Crisfole
일반적으로 List <> .RemoveAt(), List <> .Insert()로 처리 할 수 있습니다.
나는 이동 자체를 구현하는 방법뿐만 아니라 목록의 가까운 항목과 어떻게해야할지에 대해서도 의문이 있다고 생각합니다.
목록이 주문 된 경우 모든 항목은 목록에 고유 번호가 있어야합니다.
까지 : 그래서 일반적인 알고리즘은 다음은 1. 기억
int id = items[number - 1]; //number is the number of the selected item
같은 선택한 항목의 수를 이전 항목의 ID를 기억
INT NUM = CURRENT_ITEM .번호;
current_item.number--;
변경 이전 항목의 수 : 이드하여 얻을 :
이전 context.where = (I => i.id == ID),
다음 prev.number = num
변경
아래로 이동하는 경우에도 같지만 숫자를 늘려야합니다.
또는 ID없이 목록을 사용하면 이전 항목의 값을 임시 변수 (또는 번호)에 유지해야합니다.
- 1. 사용자 지정 NSMenu 항목
- 2. DataGridview의 사용자 지정 정렬
- 3. SortableTable의 사용자 지정 정렬
- 4. LINQ로 사용자 지정 정렬
- 5. Gridview에서 사용자 지정 정렬
- 6. 사용자 지정 정렬 순서
- 7. PagedCollectionView 사용자 지정 정렬
- 8. WPF DataGrid 사용자 지정 정렬 : ItemsSource의 항목 재정렬
- 9. Monotouch : 사용자 지정 UITableViewCell 내부에있는 관계형 항목
- 10. 정렬 알고리즘
- 11. 정렬 알고리즘
- 12. TShellTreeView에 사용자 지정 항목 추가
- 13. C# 목록의 사용자 지정 항목?
- 14. 사용자 지정 목록보기 반복되는 항목
- 15. Dgrid를 사용하여 사용자 지정 정렬
- 16. 테이블의 사용자 지정 정렬 순서
- 17. 유성의 사용자 지정 정렬 지정자
- 18. 바운드 DataGridView의 사용자 지정 정렬
- 19. ListView 사용자 지정 정렬 논리
- 20. PHP JPGraphs - 이미지 조율
- 21. 항목 순서 변경을위한 업데이트 SQL 생성?
- 22. WinForms ListView에 대한 사용자 지정 정렬 구현
- 23. iPhone/iPad 키보드 조율
- 24. 사용자 지정 장바구니에 담기 제품 포함 사용자 지정 항목 Magento
- 25. 레일 자체 조율
- 26. CouchDB 정렬 - 데이터 정렬 지정
- 27. 웹 서비스 조율
- 28. 사용자 정의 규칙을 사용하여 항목 정렬
- 29. 가중치 적용 항목 알고리즘
- 30. 순차 정렬 알고리즘
'Item.Remove (currentPosition) then Item.Insert (NewPosition)'내 생각 엔 ... –
구체적인 예를 들어보세요. 당신이 묻고있는 것 ... – Tigran
여기 가야 할게 많지는 않습니다 ... doesn UI가 무엇인지 언급하지 않습니다. 항목을 목록에서 쉽게 이동할 수 있습니다. –