Привязка RadListView на стороне клиента - PullRequest
0 голосов
/ 22 марта 2012

Хорошо, проблема в том, что я хочу связать представление списка на стороне клиента.Я нашел решения на форуме и в демоверсиях, но я получаю сообщение об ошибке set_dataSource (data);как set_dataSource не определено, более того, я не могу также найти тег в настройках клиента, как это показано в демонстрациях.Я использую версию telerik 2011.2.915.40.

Ниже мой код aspx:

<telerik:RadListView ID="lstViewNotes" runat="server" OnItemCommand="lstViewNotes_ItemCommand">
<EmptyDataTemplate>
<table id="Table1" style="">
<tr>
<td>
<%=GetGlobalResourceObject("General","EmptyData") %>
</td>
</tr>
</table>
</EmptyDataTemplate>
<ItemTemplate>
                 <table>
<tr>
<td colspan="3">
<div style="width: 100%">
<asp:HiddenField ID="hfNoteId" runat="server" Value='<%#Eval("NotesId") %>' />
<asp:LinkButton ID="lblCreate" runat="server" Text='<%#Eval("UserName") %>' CssClass="label_n_t"
CommandName="Select" /><asp:LinkButton ID="NameLabel" runat="server" Text='<%# Eval("CreateDate") %>'
CssClass="label_n_t" CommandName="Select" /></div>
<div style="width: 100%">
<asp:LinkButton ID="lblNotesDesc" runat="server" Text='<%# Eval("MemoDesc") %>' CssClass="label_n_c"
CommandName="Select" /><br />
<br />
</div>
</td>
</tr>
                  </table>
</ItemTemplate>
</telerik:RadListView>

Ниже мой код JS:

var listView = $find('<%= lstMemo.ClientID%>');
listView.set_dataSource(result.lstMemo);
listView.dataBind();

Я обновил этопроблема на форумах telerik тоже, но я не получаю никакого ответа.Ответьте мне, если у кого-то из вас есть решение.

1 Ответ

0 голосов
/ 22 марта 2012

Он не будет доступен, пока клиентская структура AJAX полностью не загрузится.

Чтобы связать RadListView с массивом javascript, используйте API-интерфейсы set_dataSource () и dataBind () в точкепосле загрузки клиентской инфраструктуры AJAX (и RadListView)

Как выглядит ваш источник данных result?Это массив?Веб-сервис ASMX?WCF сервис?

Связывание с массивами Javascript Чтобы связать RadListView с массивом javascript, используйте API-интерфейсы set_dataSource () и dataBind () в точке после клиентской инфраструктуры AJAX (и RadListView)):

protected override void
OnPreLoad(EventArgs e) {
    var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
    MyData.BusinessDataStorage.GetData().ForEach(item =>
    {
        ScriptManager.RegisterArrayDeclaration(Page, "pageData", serializer.Serialize(item));
    });
    base.OnPreLoad(e); }

Привязка к веб-службам ASMX Чтобы привязать RadListView к веб-службе ASMX, вам необходимо установить следующие свойства: • Расположение:расположение базы обслуживания • DataPath: имя метода данных • CountPath: имя метода счета, если требуется • SortParameterType: формат выражения сортировки, если поддерживается • FilterParameterType: формат выражения фильтра, если поддерживается

Если возвращается число и общее количество строкв одном и том же вызове службы настройка CountPath не указывается.В этом случае RadListView выполняет поиск полей с именами Data и Count в ответе JSON веб-службы соответственно.Чтобы изменить имена полей ответов, которые ищет RadListView, установите параметры DataPropertyName и CountPropertyName.Привязка к службам WCF Для автоматической привязки данных к службам WCF RadListView настраивается так же, как веб-службы ASMX.В этом примере RadListView привязан к службе WCF, которая возвращает данные и считает в одном запросе:

Привязка к службам OData Привязка RadListView к службе OData довольно проста.Только два обязательных параметра - Location и HttpMethod = "Get".Сервисы OData требуют GET-запросов в RadListView.Кроме того, если к удаленному запросу OData обращаются (и он поддерживает JSONP), ResponseType = "JSONP" также добавляется, чтобы RadListView мог сделать запрос удаленного обслуживания:

http://www.telerik.com/help/aspnet-ajax/listview-clientside-various-datasources.html http://www.telerik.com/help/aspnet-ajax/listview-clientside-binding-specifics.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...