如何以编程方式在RadPanelbar中将内容模板添加到RadPanelItem

时间:2015-12-08 09:03:20

标签: c# asp.net telerik radpanelbar

我正在使用带有telerik的asp.net页面,其中我有一个telerik radgrid,当点击网格编辑时,需要获取一些匹配当前场景的数据以及包含多行的数据表形式的数据,

现在基于数据表中的行数,我需要以编程方式生成RadPanelItems,我通过使用以下代码实现了这一点

for (int i = 0; i < dtCompletedCust.Rows.Count; i++)
{
   RadPanelItem panelItem = new RadPanelItem();
   panelItem.Text = dtCompletedCust.Rows[i]["CustName"].ToString();
   pnlReviewedCust.Items.Add(panelItem);                        
}

它成功地将我添加了RadPanelItems,

现在我的要求是我需要为每个新添加的RadPanelItem添加内容模板,这个内容模板包含多个控件, 任何人可以帮助我或建议一些事情吗?

1 个答案:

答案 0 :(得分:1)

创建一个将继承ITemplate的类:https://msdn.microsoft.com/en-us/library/system.web.ui.itemplate(v=vs.110).aspx并实例化它:https://msdn.microsoft.com/en-us/library/system.web.ui.itemplate.instantiatein(v=vs.110).aspx

类似的东西:

    RadPanelItem panelItem = new RadPanelItem();
    panelItem.Text = dtCompletedCust.Rows[i]["CustName"].ToString();
    panelItem.ContentTemplate = myITemplateClass;
    pnlReviewedCust.Items.Add(panelItem);

或使用其Controls集合:

    RadPanelItem panelItem = new RadPanelItem();
    panelItem.Text = dtCompletedCust.Rows[i]["CustName"].ToString();
    panelItem.Controls.Add(new LiteralControl(DateTime.Now.ToString()));
    pnlReviewedCust.Items.Add(panelItem);