星期三, 8月 19, 2009

動態新增 Repeater

今天需要動態加入 Repeater 這個控制項..在這紀錄一下..讓有需要的人可以參考一下..

這裡是主要程式碼..

//動態加入reapeater
Repeater r = new Repeater();
r.ItemTemplate = new RepeaterTemplate();
r.DataSource = GetData();
r.DataBind();
form1.Controls.Add(r);

我們要寫一個 class, 這個 class 必需要實做 ITemplate 才行, 我們在裡面加入我們動態產生 Repeater 內容所需要的東西..

public class RepeaterTemplate : ITemplate
{

#region ITemplate Members

public void InstantiateIn(Control container)
{
//加入hyperlink
HyperLink hyp = new HyperLink();
container.Controls.Add(hyp);
hyp.ID = "lbtnID";
hyp.Text = "我是連結";
hyp.NavigateUrl = "http://bibby.be";

//加入textbox
TextBox txt = new TextBox();
container.Controls.Add(txt);
txt.ID = "txtID";
txt.Text = "我是TextBox";
}

#endregion
}

然後剩下那個 GetData() 就是你自己的資料來源..一般來說 collection 或是 datatable 都可以的..就這樣..很簡單吧..DevilDevilDevilDevilDevilDevil..

1 則留言:

克勞迪奧 提到...

ItemTemplate如果可以寫一段html code讓程式去parse就更好了,順便寫一下囉