1

我要做的是放置一个在特定选项卡上动态创建的特定图表。例如,图表 A 将转到 ColorTab,图表 B 将转到 HistoryTab

<telerik:RadAjaxPanel ID="StripPanel" runat="server" Width="100%">
    <telerik:RadTabStrip ID="TabStrip" runat="server" MultiPageID="Monetary" SelectedIndex="0">
        <Tabs>
            <telerik:RadTab Text="MonetaryTab">
            </telerik:RadTab>
            <telerik:RadTab Text="VTab">
            </telerik:RadTab>
            <telerik:RadTab Text="ColorTab">
            </telerik:RadTab>
            <telerik:RadTab Text="HistoryTab">
            </telerik:RadTab>
            <telerik:RadTab Text="AdTab">
            </telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
</telerik:RadAjaxPanel>

这就是我正在尝试的

Control masterC = FindControl("MonetaryTab");
                RadHtmlChart CarLotChart = ChartCreationClass.HTMLChartCreation();
                masterC.Controls.Add(CarLotChart);

它永远找不到放置图表的控件。

4

2 回答 2

0

使用线程的建议来完成此任务:

RadHtmlChart CarLotChart = ChartCreationClass.HTMLChartCreation();
TabStrip.Tabs["MonetaryTab"].Controls.Add(CarLotChart);

通过以下任一方法参考所需的选项卡。

于 2012-08-07T16:37:50.217 回答
0

RadTabStrip 与 RadmultiPage 控件结合使用。您首先在其中定义 RafTabStrip 和 Tabs。然后有一个 RadMultiPage 并为您在 TabStrip 中定义的每个选项卡定义一个页面(类型 RadPageView)。控件需要添加到 PageView 而不是直接添加到选项卡。

我根据您在问题中定义的 TabStrip 创建了一个小型演示。

这是 TabStrip 代码:

<telerik:RadTabStrip ID="TabStrip" runat="server" MultiPageID="Monetary" SelectedIndex="0" >
            <Tabs>
                <telerik:RadTab Text="MonetaryTab">
                </telerik:RadTab>
                <telerik:RadTab Text="VTab">
                </telerik:RadTab>
                <telerik:RadTab Text="ColorTab">
                </telerik:RadTab>
                <telerik:RadTab Text="HistoryTab">
                </telerik:RadTab>
                <telerik:RadTab Text="AdTab">
                </telerik:RadTab>
            </Tabs>
        </telerik:RadTabStrip>

现在这里是 RadMultiPage 定义:

<telerik:RadMultiPage ID="Monetary" runat="server" SelectedIndex="0" OnLoad="Monetary_Load">
            <telerik:RadPageView runat="server" ID="monetaryTabPageView"/>
            <telerik:RadPageView runat="server" ID="vTabPageView"/>
            <telerik:RadPageView runat="server" ID="colorTabPageView"/>
            <telerik:RadPageView runat="server" ID="historyTabPageView"/>
            <telerik:RadPageView runat="server" ID="adTabPageView"/>
        </telerik:RadMultiPage>

请注意,我正在收听 RadMultiPage 的 OnLoad 事件。在这个演示中 - 当 RadMultiPage 加载时,我将创建图表并将其添加到我们拥有的 eacg 网页浏览中。这是事件处理程序代码:

 protected void Monetary_Load(object sender, EventArgs e)
    {
        AddChart(monetaryTabPageView);
        AddChart(vTabPageView);
        AddChart(colorTabPageView);
        AddChart(historyTabPageView);
        AddChart(adTabPageView);
    }

    private void AddChart(RadPageView pageView)
    {
        RadHtmlChart chart = new RadHtmlChart();
        chart.ChartTitle.Text = pageView.ID + " chart";
        pageView.Controls.Add(chart);
    }

如您所见,我只是将控件直接添加到网页浏览的控件集合中。

注意:作为概念证明,我创建了一个空图表,即只定义了标题的图表。如果需要,您可以继续绑定一些有意义的数据。

这是外观的屏幕截图:

TabStrip 演示

希望这能回答你的问题。

Lohith (Tech Evangelist, Telerik India)

于 2012-08-07T18:59:42.017 回答