動態合併GridView資料行DataRow的列

2022-02-13 16:54:05 字數 1496 閱讀 8123

前段時間,insus.net一直在演示gridview控制項header頭行或列:《動態變更gridview控制項列名》和《動態合併或定製gridview控制項header頭某些列》,現今想演示合併gridview的datarow中的列。

其實合併列也不是什麼複雜的問題,只想明白其中的原理,就覺得簡單至極。

資料庫方面的準備,在此例中略過。

在站點建立乙個網頁,拉gridview控制項到.aspx網頁中,並用自定義模版顯示資料。如下:

去.aspx.cs的code behind寫資料繫結**:

網頁在瀏覽時,會看到下面的效果:

看到否,上圖中第二列,有很kindname的相同的,為了介面簡潔與清晰,insus.net決定合併它們。為了實現資料行中的列合併,我們需要為gridview控制項寫乙個事件 onrowcreated="gridviewfruit_rowcreated":

現在,我們可以去code behind寫程式了,在寫onrowcreated事件程式之前,先需要定義乙個頁面級的變數:

上圖中的變數,rowcount將記錄所有記錄總數,初始值為0。rowindex是將用來記錄行索引,初始值為0, 而mergecelltext變數是合併的欄位名。

ok,下面我們開始寫onrowcreated事件邏輯程式:

上圖中:

#35行**,如果不是資料行,將跳過下面的程式。

#37行,把e.row.dataitem轉為datarowview。

#39-#43行**,如果是datarow第一行,將行索引和將要合併的列值記錄下來。

#45 -#62行**,均是處理非第一資料行。

#47行**,如果當前行需要合併的資料列值與前一行不相同的,我們就可以合併前面的資料列了。還要把當前的行索引與列值記錄下來。

#55行把相同的列拿掉。

#57行**是判斷是否為最後一行。

#59行**,做最後一次合併列。

執行的結果如下:

如果你明白上面的邏輯處理方法,做其它列合併,是輕而易舉的事情。

動態合併GridView資料行DataRow的列

前段時間,insus.net一直在演示gridview控制項header頭行或列 動態變更gridview控制項列名 和 動態合併或定製gridview控制項header頭某些列 現今想演示合併gridview的datarow中的列。其實合併列也不是什麼複雜的問題,只想明白其中的原理,就覺得簡單至極...

動態合併GridView資料行DataRow的列

前段時間,insus.net一直在演示gridview控制項header頭行或列 動態變更gridview控制項列名 和 動態合併或定製gridview控制項header頭某些列 現今想演示合併gridview的datarow中的列。其實合併列也不是什麼複雜的問題,只想明白其中的原理,就覺得簡單至極...

GridView 合併列 行類

using system using system.collections.generic using system.linq using system.web using system.data using system.web.ui.webcontrols gridviewmergecell 合...