前台
<script language="Javascript"> function Quit() { window.history.go(-1); } function UpMove() { var elements = document.all.tags("Select").item("ListBox1"); if(elements != null) { if(elements.selectedIndex > 0) { /*** 获取前一个元素的字段和显示值 ***/ var pText = elements.options(elements.selectedIndex-1).text; var pValue = elements.options(elements.selectedIndex-1).value; /*** 把当前选中的赋给上一个 ***/ elements.options(elements.selectedIndex-1).text = elements.options(elements.selectedIndex).text; elements.options(elements.selectedIndex-1).value = elements.options(elements.selectedIndex).value; /*** 把上一个赋给当前 ***/ elements.options(elements.selectedIndex).text = pText; elements.options(elements.selectedIndex).value = pValue; elements.selectedIndex = elements.selectedIndex-1; } else if(elements.selectedIndex = 0) { alert("已经列为第一个了"); } else { alert("请选择要上移的对象"); } } } function DownMove() { var elements = document.all.tags("Select").item("ListBox1"); if(elements != null) { if(elements.selectedIndex >= 0) { /*** 获取下一个元素的字段和显示值 ***/ var nText = elements.options(elements.selectedIndex+1).text; var nValue = elements.options(elements.selectedIndex+1).value; /*** 把当前选中的赋给下一个 ***/ elements.options(elements.selectedIndex+1).text = elements.options(elements.selectedIndex).text; elements.options(elements.selectedIndex+1).value = elements.options(elements.selectedIndex).value; /*** 把下一个赋给当前 ***/ elements.options(elements.selectedIndex).text = nText; elements.options(elements.selectedIndex).value = nValue; elements.selectedIndex = elements.selectedIndex+1; } else if(elements.selectedIndex = elements.length) { alert("已经列为最后一个了"); } else { alert("请选择要下移的对象"); } } } /*** 重新获取ListBox的排列顺序及显示值(点击“保存”时调用的方法,返回给后台新的排序顺序) ***/ function Update() { var newText = document.all.tags("input").item("SortItem").value; var newValue = ""; var elements = document.all.tags("Select").item("ListBox1"); for(var i=0;i<elements.length;i++) { if (i == 0) { newText = elements.options(i).text; newValue = elements.options(i).value; } else { newText = newText + "," + elements.options(i).text; newValue = newValue+ "," + elements.options(i).value; } } document.getElementById("txt_text").value = newText; document.getElementById("txt_value").value = newValue; } </script>
后台首先初始化Listbox
void Initialize() { if (mBSer != null && mBSer.Trim() != "") { dv = model.GetTitleList(mBSer).Tables[0].DefaultView;
if (dv.Table.Rows.Count < 1) { Response.Write("<script>alert(/"没有数据,不能排序!/"); </script>"); return; } ListBox1.DataSource = dv; ListBox1.DataTextField = "title"; ListBox1.DataValueField = "Serial"; ListBox1.DataBind(); } else { Response.Write("<script>alert(/"页面加载出现错误!/");</script>"); } for (int i = 0; i < ListBox1.Items.Count; i++) { ordNm += ListBox1.Items[i].Value + ","; } }
点击“保存”按钮的事件
protected void ImageButton1_Click(object sender, System.Web.UI.ImageClickEventArgs e) { ArrayList TitleList = new ArrayList();
string ord = string.Empty;
int flag = 0; //更新数据库的标示 int flagCount = 0; //记录更新标示的个数 int disCount = 0; //错误的
if (ordNm != "") { ord = ordNm.TrimEnd(','); //旧值 orderOld = ord.Split(','); //旧值
ord = txt_value.Value.TrimEnd(','); //新值 orderNew = ord.Split(','); //新值
for (int i = 0; i < orderNew.Length; i++) { enty = model.Gets(orderNew[i]) as ConsultationDocRelationInfo; if (enty == null) { AlertMessage("排序失败"); return; } else { TitleList.Add(enty); } }
for (int j = 0; j < orderOld.Length; j++) { if (orderOld[j] != orderNew[j]) { disCount++; object objNew = TitleList[j]; enty = (ConsultationDocRelationInfo)objNew; enty.Serial = int.Parse(orderOld[j]); flag = model.Modify(enty); flagCount += flag; } }
if (flagCount != disCount) { AlertMessage("排序失败"); } } }