flexigrid使用心得


flexigrid參數說明:
    height: 200, //flexigrid插件的高度,單位為px
    width: 'auto', //寬度值,auto表示根據每列的寬度自動計算,在IE6下建議設置具體值否則會有問題
    striped: true, //是否顯示斑紋效果,默認是奇偶交互的形式
    novstripe: false,//沒用過這個屬性
    minwidth: 30, //列的最小寬度
    minheight: 80, //列的最小高度
    resizable: false, //resizable table是否可伸縮
    url: false, //ajax url,ajax方式對應的url地址
    method: 'POST', // data sending method,數據發送方式
    dataType: 'json', // type of data loaded,數據加載的類型,xml,json
    errormsg: '發生錯誤', //錯誤提升信息
    usepager: false, //是否分頁
    nowrap: true, //是否不換行
    page: 1, //current page,默認當前頁
    total: 1, //total pages,總頁面數
    useRp: true, //use the results per page select box,是否可以動態設置每頁顯示的結果數
    rp: 25, // results per page,每頁默認的結果數
    rpOptions: [10, 15, 20, 25, 40, 100], //可選擇設定的每頁結果數
    title: false, //是否包含標題
    pagestat: '顯示記錄從{from}到{to},總數 {total} 條', //顯示當前頁和總頁面的樣式
    procmsg: '正在處理數據,請稍候 ...', //正在處理的提示信息
    query: '', //搜索查詢的條件
    qtype: '', //搜索查詢的類別
    qop: "Eq", //搜索的操作符
    nomsg: '沒有符合條件的記錄存在', //無結果的提示信息
    minColToggle: 1, //允許顯示的最小列數
    showToggleBtn: true, //是否允許顯示隱藏列,該屬性有bug設置成false點擊頭腳本報錯。
    hideOnSubmit: true, //是否在回調時顯示遮蓋
    showTableToggleBtn: false, //是否顯示【顯示隱藏Grid】的按鈕
    autoload: true, //自動加載,即第一次發起ajax請求
    blockOpacity: 0.5, //透明度設置
    onToggleCol: false, //當在行之間轉換時,可在此方法中重寫默認實現,基本無用
    onChangeSort: false, //當改變排序時,可在此方法中重寫默認實現,自行實現客戶端排序
    onSuccess: false, //成功后執行
    onSubmit: false, // 調用自定義的計算函數,基本沒用      
    //Style
    gridClass: "bbit-grid"//樣式          
}, p);
----------------------------------------------------------------------------------------------
2、支持ajax跨域:
    url中加callback=?
    后台獲得callback函數的名字
    返回json數據格式為:print(callbackName+"("+jsonString+")");
----------------------------------------------------------------------------------------------
3、Flexigrid(HUGO.CM修改版v1.1)使用說明:
    1、加載flexigrid。p:選項參數集合
        $(“”).flexigrid(p);
    2、重新加載數據。
        $(“”).flexReload(p);
    3、更改flexigrid參數。P:選項參數集合
        $(“”).flexOptions (p);
    4、隱藏/顯示列。cid:列索引,visible:bool
        $(“”).flexToggleCol (cid, visible);
    5、綁定數據。Data:數據源
        $(“”).flexAddData (data);
    6、no select plugin by me 。不知道做什么用的
        $(“”).noSelect (p);
    7、重新指定寬度和高度。
        $(“”).flexResize(w,h);
    8、翻頁。type:first、prev、next、last、input
        $(“”).changePage(type);
----------------------------------------------------------------------------------------------
4、Flexigrid——colModel:
    屬性名    類型    描述
    display    string    顯示的列名
    name    string    綁定的列名
    sortable bool    是否可以排序
    align    string    對其方式
    width    int    列的寬度
    hide    bool    是否隱藏該列
    pk    bool    是否為主鍵標識、如果是則隱藏該列,值存入隱藏域中
    process    function    
    customValue function    自定義顯示值。(如性別:數據庫為Bit類型,通過customValue方法返回“男/女”)參數:value,i
----------------------------------------------------------------------------------------------
5、Flexigrid——事件
    事件名        參數                    描述            返回值
    onDragCol    dcoln,dcolt                拖動列后觸發         無
    onToggleCol    cid,visible                隱藏/顯示列后觸發    無
    onChangeSort    sortname,sortorder            自定義排序事件        無
    onChangePage    newp                    自定義翻頁事件        無
    onSuccess    無                    數據獲取成功時觸發    無
    onError        XMLHttpRequest,textStatus,errorThrown   出現錯誤時觸發        無
    onSubmit    無                    在獲取數據前時觸發    bool
    onRowSelect    this                    行選中事件        無
----------------------------------------------------------------------------------------------
6、Flexigrid——buttons
    屬性名        類型        描述
    name        string        按鈕名稱
    bgclass        string        樣式
    onpress        function    點擊觸發的方法
    separator    bool        分割線
----------------------------------------------------------------------------------------------
7、Flexigrid——searchitems
    屬性名        類型        描述
    display        string        搜索類型下拉列表框:顯示的列名
    name        string        搜索類型下拉列表框:綁定的列名
    isdefault    bool        是否為默認搜索類型
    //注:如果searchitems:true,則自動根據所有字段生成下拉列表框
以上參數說明轉自快樂家++ (Alan) ,感謝整理。

最近補了一下jquery和ajax,用到了flexigrid這款jquery插件。摸索了一下,也頭疼了一兩天。把我自己遇到的問題總結一下:

用json對象flexigrid中傳數據的時候,對應的格式:(我就是因為格式的問題糾結了好久)

//這種格式的json確認可以解析
{
“page”: 1,
”total“: 239,
rows:[
{“id”:”1“,”name“:”張三“},
]
}
//但是按照demo構造的如下格式卻無法實現數據的綁定
{
total: (no of rec),
page : (page no),
rows : [{cell: [ (col1 value) , (col2 value) ,.. ],id:1 },
        {cell: [ (col1 value) , (col2 value) ,.. ] },id:2]
}

 

這里需要提一下:在用json-lib下的net.sf.json.JSONArray實現對構造json對象時,得到的json字符創會多一個”[]“,我自己就是在這糾結了很久啊,

        2013-1-15 還是太連清了,用JsonArray當然生成的是json數組 我記得還有一個類 叫做JSONObject 用相同的方法可以解析類生成對應的json字符串。

用json-lib構造flexi可以接受的json字符串代碼如下:

1.首先是FlexiObject類

import java.util.List;
public class FlexiObject {
    private int page;        /*當前頁數*/
    private long total;        /*總記錄條數*/
    private List rows;        /*記錄集合*/
    public int getPage() {
        return page;
    }
    public void setPage(int page) {
        this.page =page;
    }
    public long getTotal() {
        return total;
    }
    public void setTotal(long total) {
        this.total = total;
    }
    public List getRows() {
        return rows;
    }
    public void setRows(List rows) {
        this.rows = rows;
    }
    
}

2.其次是對應的構造方法,可以寫一個JsonUtil類

import net.sf.json.JSONArray;

public class JsonUtil {
    
    public static String toFlexiJson(int page,int total,List rows){
        FlexiObject flexiobj=new FlexiObject();
        flexiobj.setPage(page);
        flexiobj.setRows(rows);
        flexiobj.setTotal(total);
        JSONArray jsonArray = JSONArray.fromObject(flexiobj);
        String jsonStr=jsonArray.toString();
        jsonStr=jsonStr.substring(1,jsonStr.length()-1);
        return jsonStr;
    }
}

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM