gridview如何將一行記錄顯示為兩行
最近遇到這麼一個需求
gridview中原有7個欄位
column1 column2 column3 column4 column5 column6 column7
xxx xxx xxx xxx xxx xxx xxx
現在需要新增加4個欄位,由於橫向排列會比較長,所以希望可以把新增加的4個欄位放在原有欄位的下面,增加一個控制顯示/隱藏的按鈕來控制新行。
就是這個樣子
column1 column2 column3 column4 column5 column6 column7
xxx xxx xxx xxx xxx xxx xxx button
column8:yyy column9:yyy column10:yyy column11:yyy
由於新的4個欄位需要顯示名稱,所以可能需要合併該行,重新排列4個欄位的顯示
由於gridview生成的是表格,所以要換行處理起來比較困難。
如果換做datalist或者repeater,有了template的存在,就沒有什麼問題了。
或者,可以把gridview只保留一列,所有的東西都定義在一個templatefield裡面,也就相當於repeater,實現起來也不難,只是標題和內容的對齊要控制。
google,百度,找了好久,沒有什麼結果。
CSDN上發了帖子,也是建議不要用gridview的。無奈,繼續google。
意外發現,已經有人給出程式碼了。
嗯,正是我想要的。
關鍵程式碼:
注意27行,這裡做了一個inject,結束掉一行並且建立一個新行。這樣,就可以將一行記錄顯示為兩行,而又可以像操作一行記錄那樣操作改行記錄和控制元件。
需要注意的是,結束掉的行的末尾,會多出來一個空列,會佔用一點空間,需要把列隱藏掉。
回頭想想,好像很久以前的時候,組裡的老大曾經講過這個東西。不常用到,忘了。
附上原作者的原文: