gpt4 book ai didi

jquery table dnd 插件与 gridview - 放置事件永远不起作用

转载 作者:行者123 更新时间:2023-12-01 00:03:41 27 4
gpt4 key购买 nike

我正在使用 asp.net (3.5)。我有 GridView,我需要使用拖放来重新排序项目(表行)并将新订单保存到数据库。

我发现我可以使用 jquery.tablednd 插件来实现此目的。

DnD 功能确实适合我,但我无法重新排序项目并保存在数据库中,因为 ON DROP 永远不适合我。

我尝试复制我在网络上找到的不同示例,但 ondrop 永远不适合我。我创建了新文件来进行测试(我的原始页面使用母版页)。我已经包含了 ajaxToolkit:ToolkitScriptManager ,但我也尝试使用 asp:ScriptManager 。DropAndDrag 正在工作,但 ON DROP 事件从未被调用。 OnDragStart 事件调用成功。请看一下我的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="News.aspx.cs" Inherits="Tutelaconnect.News" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.js" type="text/javascript"></script>
<script src="http://www.isocra.com/articles/jquery.tablednd.js" type="text/javascript">
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#<%= GridViewSample.ClientID %>").tableDnD({
onDrop: function (table, row) {
alert('1'); ///// THIS NEVER HAPPEN
},
onDragStart: function (table, row) {
// alert('2'); //// THIS HAPPENS
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</ajaxToolkit:ToolkitScriptManager>
<div id="debugArea">
</div>
<div class="tableDemo">
<asp:GridView ID="GridViewSample" runat="server" AutoGenerateSelectButton="false"
AutoGenerateColumns="false" Width="800px">
<Columns>
<asp:TemplateField HeaderText="C">
<ItemTemplate>
<asp:TextBox ID="TextBoxC" runat="server" Text='<%# Eval("C") %>' Width="50px" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Center" Width="10em" />
</asp:TemplateField>
<asp:TemplateField HeaderText="A">
<ItemTemplate>
<asp:Label ID="LabelA" runat="server" Text='<%# Eval("A") %>' />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Left" Width="30em" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>

我真的被困住了。不知道如何继续。

最佳答案

我在这里找到了解决方案:http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/comment-page-15/#comment-3460

基本上,表中的每一行都需要一个 Id,您可以使用这样的代码来给它们一个 Id:

var i = 0;
$("#<%= GridViewSample.ClientID %>").find('tr').each(function() {
$(this).attr('id', i++);
});

我将此代码放在之前:$("#<%= GridViewSample.ClientID %>").tableDnD并能够得到alert(1);每次我放下一行时都会显示一个框。

关于jquery table dnd 插件与 gridview - 放置事件永远不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12216673/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com