这里的问题是当我点击第一个元素上的向上箭头时,网格标题下降,第一条消息转到顶部,这是不需要的。 与页脚相似......我从某个网站获得了帮助.....
JS:
<script type="text/javascript">
var MoveUp = "table[id*=dg] input[id*='btnUp']";
var MoveDown = "table[id*=dg] input[id*='btnDown']";
$(document).ready(function() {
DisableLastFirstRow();
$(MoveUp).click(function() {
$(this).parents("tr").insertBefore($(this).parents("tr").prev());
SetIndex();
DisableLastFirstRow();
});
$(MoveDown).click(function() {
$(this).parents("tr").insertAfter($(this).parents("tr").next());
SetIndex();
DisableLastFirstRow();
});
function DisableLastFirstRow() {
$("#<%=dg.ClientID%> tr:has(td) input[id*='btnUp']").attr("disabled", false);
$("#<%=dg.ClientID%> tr:has(td):first input[id*='btnUp']").attr("disabled", false);
$("#<%=dg.ClientID%> tr:has(td) input[id*='btnDown']").attr("disabled", false);
$("#<%=dg.ClientID%> tr:last input[id*='btnDown']").attr("disabled", false);
}
function SetIndex() {
$("#<%=dg.ClientID %> tr:has(td)").each(function(index) {
index++;
$(this).find("td:eq(0)").text(index);
});
}
});
</script>
ASP.NET
<asp:DataGrid ID="dgID" runat="server" AllowPaging="True" AllowSorting="True">
<Columns>
<cc1:ResourceDatagridTempColumn HeaderText="Test">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("A") %>'>
</asp:Label>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("B") %>'>
</asp:Label>
</ItemTemplate>
</cc1:ResourceDatagridTempColumn>
<cc1:ResourceDatagridTempColumn HeaderText="Type">
<ItemTemplate>
<asp:Label ID="Label3" runat="server" Text='<%# Eval("C") %>'>
</asp:Label>
</ItemTemplate>
</cc1:ResourceDatagridTempColumn>
</Columns>
<asp:TemplateColumn HeaderText="Move Message">
<ItemTemplate>
<input id="btnUp" type="button" value="⇑" style="color: Red;" >
<input id="btnDown" type="button" value="⇓" style="color: Red;" />
</ItemTemplate>
</asp:TemplateColumn>
</asp:DataGrid>
注意:我不想排序,而是使用自定义功能进行控制..
任何帮助将不胜感激..