我正在使用 Telerik 的 AJAX 控件,但遇到了一个小问题。在我的应用程序中,用户输入“周”数,然后程序将 RadPane 动态添加到中继器(带有分离器,以便他们可以修改大小),RadGrid 在 Pane 内。
我有以下标记:
<telerik:RadSplitter ID="splt" runat="server" Width="100%">
<asp:Repeater ID="rptSplitter" runat="server" OnItemDataBound="rptSplitter_ItemDataBound">
<ItemTemplate>
<telerik:RadPane ID="pane" runat="server">
<asp:Label ID="lblText" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"From") %>'></asp:Label>
<telerik:RadGrid ID="gv" runat="server" AutoGenerateColumns="false">
<MasterTableView runat="server" DataKeyNames="ID">
<Columns>
<telerik:GridBoundColumn DataField="ConsignmentNo" HeaderText="Consignment" SortExpression="ConsignmentNo">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Customer" HeaderText="Customer" SortExpression="Customer"></telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
</telerik:RadPane>
</ItemTemplate>
<SeparatorTemplate>
<telerik:RadSplitBar runat="server"></telerik:RadSplitBar>
</SeparatorTemplate>
</asp:Repeater>
</telerik:RadSplitter>
然而,当绑定(bind)转发器时,我得到以下异常(好吧,异常没有显示,但我可以在网格的 itemdatabound 事件中“看到”它):
"RadPane must be placed inside a RadSplitter control."
关于如何以某种方式让它工作有什么想法吗?
最佳答案
我想您可以通过将转发器控件中的所有内容放入用户控件来解决这个问题。抛弃转发器控件,然后循环遍历您的集合,动态添加带有用户控件的 Pane 。
Telerik 有一个 demo将 Pane 动态添加到拆分器。
关于c# - 其他控件内的中继器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10596006/