動態合併Repeater控制項資料列

2022-02-13 16:54:05 字數 1342 閱讀 4729

前天insus.net實現《動態合併gridview資料行datarow的列》。今天再玩玩repeater控制項,功能也是動態合併某列字段。

repeater控制項跟gridview控制項一樣整合度高,越是自由與鬆散的,在合併時,越是不好控制。

我們在**上,建立乙個網頁,拉repeater控制項至網頁:

去.aspx.cs為repeater控制項繫結資料,資料庫**,儲存過程,以及連線資料庫獲取資料,在此不提供。

瀏覽效果:

ok,我們開始實現合併資料列,博文開始有提及,由於repeater控制項與gridveiw控制項有很大不一樣,合併方法也沒有什麼參考可言。但有一點是相同的地方,合併的事件還是有itemcreated中進行。

上圖中為repeater控制項新增onitemcreated="repeaterfruit_itemcreated"事件,拿掉原itemtemplate模版內的html,用literal控制項來替代。也就是說,所有資料行均在後台onitemcreated="repeaterfruit_itemcreated"事件中動態產生。

去.aspx.cs定義兩個頁面級的變數,參考下圖#1部分**。而#2部分**塊,是從資料來源分析出合併列中,每個可合併的字段所占有幾行資料,並填充入dictionary集合中。

下面開始寫onitemcreated事件:

#1**行,是從集合中,獲取匹配當前資料行合併列有幾行可合併。

#2**塊,如果只有一行,就不必做任何合併動作,原原本本產生一行資料即可。

#3**塊,如果遇上需要合併的字段,而且是剛第一次產生,需要為合併列新增rowspan屬性,並賦值。

#4**塊,是相同的合併列,不必再動態產生了。

程式執行之後的效果:

Repeater控制項

1.repeater 控制項是模板化的資料繫結列表,repeater 控制項是 無外觀的 即 它不具有任何內建布局或樣式,也就不會產生任何資料控制 來控制資料的顯示。2.repeater控制項的樣式得在資料來源頁用模板來做。可以用表或者div。例如 eval id 然後在後台繫結就行。if e.co...

Repeater控制項

在顯示資料時有另乙個主要的控制項 repeater控制項。問得最頻繁的問題是,在什麼時候使用哪個控制項。表9 6對這些控制項的差別作出了總結。表9 6 比較repeater datalist和gridview控制項 特 性 repeater datalist gridview 支援表 table 布...

repeater控制項分頁

region 資料來源繫結 分頁 初始資料繫結 public void databindtorepresouce string condition else int curpage convert.toint32 this.la page.text pageddatasource ps new pa...