2013-09-26 95 views
1

我正在尋找定製yii cgridview。我希望能夠讓用戶選擇他們希望看到的列。目前我正在選擇將顯示的確切列。Yii Cgridview動態列

我已經看過這方面的信息,但似乎並沒有變得很遠,也許我不是在尋找正確的術語,或者他們是這個術語的具體術語。理想情況下,用戶可以點擊一個按鈕並勾選將看到的框。我已經看到了這對x2crm

http://demo.x2engine.com/index.php/accounts/index

實現我也很喜歡走動即訴諸列列的順序,並調整列更是添加時的能力的能力。我意識到有人不會來爲我做這件事,但肯定如果有人可以提供我任何信息或類似的請求,將不勝感激。

回答

3

經過漫長的艱苦搜索,我發現了一些事實上可能是我的兩個請求的解決方案。 Yii的擴展允許您通過簡單的複選框選擇希望顯示的列,並允許對列進行重新排序。

http://ecolumns.demopage.ru/index.php

上面的鏈接將帶您到演示頁面的擴展和下面的鏈接是鏈接到擴展下載頁面。

http://www.yiiframework.com/extension/ecolumns/

這是迄今爲止實現你的web應用程序這一功能的最簡單的方法。

1

開始通過讀取文檔爲CGridView,

對於它需要在陣列中指定顯示(以及是否允許排序它們,等等),以便使用戶能夠選擇他們想要的列的列的構造看起來幾乎是微不足道的:

顯示帶有複選框的表單,其值是列的名稱。當用戶提交表單時,循環複選框並將每個當前字段添加到傳遞給CGridView的數組中。

如果您想要爲列設置特定的設置(例如特定的列標題或格式),但這並不是太複雜 - 在這種情況下,您只需定義一個數組來保存設置,並且將該數組添加到您提交給CGridView的總數組中。

允許拖放列是一個更具挑戰性的企業,如果沒有自定義實現,實際上可能不會實現 - 這是因爲CGridView本質上只是一個表,即您可以輕鬆地拖放行(因爲它們是整個項目),但拖動拖放行實際上是拖放很多單獨的單元格。然而,有jQuery的例子可以讓你開始 - 實現一個使用div而不是表的CGridView並不會是一個巨大的問題,並且使用列內的單元格而不是行內的單元格。

我希望能有所幫助。