對 ListBox 新增 Item,如果用 Add 是加到最後一個,用 Insert 可以指定要加到什麼地方,但是這必須先計算要加的位置,所以乾脆用 DataView 的排序功能來完成 ListBox 的排序。
//Sort this ListBox
public void SortListBox(ref ListBox lbx)
{
DataTable dt = new DataTable();
dt.Columns.Add("text");
dt.Columns.Add("value");
DataRow dr;
for (int i = 0; i < lbx.Items.Count; i++)
{
dr = dt.NewRow();
dr["text"] = lbx.Items[i].Text;
dr["value"] = lbx.Items[i].Value;
dt.Rows.Add(dr);
}
DataView dv = dt.DefaultView;
dv.Sort = "text";
lbx.DataSource = dv;
lbx.DataTextField = "text";
lbx.DataValueField = "value";
lbx.DataBind();
dt.Clear();
}