使用Jquery sortable和gridview更新排序顺序

Updating sort order using Jquery sortable and gridview

本文关键字:更新 排序 顺序 gridview Jquery sortable 使用      更新时间:2023-09-26

我有一个gridview,我正在填充SQL数据。我能够使用jQuery对记录进行排序。当我点击btnUpdadateSortOrder按钮并运行我的脚本时,我没有收到任何错误,但是排序顺序没有更新。在我拖放创建一个新顺序之后,我的数组似乎保持了旧的顺序。我应该用什么来设置我的vid_id()????

      <asp:GridView ID="gvVideos" CssClass="gvVideosClass" runat="server" 
        AutoGenerateColumns="False" DataKeyNames="CustomerId"
        OnRowDataBound="OnRowDataBound" OnRowEditing="OnRowEditing" OnRowCancelingEdit="OnRowCancelingEdit"
        OnRowUpdating="OnRowUpdating" OnRowDeleting="OnRowDeleting" EmptyDataText="No records has been added.">
        <Columns>
             <asp:TemplateField HeaderText="Customer">
                <EditItemTemplate>
                    <asp:TextBox ID="customerId" runat="server" Text='<%# Bind("customerId")%>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="lblcustomerID" runat="server" Text='<%# Bind("customerId")%>'></asp:Label>
                </ItemTemplate>
                <ItemStyle Width="160px" />
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Fid" ItemStyle-Width="50">
                <ItemTemplate>
                    <asp:Label ID="lblvidID" runat="server" Text='<%# Bind("fID")%>' />
                    <input type="hidden" name="vidId" value='<%# Eval("fId")%>' />
                </ItemTemplate>

            </Columns>
        </asp:GridView>

        <br />
        <asp:Button ID="btnUpdateSortOrder" runat="server" Text="Update Sort Order"
            OnClick="btnUpdateSortOrder_Click" />

下面是我的代码

  ' stores id_ in array
    Dim vid_id As String() = New String(gvVideos.Rows.Count - 1) {}
    For i As Integer = 0 To gvVideos.Rows.Count - 1
        vid_id(i) = CInt(DirectCast(gvVideos.Rows(i).Cells(1).FindControl("vidId"), Label).Text)
    Next
   ' This worked at one point but now doesn't.       
      'Dim id_language As String() = Request.Form.GetValues("fId")
    Dim sortNumber As Integer = 1
    Dim mySort As New vidController
    ' Loop over array, which contains id_ 
    For Each i As String In vid_id
        ' method which which fire update query order save into database
        mySort.updateVidSortOrder(i, sortNumber)
        sortNumber += 1
    Next
    Response.Redirect(Request.RawUrl)

工作代码:

  Dim vid_id As String() = Request.Form.GetValues("vidId")
    Dim sortNumber As Integer = 1
    Dim mySort As New vidController
    ' Loop over array, which contains id 
    For Each i As String In vid_id
        ' method which which fire update query order save into database
        mySort.updateVidSortOrder(i, sortNumber)
        sortNumber += 1
    Next
    Response.Redirect(Request.RawUrl)

将此属性添加到您的网格视图中:AllowSorting="True"

 <asp:GridView ID="gvItems" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="ObjectDataSource1">