0

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>

私ができるようにしたいのは、行の基本的なドラッグアンドドロップの並べ替えを組み込むことです。

私は多くの解決策を検討し、Reorder Listについても考えましたが、単純なニーズに本当に合うものはありません。これGridviewは、カスタム オブジェクト (no ) を設定するコード ビハインドによって強化されていますDatasource Controls

私はAJAXに興味がありますが、Grid Container.

4

1 に答える 1

0

次のことを考慮して実装する必要があります。

  1. 完全なポストバックで正しい順序が表示されるように、サーバー側で順序を維持する必要があります

  2. 行を視覚的に交換できる何か(おそらくjQueryプラグイン? )が必要です

  3. クライアント側でソース行と宛先行のキーを見つけることができるようにスクリプトを変更する必要があります (つまり、グリッドビューのテンプレート内の隠しフィールドにそれらを含め、RoWDataBound にその値を割り当てることができます)。

  4. クライアントからサーバーに変更を送信するには、Web サービスまたは静的ページ メソッドを作成する必要があります。

  5. クライアントから Web サービスまたは静的ページ メソッドに変更を送信する必要があります。

  6. また、 ajax エラーを処理する必要があります(この投稿のクライアント スクリプトの部分に移動します)。

だから、いいえ、それを行う簡単な方法はありません。C1またはTelerikがそれを行う有料のコントロールを持っていない限り。

于 2012-04-10T14:57:39.700 に答える