当前位置:编程学习 > C#/ASP.NET >>

如何将GridView里的行上移或者下移

如何将GridView里的行上移或者下移 ,高手帮忙 --------------------编程问答-------------------- 这个变相一点的就是把上一行和下一行的值调换。用JS应该容易实现
一堆document.getelementbyid..... --------------------编程问答-------------------- 你也可以用JS操作table里面的row.这个可以比较简单的一点 --------------------编程问答-------------------- 用js 操作吧 --------------------编程问答--------------------
引用 1 楼 ojekleen 的回复:
这个变相一点的就是把上一行和下一行的值调换。用JS应该容易实现 
一堆document.getelementbyid.....

变换值,也可以在服务端写代码的。 --------------------编程问答--------------------
引用 1 楼 ojekleen 的回复:
这个变相一点的就是把上一行和下一行的值调换。用JS应该容易实现 
一堆document.getelementbyid.....
,用JS好实现些,我的有个类似的例子就是JS做的,在服务器端麻烦了,而且也没必要,说白了只是显示,又不是操作,没必要操作DataBase --------------------编程问答-------------------- 还是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);
    }); --------------------编程问答-------------------- 最后一行 Sortable.create('yourGridView', options); 
--------------------编程问答-------------------- 楼上的WOW128▲回复俺看不懂。
哪里可以找到这方面的资料? --------------------编程问答-------------------- http://github.com/madrobby/scriptaculous/wikis/sortable-create --------------------编程问答--------------------
引用 5 楼 brooklyng60 的回复:
用JS好实现些,我的有个类似的例子就是JS做的,在服务器端麻烦了,而且也没必要,说白了只是显示,又不是操作,没必要操作DataBase

比如说要调整后台记录的顺序,前台按这个顺序读取,是不是一定要操作数据库。就比如说调整一件商品的显示顺序。给个例子 --------------------编程问答-------------------- 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 还要写代码吗? --------------------编程问答-------------------- 在前台用脚本最好。在后台也可实现,不过挺费时。先将数据集放在DataTable中,再对行进行处理,然后再绑定。 --------------------编程问答-------------------- 什么额外的都不需要 --------------------编程问答-------------------- prototype scriptaculous

这两个文件版本有要求吗?

我的是:
prototype.js 1.6.0.2

scriptaculous.js 1.8.1 --------------------编程问答-------------------- JS报错 Sortable 未定义 --------------------编程问答-------------------- 这两个版本匹配的。没有问题的。你可以拖拽表的行来排序,最好自己样式化一下。 --------------------编程问答-------------------- 你把effects.js,dragdrop.js也要放到该目录下,scriptaculous 要用的,他们都在scriptaculous 压缩包中 --------------------编程问答-------------------- 果然是缺少effects.js,dragdrop.js这两个文件

但是,虽然能拖动,但是Gridview的表格线没了! --------------------编程问答-------------------- 拖动时,内容没有了,松开左键内容才出来 --------------------编程问答-------------------- 调一下gridview的cellspacing,cellpadding,在改一些样式,
你可以在
var options = 中加入 hoverclass: 'myhover', 
css样式‘myhover’来改变光标和背景等来显出排列
--------------------编程问答-------------------- 这些其实都是样式设置的问题。自己可以根据情况改的。你还可以在option中加starteffect,reverteffect等,比如淡入淡出,晃动等。
我平时对界面处理的不多,所以具体哪些css也不是很在意。 --------------------编程问答-------------------- 补充一下,猛然发现标题栏也可以拖动,很是不好,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> --------------------编程问答-------------------- 学习 了 --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- WOW128 :
用你的方法,对Gridview排序真的很简单,可以把指定行拖拉到想要的位置重新排序...

但我在使用中,遇到一个问题:

  就是排序后,再取Gridview某单元格的值.取出来的还是排序前的值...
  比如我把第一行移到第5行了...
  然后取第一行的值,(按理说,这个时候取出来的值应该是原来第二行的值),但实际取出来的还是以前第一行的值..

  我想实现对Gridview重新排序,然后把排好的序保存在数据库中..这个方法能实现嘛..请帮忙指导一下,不甚感激.. --------------------编程问答-------------------- 顶顶爱上 --------------------编程问答-------------------- 等着看你“华丽地”崩溃。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,