2008-09-24 4 views
0

Я продолжаю получать эту ошибку при попытке переупорядочить элементы в элементе управления ReorderList.AJAX.NET Reorderlist Control - «Это не DataSource и не реализует IList».

«Упорядочивание не удалось, подробности см ниже

не удается получить доступ к источнику данных. Это делает не DataSource и не реализует IList..»

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

Мой вопрос в том, имеет ли кто-либо непосредственное отношение к этой проблеме?

ответ

0

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

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> 

мой передний конец, а в задней части я просто получаю DataTable объект и связывание его OnLoad из нетканого материала постбэка ...

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

Do I нужно снова установить источник данных, когда элементы переупорядочиваются?

1

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

0

Я нашел ту же ошибку, возникшую, когда таблица, которую я пыталась сортировать, не имела начальных значений, выделенных для DataKeyField. Это заставило меня рвать мои волосы, поскольку это работало в моей тестовой среде, но не тогда, когда я толкнул ее вживую. Я также хотел бы отметить, что он запустил диалоговое окно с тем же сообщением о MY WEB SERVER CONSOLE. У этого была кнопка abort/retry/ignore, которая так эффективно убивала все. Теперь это просто грубо!

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

1

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

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