需要帮助动态绑定Telerik的RADStrip

时间:2010-12-11 12:44:34

标签: c# asp.net

关注telerik网站上的 this 示例,其实施方式如下: -

aspx页面: -

<div id="div1" runat="server">
        <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1">
        </telerik:RadTabStrip>
        <telerik:RadMultiPage ID="RadMultiPage1" runat="server" Width="100%">
            <telerik:RadPageView ID="pv1" runat="server" Selected="true">
            </telerik:RadPageView>
        </telerik:RadMultiPage>
    </div>

代码背后: -

行数据集中的此方法ds = objbllQuesType.GetQuesType();返回一个DataSet,其中包含一个包含QuesTypeID和QuesType的Name

的表

现在发生的事情是,在RadStrip上只生成了4个Tabs,我知道它是“for循环(int i = 0; i&lt; 4; i ++)”的coz 我想要不。选项卡等于否。我在Table中的QuesType是6。

此外,所有标签的文本都是“QuesType1”,如下所示: -

在RadStrip中,Tab1的Text应为“QuesType1”,Tab2的Text应为“QuesType2”,Tab3的Text应为“QuesType3”,依此类推。

我应该如何修改上面的代码来实现我想要的?

[编辑] 有没有人和Telerik的RADStrip合作过?需要帮助PLZ。

我应该在下面的代码中更改什么,以便获取QuesTypes并将QuesType绑定到选项卡?目前它只获取第一个QuesType并将其绑定到所有选项卡的文本属性。

 for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
            tab.Text = ds.Tables[0].Rows[0]["QuesType"].ToString();
            }

1 个答案:

答案 0 :(得分:1)

尝试使用此代码将文本设置为标签:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DataSet ds = GetDataSet();

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                CreateRootTab(i, ds);
            }
            RadTabStrip1.SelectedIndex = 0;
        }
    }

    private void CreateRootTab(int index, DataSet ds)
    {
        for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
        {
            var tab = new RadTab();
            tab.Text = (string) ds.Tables[0].Rows[index].ItemArray[i];
            RadTabStrip1.Tabs.Add(tab);
        }
    }

    private DataSet GetDataSet()
    {
        bllQuesType objbllQuesQType = new bllQuesType();
        var ds = new DataSet();
        return objbllQuesType.GetQuesType();
    }

我没有和Rad一起工作,但我认为这对你的情况有帮助。

最好的问候,迪马。