ListItemCollection Sorting 방법
허무하다 싶을 정도로 간단하다 *_*;;
오랜만에 쓰는 포스팅.. ㅋ
// Ascending ddlFirstClockSetting.DataSource = ddlFirstClockSetting.Items.Cast<ListItem>().OrderBy(o => o.Text).ToList(); ddlFirstClockSetting.DataBind(); // Descending ddlFirstClockSetting.DataSource = ddlFirstClockSetting.Items.Cast<ListItem>().OrderByDescending(o => o.Text).ToList(); ddlFirstClockSetting.DataBind();
날로 먹는 포스팅 ㅡ.ㅡ;;
여기서 중요한 것은
using System.Linq;
헌데 결정적인 문제가 있습니다.
바로 Value에 대해서는 처리가 안됩니다.
Value가 있는 경우에는 Value Data가 삭제 됩니다.
위의 Linq 처리 방식은 이게 문제점입니다. *_*;;;;;;;;
for문을 돌면서 Sorting을 해 줘야 Value 까지 다 잘 살아 있습니다.
코드는 아래와 같습니다.
#region SortDropDownList ////// method to sort a DropDownList /// /// DropDownList to sort public void SortDropDownList(DropDownList ddl) { ListItem[] sorted = new ListItem[ddl.Items.Count]; for (int i = 0; i < sorted.Length; i++) { Array.Resize(ref sorted, i); sorted[i] = ddl.Items[i]; } Array.Sort(sorted); ddl.Items.Clear(); ddl.Items.AddRange(sorted); } #endregion
이상 입니다.
감사합니다.
'Developer' 카테고리의 다른 글
C# 금주의 시작일과 끝일 가져오기 (0) | 2011.08.03 |
---|---|
[Sharepoint 2010] SP.UI.$create_DialogOptions is undefined (IE7) (0) | 2011.08.01 |
원격 호스트와 통신하는 동안 오류가 발생했습니다. 오류 코드는 0x80070057입니다. (2) | 2011.05.24 |
reading Excel Open XML is ignoring blank cells (1) | 2011.05.12 |
Reading dates from OpenXml Excel files (0) | 2011.05.12 |