这个变相一点的就是把上一行和下一行的值调换。用JS应该容易实现
一堆document.getelementbyid.....

解决方案 »

  1.   

    你也可以用JS操作table里面的row.这个可以比较简单的一点
      

  2.   

    ,用JS好实现些,我的有个类似的例子就是JS做的,在服务器端麻烦了,而且也没必要,说白了只是显示,又不是操作,没必要操作DataBase
      

  3.   

    还是js比rowindex好修改,试了一下很简单
        <script src="js/prototype.js" type="text/javascript"></script>
        <script src="js/scriptaculous.js" type="text/javascript"></script>
        <script type="text/javascript">
        document.observe('dom:loaded', function() 
        {
            var options = 
            {
                containment: $('yourGridView'),
                treeTag:'table',
                tag:'tr',
                tree:true
            };
            Sortable.create('grdMovies', options);
        });
      

  4.   

    最后一行 Sortable.create('yourGridView', options); 
      

  5.   

    楼上的WOW128回复俺看不懂。
    哪里可以找到这方面的资料?
      

  6.   

    http://github.com/madrobby/scriptaculous/wikis/sortable-create
      

  7.   

    6楼,我是了好像不行,什么反应也没有!<script src="../css/prototype.js" type="text/javascript" language="javascript"></script> 
    <script src="../css/scriptaculous.js" type="text/javascript" language="javascript"></script> 
    <script type="text/javascript" language="javascript">
            document.observe('dom:loaded', function()
            { 
                var options = 
                { 
                    containment:$('GridView_Dept'),
                    treeTag:'table',
                    tag:'tr',
                    tree:true
                };
                
                Sortable.create('GridView_Dept', options);
            });
    </script>Gridview 还要写代码吗?
      

  8.   

    在前台用脚本最好。在后台也可实现,不过挺费时。先将数据集放在DataTable中,再对行进行处理,然后再绑定。
      

  9.   

    prototype scriptaculous这两个文件版本有要求吗?我的是:
    prototype.js 1.6.0.2scriptaculous.js 1.8.1
      

  10.   

    你把effects.js,dragdrop.js也要放到该目录下,scriptaculous 要用的,他们都在scriptaculous 压缩包中
      

  11.   

    果然是缺少effects.js,dragdrop.js这两个文件但是,虽然能拖动,但是Gridview的表格线没了!
      

  12.   

    调一下gridview的cellspacing,cellpadding,在改一些样式,
    你可以在
    var options = 中加入 hoverclass: 'myhover', 
    css样式‘myhover’来改变光标和背景等来显出排列
      

  13.   

    这些其实都是样式设置的问题。自己可以根据情况改的。你还可以在option中加starteffect,reverteffect等,比如淡入淡出,晃动等。
    我平时对界面处理的不多,所以具体哪些css也不是很在意。
      

  14.   

    补充一下,猛然发现标题栏也可以拖动,很是不好,GridView绘制的时候不是用th,所以修改了一下代码,
    顺便说一下,那个短暂消失的问题是因为IE的CSS问题,FF或者其它浏览器下不这样,所以要设置一下CSS
        <style type="text/css">
         .row
        {
         color:Green;
        }
        </style>
        <script type="text/javascript">
        document.observe('dom:loaded', function()
        {
            var options =
            {
                elements:$$('tr.row'),
                hoverclass: 'hover',
                tree:true
            };
            Sortable.create($('GridView1'), options);
        });
        </script>        <asp:GridView ID="GridView1" runat="server" 。。>
                <RowStyle CssClass="row" />
            </asp:GridView>
      

  15.   

    WOW128 :
    用你的方法,对Gridview排序真的很简单,可以把指定行拖拉到想要的位置重新排序...但我在使用中,遇到一个问题:  就是排序后,再取Gridview某单元格的值.取出来的还是排序前的值...
      比如我把第一行移到第5行了...
      然后取第一行的值,(按理说,这个时候取出来的值应该是原来第二行的值),但实际取出来的还是以前第一行的值..  我想实现对Gridview重新排序,然后把排好的序保存在数据库中..这个方法能实现嘛..请帮忙指导一下,不甚感激..