前台Listbox判断选中并进行排序,后台保存新排序内容

    技术2022-05-13  4

    前台

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


    最新回复(0)