Элемент управления AJAX.NET Reorderlist - «Он не является источником данных и не реализует IList». - PullRequest
0 голосов
/ 24 сентября 2008

Я получаю эту ошибку при попытке изменить порядок элементов в моем элементе управления ReorderList.

"Не удалось изменить заказ, подробности см. Ниже.

Невозможно получить доступ к источнику данных. Он не является источником данных и не реализует IList. "

Я сейчас устанавливаю источник данных для DataTable, и в настоящее время пытаюсь использовать вместо этого источник данных ArrayList, но мне не рекомендуется из-за этого поста в Интернете в других местах. Элемент управления существует в панели обновлений, но другие события не подписаны. Должно ли быть что-то особенное с событием OnItemReorder? Просто запутался, как это работает.

У меня вопрос, есть ли у кого-нибудь прямой опыт решения этой проблемы?

Ответы [ 5 ]

1 голос
/ 09 сентября 2012

Я получил то же сообщение об ошибке. В моем случае это произошло потому, что я пытался установить для поля SortOrder не числовое поле. Элемент управления может сортировать список только по полю, тип которого целочисленный (или аналогичный). Не строка или дата.

1 голос
/ 25 сентября 2008

Я понял это. Я преобразовал DataTable в ArrayList, затем привязал его к элементу управления. Спасибо всем за чтение!

0 голосов
/ 09 июля 2009

Я обнаружил ту же ошибку, вызванную тем, что в таблице, которую я пытался отсортировать, не было начальных значений, выделенных для DataKeyField. Это заставило меня рвать на себе волосы, как они работали в моей тестовой среде, но не тогда, когда я толкала их в живую. Я также хотел бы отметить, что он вывел диалоговое окно с тем же сообщением НА МОЙ КОНСОЛЬ ВЕБ-СЕРВЕРА. У этого был набор кнопки abort / retry / ignore, который эффективно убивал все. Теперь это просто грубо!

Решением было просто последовательно нумеровать значения полей перед использованием элемента управления.

0 голосов
/ 24 сентября 2008

                        <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 of Non postback ...

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

Нужно ли снова устанавливать источник данных при переупорядочении элементов?

0 голосов
/ 24 сентября 2008

Я успешно использовал его в прошлом без особых проблем (привязка к списку). Не могли бы вы опубликовать некоторые фрагменты того, что у вас есть в вашем интерфейсе и коде позади?

...