Python语言技术文档

微信小程序技术文档

php语言技术文档

jsp语言技术文档

asp语言技术文档

C#/.NET语言技术文档

html5/css技术文档

javascript

点击排行

您现在的位置:首页 > 技术文档 > C#/.NET入门教程

DropDownList根据下拉项的Text文本序号排序

来源:中文源码网    浏览:150 次    日期:2024-05-14 15:25:47
【下载文档:  DropDownList根据下拉项的Text文本序号排序.txt 】


DropDownList根据下拉项的Text文本序号排序
有时候刚好表中没有可以排序的字段,又不想修改表结构,但它的项文本有序号,这时就可以用这方法排序,例如: 测试页Default2.aspx: 复制代码 代码如下:
Default2.aspx.cs: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Text.RegularExpressions; public partial class Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ddlType.Items.Add(new ListItem("--请选择--")); ddlType.Items.Add(new ListItem("2_bb")); ddlType.Items.Add(new ListItem("1_aa")); ddlType.Items.Add(new ListItem("4_ee")); ddlType.Items.Add(new ListItem("3_dd")); } } protected void btnSort_Click(object sender, EventArgs e) { DropDownListBubbleSort(ddlType); //DropDownListSelectionSort(ddlType); } /// /// 冒泡排序 /// /// public void DropDownListBubbleSort(DropDownList ddl) { ListItem listItem = new ListItem(); for (int i = 0; i < ddl.Items.Count; i++) { for (int j = i + 1; j < ddl.Items.Count; j++) { int firstVal = 0, nextVal = 0; int.TryParse(Regex.Replace(ddl.Items[i].Text, @"\D", @"", RegexOptions.IgnoreCase), out firstVal); int.TryParse(Regex.Replace(ddl.Items[j].Text, @"\D", @"", RegexOptions.IgnoreCase), out nextVal); if (firstVal == 0 || nextVal == 0) continue; if (firstVal > nextVal) { listItem = ddl.Items[j]; ddl.Items.Remove(ddl.Items[j]); ddl.Items.Insert(i, listItem); } } } } /// /// 选择排序 /// /// public void DropDownListSelectionSort(DropDownList ddl) { ListItem listItem = new ListItem(); int length = ddl.Items.Count; for (int i = 0; i < length; i++) { int min = 0; int.TryParse(Regex.Replace(ddl.Items[i].Text, @"\D", @"", RegexOptions.IgnoreCase), out min); if (min == 0) continue; int minIndex = i; for (int j = i + 1; j < length; j++) { int nextVal = 0; int.TryParse(Regex.Replace(ddl.Items[j].Text, @"\D", @"", RegexOptions.IgnoreCase), out nextVal); if (nextVal == 0) continue; if (min > nextVal) { min = nextVal; minIndex = j; } } if (minIndex != i) { listItem = ddl.Items[minIndex]; ddl.Items.Remove(ddl.Items[minIndex]); ddl.Items.Insert(i, listItem); } } } }

相关内容