2012-04-10 3 views
0

У меня есть простой Gridview, как такПростой Gridview с перетаскиванием Переупорядочить

<asp:GridView ID="taskGrid" Width="100%" OnSelectedIndexChanged="taskGrid_SelectedIndexChanged" 
AutoGenerateColumns="false" runat="server"> 
    <EmptyDataTemplate> 
     Choose Items from Drop Down Lists 
    </EmptyDataTemplate> 
    <Columns> 
     <asp:TemplateField HeaderStyle-Width="5%" ItemStyle-Width="5%"> 
      <ItemTemplate> 
       <asp:ImageButton CommandName="Select" CommandArgument='<%# Eval("TaskID") %>' 
           Width="10px" Height="10px" ID="imgRedX" ToolTip='<%# Eval("TaskID") %>' 
           ImageUrl="~/Images/redX.png" OnClick="taskGrid_SelectedIndexChanged" 
           runat="server" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField HeaderStyle-Width="47.5%" ItemStyle-Width="47.5%" 
         DataField="ServerName" HeaderText="Deploy Dashboard" /> 
     <asp:BoundField HeaderStyle-Width="47.5%" ItemStyle-Width="47.5%" 
         DataField="ApplicationName" HeaderText="Deploy Task" /> 
    </Columns> 
</asp:GridView> 

То, что я хочу быть в состоянии сделать это включать основные перетаскивания изменение порядка строк.

Я рассмотрел множество решений и даже подумал о Список порядка, но ничто действительно не соответствует моим простым потребностям. Этот Gridview приведен в действие кодом, по которому я заполняю пользовательский объект (нет Datasource Controls).

Меня интересует AJAX, но только если он обновляет объект, а не только Grid Container.

+0

Здесь одна аналогичная статья http://codepedia.info/2015/03/reorder-gridview-asp-net-jquery-drag-drop-reorder-of-gridview-rows/ –

ответ

0

Вы должны реализовать это havingthis вещи во внимание:

  1. вам нужно сохранить порядок на стороне сервера, так что полный постбэк покажет вам правильный порядок

  2. вам нужно что-то (perhaps a jQuery plugin?), которое позволяет визуально менять строки

  3. необходимо изменить сценарий таким образом, чтобы можно было найти ключи исходной и целевой строк на стороне клиента (вы, возможно, т.е. . Включить их в скрытом, поданных внутри шаблона в вашем GridView, и присвоить его значение на RowDataBound)

  4. вам нужно create a web service or static page method, чтобы отправить изменения от клиента к серверу

  5. его нужно send the changes from the client to the web service or static page method

  6. вы также должны handle ajax errors (перейти на клиент сценария части этого поста):

Таким образом, нет, нет никакого простого способа сделай это. Если C1 или Telerik не имеют заплаченного контроля, то он делает это.

 Смежные вопросы

  • Нет связанных вопросов^_^