0

ReorderList コントロールで項目を並べ替えようとすると、このエラーが発生し続けます。

「再注文に失敗しました。以下の詳細を参照してください。

データ ソースにアクセスできません。DataSource ではなく、IList を実装していません。」

私は現在、データソースを DataTable に設定しており、代わりに ArrayList データソースを使用しようとしていますが、他の場所でインターネットに投稿されているため、お勧めできません。コントロールは更新パネル内に存在しますが、他のイベントはサブスクライブされていません。OnItemReorder イベントに何か特別なものがあるはずですか? それがどのように機能するかについて混乱しているだけです。

私の質問は、この問題を直接経験した人はいますか?

4

5 に答える 5

1

同じエラーメッセージが表示されました。私の場合、SortOrderフィールドを数値以外のフィールドに設定しようとしていたために発生しました。コントロールは、タイプが整数 (または類似) のフィールドによってのみリストをソートできます。文字列や日付ではありません。

于 2012-09-09T14:41:58.250 に答える
1

私はそれを考え出した。DataTable を ArrayList に変換してから、コントロールにバインドしました。読んでくれてありがとう!

于 2008-09-24T20:10:11.487 に答える
0

過去に問題なく使用できました(リストへのバインド)。フロントエンドとコード ビハインドにあるものの一部を投稿していただけますか?

于 2008-09-24T18:00:54.480 に答える
0

                        <cc1:ReorderList id="ReorderList1" runat="server" CssClass="Sortables" Width="400" >
                            <ItemTemplate>
                            <div class="sortablelineitem">
                            <a href="#" class="albmCvr" id="song13">
                            <img src="/images/plalbumcvr.jpg" alt="Name of Album" class="cvrAlbum" width="10"
                                height="10" />
                            Song 1 <span>by</span> Artist 1 </a>
                             <asp:ImageButton ID="ImageButton13" runat="server" ImageUrl="/images/btn_play_icon.gif"
                            ToolTip="Play Clip" CssClass="playClip" />
                             </div>
                            </ItemTemplate>
                            <EditItemTemplate>
                                <h1>WHOA THE ITEM IS BEING DRAGGED!!</h1>
                            </EditItemTemplate>
                            <ReorderTemplate>
                            <div style="width:400px; height:20px; border:dashed 2px #CCC;"></div>
                            </ReorderTemplate>
                            <DragHandleTemplate>
                            <div style="height:15px; width:15px; background-color:Black;"></div>
                            </DragHandleTemplate>
                            <EmptyListTemplate>
                            There are no items in this playlist yet...
                            </EmptyListTemplate>
                        </cc1:ReorderList>

                        </ContentTemplate>
                            </asp:UpdatePanel>

私のフロントエンドであり、バックエンドでは、データテーブルオブジェクトを取得し、それを非ポストバックの OnLoad にバインドしています...

ReorderList1.DataSource = ds.Tables[1];
ReorderList1.DataBind();

アイテムが並べ替えられた場合、データソースを再度設定する必要がありますか?

于 2008-09-24T18:13:08.523 に答える
0

並べ替えようとしていたテーブルに DataKeyField に初期値が割り当てられていなかったときに、同じエラーが発生することがわかりました。これは、テスト環境で機能したときに髪を引き裂きましたが、実際にプッシュしたときはそうではありませんでした. また、ON MY WEB SERVER CONSOLE で同じメッセージが表示されたダイアログ ボックスが表示されたことにも注意してください。これには、中止/再試行/無視ボタンが設定されていたため、すべてが効果的に殺されました。今では失礼です!

解決策は、コントロールを使用する前にフィールド値に連続番号を付けることでした。

于 2009-07-09T11:38:48.297 に答える