Telerik ASP.NET AJAX: как получить значение столбца с привязкой к данным на стороне клиента - PullRequest
0 голосов
/ 02 марта 2012

Я хочу получить значение скрытого элемента управления, то есть 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 ]

2 голосов
/ 02 марта 2012

Вероятно, было бы проще использовать 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() как допустимый вызов функции. Отрегулируйте по необходимости для вашей версии.

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

Во-первых, я бы рекомендовал установить атрибут Display = "false" для элемента telerik: TreeListBoundColumn, а не Visible = "false". Я считаю, что это может быть виновником.

Во-вторых, вы пытались использовать функцию getColumnByUniqueName () на стороне клиента:

var treeList = $find("<%= rtlRshItems.ClientID %>");
var ftcPrevious = treeList.getColumnByUniqueName("FtcPrevious");
...