前台
<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("排序失败");
}
}
}