zoukankan      html  css  js  c++  java
  • jQuery实现基于ListView的拖拽功能

    这个项目演示了如何在列表视图中使用jQuery拖拽,这个代码示例包括两个ListView控件,用户可以拖动、排序和移动.控制项目从一个到另一个。这个示例可以用在许多领域,您可以创建一个在线购物应用程序,它会给客户更好的感受.

    首先我们来创建一个模拟的数据集合我们以两个xml文件作为我们的"数据库":

    ListView1.xml文件数据:
     1 <?xml version="1.0" encoding="utf-8" ?>
     2 <root>
     3   <data open="1">element 1</data>
     4   <data open="1">element 2</data>
     5   <data open="1">element 3</data>
     6   <data open="1">element 4</data>
     7   <data open="1">element 5</data>
     8   <data open="1">element 6</data>
     9   <data open="1">element 7</data>
    10 </root>
    ListView2.xml文件数据:
     1 <?xml version="1.0" encoding="utf-8" ?>
     2 <root>
     3   <data open="1">element 8</data>
     4   <data open="1">element 9</data>
     5   <data open="1">element 10</data>
     6   <data open="1">element 11</data>
     7   <data open="1">element 12</data>
     8   <data open="1">element 13</data>
     9   <data open="1">element 14</data>
    10 </root>

    因为示例基于JqueryUi实现我们在aspx页面中需要引入JqueryUi的资源文件

    1     <link href="JQuery/jquery-ui.css" rel="stylesheet" type="text/css" />
    2     <script src="JQuery/jquery-1.4.4.min.js" type="text/javascript"></script>
    3     <script src="JQuery/jquery-ui.min.js" type="text/javascript"></script>

    前台代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CSASPNETDragItemInListView.Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title> 
        <link href="JQuery/jquery-ui.css" rel="stylesheet" type="text/css" />
        <script src="JQuery/jquery-1.4.4.min.js" type="text/javascript"></script>
        <script src="JQuery/jquery-ui.min.js" type="text/javascript"></script>
      <style type="text/css">
        #sortable1, #sortable2
         {
             list-style-type:none;
             border-right: #669999 2px solid; 
             padding-right: 5px; 
             border-top: #669999 2px solid; 
             padding-left: 5px; 
             float: left; 
             padding-bottom: 0px; 
             margin: 3px; 
             border-left: #669999 2px solid; 
             width: 100px; 
             padding-top: 5px; 
             border-bottom: #669999 2px solid      
        }
        #sortable1 li, #sortable2 li
         { 
             border-right: #000 1px solid; 
             padding-right: 2px; 
             border-top: #000 1px solid; 
             padding-left: 2px; 
             font-size: 10px; 
             margin-bottom: 5px; 
             padding-bottom: 2px; 
             border-left: #000 1px solid; 
             width: 94px; 
             cursor: pointer; 
             padding-top: 2px; 
             border-bottom: #000 1px solid; 
             font-family: verdana, tahoma, arial; 
             background-color: #eee
         }
        </style>
        <script type="text/javascript">
            $(function () {
                $("#sortable1, #sortable2").sortable({
                    connectWith: ".connectedSortable"
                }).disableSelection();
            });
    
            $(document).ready(function () {
                $("li").dblclick(function () {
                    $(this).closest('li').remove();
                });
            });   
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
               <asp:Label ID="Label1" runat="server" 
            Text="Please drag items in ListView control to another, you can also sort items by drag item to right positon. Double click one item to drop it from the ListView control."></asp:Label><br/>
        <div>
            <asp:ListView ID="ListView1" runat="server">
            <LayoutTemplate>
            <ul id="sortable1" class="connectedSortable">
            <asp:PlaceHolder runat="server" id="itemPlaceholder"></asp:PlaceHolder>
            </ul>
            </LayoutTemplate>
            <ItemTemplate>    
            <li class="ui-state-default" ><%# Eval("value") %></li>     
            </ItemTemplate>
            </asp:ListView>
        
            <asp:ListView ID="ListView2" runat="server">
            <LayoutTemplate>
            <ul id="sortable2" class="connectedSortable">
            <asp:PlaceHolder runat="server" id="itemPlaceholder"></asp:PlaceHolder>
            </ul>
            </LayoutTemplate>
            <ItemTemplate>    
            <li class="ui-state-highlight" ><%# Eval("value2") %></li>     
            </ItemTemplate>
            </asp:ListView>
        
        </div>
        </form>
    </body>
    </html>

    后台代码:

            protected void Page_Load(object sender, EventArgs e)
            {
                // Bind two xml data file to ListView control, actually you can change the "open" property to "0",
                // In that way, it will not display in ListView control.
                XmlDocument xmlDocument = new XmlDocument();
                using (DataTable tabListView1 = new DataTable())
                {
                    tabListView1.Columns.Add("value", Type.GetType("System.String"));
                    xmlDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "/XmlFile/ListView1.xml");
                    XmlNodeList xmlNodeList = xmlDocument.SelectNodes("root/data[@open='1']");
                    foreach (XmlNode xmlNode in xmlNodeList)
                    {
                        DataRow dr = tabListView1.NewRow();
                        dr["value"] = xmlNode.InnerText;
                        tabListView1.Rows.Add(dr);
                    }
                    ListView1.DataSource = tabListView1;
                    ListView1.DataBind();
                }
    
                XmlDocument xmlDocument2 = new XmlDocument();
                using (DataTable tabListView2 = new DataTable())
                {
                    tabListView2.Columns.Add("value2", Type.GetType("System.String"));
                    xmlDocument2.Load(AppDomain.CurrentDomain.BaseDirectory + "/XmlFile/ListView2.xml");
                    XmlNodeList xmlNodeList2 = xmlDocument2.SelectNodes("root/data[@open='1']");
                    foreach (XmlNode xmlNode in xmlNodeList2)
                    {
                        DataRow dr = tabListView2.NewRow();
                        dr["value2"] = xmlNode.InnerText;
                        tabListView2.Rows.Add(dr);
                    }
                    ListView2.DataSource = tabListView2;
                    ListView2.DataBind();
                }
            }
  • 相关阅读:
    SSRS中加入书签功能及数据集窗口
    Oracle 语法
    DOM基本操作
    文字横向滚动和垂直向上滚动
    offsetWidth和width的区别
    css3动画(animation)效果3-正方体合成
    css3动画(animation)效果2-旋转的星球
    css3动画(animation)效果1-漂浮的白云
    JavaScript 错误监控Fundebug
    第二篇:git创建流程
  • 原文地址:https://www.cnblogs.com/nicStudio/p/2670693.html
Copyright © 2011-2022 走看看