现在我在RadGrid中有一个RadToolTip。 RadGrid显示数据源中名为“Value”的字段。 RadToolTip显示相同的内容。
我想在RadToolTip中添加另一个RadGrid。设置第二个RadGrid的数据源的函数应该将“Value”作为参数吗?
我该怎么做?
这是我到目前为止所拥有的。
<h2>Currently Assigned Tags</h2>
<telerik:RadGrid runat="server" ID="grdTags" OnNeedDataSource="grdTags_NeedDataSource" AllowMultiRowSelection="true"
AutoGenerateColumns="false" OnDeleteCommand="DeleteTag" Skin="CiscoGreen" EnableEmbeddedSkins="false">
<ClientSettings>
<Selecting AllowRowSelect="true" />
</ClientSettings>
<MasterTableView DataKeyNames="KeywordID">
<Columns>
<telerik:GridButtonColumn ButtonType="LinkButton" Text="Delete" CommandName="Delete" />
<telerik:GridBoundColumn Visible="false" DataField="KeywordID" />
<telerik:GridBoundColumn HeaderText="Value" DataField="Value" />
<telerik:GridTemplateColumn UniqueName="ToolTip">
<HeaderTemplate>
Related Campaigns
</HeaderTemplate>
<ItemTemplate>
<asp:Label runat="server" ID="TargetLabel" Text='<%# DataBinder.Eval(Container.DataItem, "Value") %>' />
<telerik:RadToolTip ID="ttRelatedCampaigns" runat="server" Width="300px" Height="300px" TargetControlID="TargetLabel">
<%# DataBinder.Eval(Container.DataItem, "Value") %>
<telerik:RadGrid ID="grdRelatedCampaigns" runat="server" OnNeedDataSource='<%# DataBinder.Eval(Container.DataItem, "Value") %>' AutoGenerateColumns="false"
Skin="CiscoGreen" EnableEmbeddedSkins="false">
<MasterTableView DataKeyNames="InitiativeName">
<Columns>
<telerik:GridBoundColumn HeaderText="Campaign Name" DataField="Value" />
</Columns>
</MasterTableView>
</telerik:RadGrid>
</telerik:RadToolTip>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
答案 0 :(得分:0)
此语法不适用于内部网格的NeedDataSource处理程序,除非您希望处理程序的名称与Value属性值匹配:
OnNeedDataSource='<%# DataBinder.Eval(Container.DataItem, "Value") %>'
相反,在代码隐藏中的嵌套网格NeedDataSource处理程序中,您可以使用相同的语法引用Value:
string val = DataBinder.Eval(Container.DataItem, "Value").ToString();
然后根据给定值过滤源。