关注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();
}
答案 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一起工作,但我认为这对你的情况有帮助。
最好的问候,迪马。