Reorder listbox items with JavaScript and ASP.NET
Default.aspx:
< %@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" ValidateRequest="false" %>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
function LoadNumbers() {
lst = document.getElementById("lstWishList");
lst.size = lst.options.length;
lstNumbers = document.getElementById("lstWishListNumbers");
div = document.getElementById("divNumbers");
s = "";
for (i=1;i
temp = lst.options[oldindex].text; tempv = lst.options[oldindex].value;
lst.options[oldindex].text = lst.options[newindex].text; lst.options[oldindex].value = lst.options[newindex].value;
lst.options[newindex].text = temp; lst.options[newindex].value = tempv;
lst.selectedIndex = newindex; }
function ProcessRemoval() { if (!confirm(”Are you sure you want to remove this item?”)) return; lst = document.getElementById(”lstWishList”);
for (i=0;i function PopulateHiddenField(){
hid = document.getElementById("hidListItems");
lst = document.getElementById("lstWishList");
s = "";
for(i=0;i
Default.aspx.vb:
Imports System.Data
Partial Class _Default
Inherits System.Web.UI.Page
Dim dt As New DataTable
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' Fill sample data in listbox
Dim dr As DataRow
dt.Columns.Add("id")
dt.Columns.Add("title")
If (Not IsPostBack) Then
dr = dt.NewRow() : dr("id") = "33" : dr("title") = "My Title" : dt.Rows.Add(dr)
dr = dt.NewRow() : dr("id") = "13" : dr("title") = "My Title blah" : dt.Rows.Add(dr)
dr = dt.NewRow() : dr("id") = "1523" : dr("title") = "asd asdf asda" : dt.Rows.Add(dr)
dr = dt.NewRow() : dr("id") = "1723" : dr("title") = "My Title asdf asdasdasd" : dt.Rows.Add(dr)
dr = dt.NewRow() : dr("id") = "123" : dr("title") = "2222 My Title" : dt.Rows.Add(dr)
dr = dt.NewRow() : dr("id") = "1123" : dr("title") = "122222 My Title" : dt.Rows.Add(dr)
lstWishList.DataValueField = "id"
lstWishList.DataSource = dt
lstWishList.DataTextField = "title"
lstWishList.DataBind()
End If
End Sub
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
' You will get list items as a delimeted string in hidden field - hidListItems.Value - re-fill datatable dt
dt.Clear()
Dim s() As String = hidListItems.Value.Split("~")
Dim i As Integer
Dim j As Integer
Dim dr As DataRow
For i = 0 To s.Length - 1
Dim s1() As String = s(i).Split("|")
dr = dt.NewRow() : dr("id") = s1(0) : dr("title") = s1(1) : dt.Rows.Add(dr)
Next
lstWishList.Items.Clear()
lstWishList.DataValueField = "id"
lstWishList.DataSource = dt
lstWishList.DataTextField = "title"
lstWishList.DataBind()
'Now you have re-ordered values in datatable dt - use it to update database.
'Like - delete all the wishlist items of this customer, then add this dt list
'data preview in grid view
GridView1.DataSource = dt
GridView1.DataBind()
End Sub
End Class
Related posts:






















