Telerik RadGrid在RadGrid里面的ToolTip里面

时间:2010-09-13 23:30:12

标签: asp.net telerik

现在我在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>

1 个答案:

答案 0 :(得分:0)

此语法不适用于内部网格的NeedDataSource处理程序,除非您希望处理程序的名称与Value属性值匹配:

OnNeedDataSource='<%# DataBinder.Eval(Container.DataItem, "Value") %>'

相反,在代码隐藏中的嵌套网格NeedDataSource处理程序中,您可以使用相同的语法引用Value:

string val = DataBinder.Eval(Container.DataItem, "Value").ToString();

然后根据给定值过滤源。