I am trying to setup a datagrid inside a RadPanelItem template.
my setup is as follows (code is abreviated up to the grid)
<telerik:RadPanelBar> |
<Items> |
<telerik:RadPanelItem> |
<Items> |
<telerik:RadPanelItem> |
<ItemTemplate> |
<telerik:RadGrid ID="rgrdNBDetail" runat="server" GridLines="None" AutoGenerateColumns="false" PageSize="10"> |
<ClientSettings> |
<Scrolling AllowScroll="false" /> |
<ClientEvents OnRowClick="rGrid_RowClick"/> |
</ClientSettings> |
<MasterTableView ClientDataKeyNames="ID"> |
<Columns> |
<telerik:GridBoundColumn DataField="ID" Visible="false"> </telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="SPCX" Visible="false"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn DataField="SPCY" Visible="false"> |
</telerik:GridBoundColumn> |
<telerik:GridBoundColumn HeaderText="Name" DataField="SiteName"/> |
<telerik:GridBoundColumn HeaderText="Distance" DataField="Distance"/> |
</Columns> |
</MasterTableView> |
<PagerStyle AlwaysVisible="false" /> |
</telerik:RadGrid> |
</ItemTemplate> |
</telerik:RadPanelItem> |
</Items> |
</telerik:RadPanelItem> |
... |
Notice I am not declaring a datasource as I will be binding this grid through a webservice on the client side. After the webservice is called and I attempt to databind the grid, var tableView = datagrid.get_masterTableView(); it is not returning a tableView (value is null).
... |
var item = panelbar.findItemByValue('NBDetail'); |
var datagrid = item.findControl('rgrdNBDetail'); |
var tableView = datagrid.get_masterTableView(); |
tableView.set_dataSource(data); |
tableView.dataBind(); |
tableView.set_virtualItemCount(data.count); |
... |
What do I need to do to enable clientside databinding on the grid object inside the radPanelItem template? It's appears that the TableView is not being created server side when it is located inside the template so I can not get a reference to it. (I moved the grid outside the panel and it works fine) Is this the correct way to go about accomplishing this task?