Telerik ASP.NET AJAX: как получить значение столбца с привязкой к данным на стороне клиента
Я хочу получить значение скрытого элемента управления, то есть TreeListBoundColumn
TreeList:
<telerik:RadTreeList ID="rtlRshItems" ...>
<Columns>
<telerik:TreeListBoundColumn DataField="FtcPrevious"
UniqueName="FtcPrevious" Visible="false" runat="server">
</telerik:TreeListBoundColumn>
</Columns>
</telerik:RadTreeList>
Это то, что я кодировал, но не работает (хотя это с форумов Telerik)
// Calculate the new FTC
var treeList = $find("<%= rtlRshItems.ClientID %>");
var ftcPrevious = treeList.get_items().getItem(0).findControl("FtcPrevious");
var ftcPreviousValue = ftcPrevious.value;
2 ответа
Вероятно, было бы проще использовать ClientDataKeyNames
а также get_dataKeyValue()
вместо того, чтобы пытаться скрыть столбец.
Измените определение элемента управления RadTreeList на что-то вроде:
<telerik:RadTreeList ID="rtlRshItems" ClientDataKeyNames="FtcPrevious" ...>
<Columns>
</Columns>
</telerik:RadTreeList>
Настройте свой Javascript:
var treeList = $find("<%= rtlRshItems.ClientID %>");
var ftcPreviousValue = treeList.getItem(0).get_dataKeyValue("FtcPrevious");
Примечание. В самой последней документации Telerik для RadTreeList нет списка get_items()
как действительный вызов функции. Отрегулируйте по мере необходимости для вашей версии.
Во-первых, я бы рекомендовал установить атрибут Display="false" в элементе telerik:TreeListBoundColumn, а не в Visible = "false". Я считаю, что это может быть виновником.
Во-вторых, вы пытались использовать функцию getColumnByUniqueName() на стороне клиента:
var treeList = $find("<%= rtlRshItems.ClientID %>");
var ftcPrevious = treeList.getColumnByUniqueName("FtcPrevious");