如何从父RadMultiPage传递数据动态过滤子RadPageView上的组合框?

时间:2016-05-27 17:51:36

标签: c# asp.net combobox telerik

我们在网页上插入了一个Telerik RadMultiPage控件,其中有7个标签 在其中一些选项卡上,我们要显示一个组合框,向用户显示可以选择编辑/查看数据的表名列表。
我们希望根据所选的选项卡过滤表名列表。

是否有某种方法可以将承载RadMultiPage控件的页面中的值传递给每个RadPageView的子网页?

enter image description here

2 个答案:

答案 0 :(得分:1)

这是一个让你考虑的想法。您可能需要在服务器上注册选项卡单击事件,然后将此选项卡值传递到下拉列表控件中,然后筛选并重新绑定数据。

<telerik:RadTabStrip ID="RadTabStrip1" runat="server" OnTabClick="RadTabStrip1_TabClick" MultiPageID="RadMultiPage1">
  <Tabs>
    <telerik:RadTab runat="server" Text="Tab1" Value="1" PageViewID="PageView1">
    </telerik:RadTab>
    <telerik:RadTab runat="server" Text="Tab2" Value="2" PageViewID="PageView2">
    </telerik:RadTab>
  </Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage id="RadMultiPage1" runat="server" SelectedIndex="0">
  <telerik:RadPageView id="PageView1" runat="server">
      ... 1st RadComboBox control here
  </telerik:RadPageView>
  <telerik:RadPageView id="PageView2" runat="server">
      ... 2nd RadComboBox control here
  </telerik:RadPageView>
</telerik:RadMultiPage>     


protected void RadTabStrip1_TabClick(object sender, RadTabStripEventArgs e)
{
  switch (e.Tab.Value)
  {
    case "1":
      // get a reference of your 1st RadComboBox control and rebind data...
      break;
    case "2": // add a new child tab
      // get a reference of your 2nd RadComboBox control and rebind data...
      break;
  }
}

答案 1 :(得分:1)

如果您使用ContentUrl加载PageViews中的整个页面,

  • 使用查询字符串参数或会话/缓存变量(您可以采用与其他答案类似的方式应用它)

  • 或者使用JavaScript调用将返回所需数据的父页面上的函数,例如

        //in the multiplage content page
        function getCurrentTab() {
            var info = window.parent.getActiveTab();
        }
    
        //on the page with the tab strip
        function getActiveTab() {
            var ts = $find("<%=YourTabStrip.ClientID%>");
            return ts.get_selectedTab().get_value();
        }`enter code here`