Javascript jQuery:在两个DevExpress网格内拖放,但不能在它们之间拖放
在我的ASP.Net网页中有两个DevExpress ASPxGridView,每个都使用拖放对其条目进行排序。不应在两个GridView之间拖动条目。但是,提供的jQuery示例只针对单个GridView,没有任何与跟踪可拖动的GridView来自哪个GridView相关的代码。如果用户将一行从一个网格拖到另一个网格,它仍会触发一个事件,导致我的C#代码隐藏中出现未定义的行为(因为我只接收两行的索引,因此无法验证它们是否来自同一个网格视图) 目前,jQuery通过一个CSS类来区分这两者,一个是“stc”,另一个是“ptc”。在第一个网格的ASCX文件中:Javascript jQuery:在两个DevExpress网格内拖放,但不能在它们之间拖放,javascript,jquery,devexpress,Javascript,Jquery,Devexpress,在我的ASP.Net网页中有两个DevExpress ASPxGridView,每个都使用拖放对其条目进行排序。不应在两个GridView之间拖动条目。但是,提供的jQuery示例只针对单个GridView,没有任何与跟踪可拖动的GridView来自哪个GridView相关的代码。如果用户将一行从一个网格拖到另一个网格,它仍会触发一个事件,导致我的C#代码隐藏中出现未定义的行为(因为我只接收两行的索引,因此无法验证它们是否来自同一个网格视图) 目前,jQuery通过一个CSS类来区分这两者,一个
<script type="text/javascript">
function stc_InitalizejQuery() {
$('.draggable.stc').draggable({
addClasses: false,
helper: 'original',
start: function (event, ui) {
var $draggingElement = $(ui.helper);
$draggingElement.width(gvStringTypes.GetWidth());
}
});
$('.draggable.stc').droppable({
activeClass: "hover",
tolerance: "intersect",
hoverClass: "activeHover",
drop: function (event, ui) {
var draggingSortIndex = ui.draggable.attr("SortRank");
var targetSortIndex = $(this).attr("SortRank");
AutoDimDefinitionControl_MakeAction(gvStringTypes, "DRAGROW|" + draggingSortIndex + '|' + targetSortIndex);
}
});
}
</script>
...
<Styles>
<Row CssClass="draggable stc"></Row>
</Styles>
函数stc_initializejquery(){
$('.draggable.stc').draggable({
addClasses:false,
助手:'原始',
开始:功能(事件、用户界面){
var$draggingElement=$(ui.helper);
$draggingElement.width(gvStringTypes.GetWidth());
}
});
$('.draggable.stc')。可拖放({
activeClass:“悬停”,
公差:“相交”,
hoverClass:“动态悬停”,
drop:函数(事件、用户界面){
var draggingSortIndex=ui.draggable.attr(“SortRank”);
var targetSortIndex=$(this.attr(“SortRank”);
AutoDimDefinitionControl_MakeAction(gvStringTypes,“DRAGROW |”+DragingSortIndex+“|”+targetSortIndex);
}
});
}
...
第二个是相同的,除了“.stc”->”.ptc”和“gvStringTypes”->“gvPointTypes”:
函数ptc_initializejquery(){
$('.draggable.ptc').draggable({
addClasses:false,
助手:'原始',
启动:功能(ev、ui){
var$draggingElement=$(ui.helper);
$draggingElement.width(gvpointypes.GetWidth());
},
});
$('.draggable.ptc')。可拖放({
activeClass:“悬停”,
公差:“相交”,
hoverClass:“动态悬停”,
drop:函数(事件、用户界面){
var draggingSortIndex=ui.draggable.attr(“SortRank”);
var targetSortIndex=$(this.attr(“SortRank”);
AutoDimDefinitionControl_MakeAction(gvPointTypes,“DRAGROW |“+DragingSortIndex+'|'+targetSortIndex);
}
});
}
...
如果将行拖放到不同的GridView而不是从中拖动,如何自定义jQuery以不触发AutoDimDefinitionControl_MakeAction
(另外,是否有可能将这两个jQuery脚本压缩成一个适用于两个网格的脚本?以下条件起作用:
...
if (ui.draggable.hasClass('stc')) {
AutoDimDefinitionControl_MakeAction(gvStringTypes, "DRAGROW|" + draggingSortIndex + '|' + targetSortIndex);
}
...
...
if (ui.draggable.hasClass('stc')) {
AutoDimDefinitionControl_MakeAction(gvStringTypes, "DRAGROW|" + draggingSortIndex + '|' + targetSortIndex);
}
...