<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        JQuery構建客戶/服務分離的鏈接模型中Table中的排序分析_jquery

        來源:懂視網 責編:小采 時間:2020-11-27 20:46:53
        文檔

        JQuery構建客戶/服務分離的鏈接模型中Table中的排序分析_jquery

        JQuery構建客戶/服務分離的鏈接模型中Table中的排序分析_jquery:但在這個模型中,由于不能利用這些控件,我們需要借助純Javascript和html靜態代碼來實現,感覺好像挺麻煩的?其實呢......分頁代碼既然由Webservice接口服務端中間層處理好回傳回來,那么我們的排序代碼也可以這樣的,只是在回傳前進行排序就ok了,下面就分
        推薦度:
        導讀JQuery構建客戶/服務分離的鏈接模型中Table中的排序分析_jquery:但在這個模型中,由于不能利用這些控件,我們需要借助純Javascript和html靜態代碼來實現,感覺好像挺麻煩的?其實呢......分頁代碼既然由Webservice接口服務端中間層處理好回傳回來,那么我們的排序代碼也可以這樣的,只是在回傳前進行排序就ok了,下面就分

        但在這個模型中,由于不能利用這些控件,我們需要借助純Javascript和html靜態代碼來實現,感覺好像挺麻煩的?其實呢......
        分頁代碼既然由Webservice接口服務端中間層處理好回傳回來,那么我們的排序代碼也可以這樣的,只是在回傳前進行排序就ok了,下面就分析一下。
          看過上篇的文章,可以知道在Webservice接口服務端中間層處理數據是操縱泛型的List對象
        代碼
        代碼如下:
        List list = new List();
        list = objBusinessFacade.GetTB_WEB_NZ_INVESTMENT_CollectionByFlowID(FlowID);
        return new JavaScriptSerializer().Serialize(list);

        那么我們的排序代碼就嵌在 藍色行 和 紅色行 之間。
        如何排序呢?List這個對象里面有個Sort()方法

        顯然我們不能使用默認比較器來進行排序,因為如果這樣就達不到目的(我們需要在頁面點擊某列就按該列進行排序,而默認比較器就達不到這種精準的控制),注:這里并未采用在數據庫上進行排序,為什么?因為通過List泛型對象可以處理的事情就沒必要又要通過數據庫來解決。
        List.Sort (泛型 IComparer)
        IComparer 是接口由 System.Collections.Generic.List.Sort 和 System.Collections.Generic.List.BinarySearch 方法使用。它提供一種自定義集合排序順序的方法。
        該接口有一個需要重載的方法 int Compare(a,b)
        通過調整參數a,b的順序實現升序和降序排列
        代碼如下:
        public int Compare(obj x , obj y)
        {
        //如果比較的列所對應的表字段的數據類型是DateTime,不同的數據類型對應不同的
        return DateTime.Compare(x,y); -- 升序
        //return DateTime.Compare(y,x); -- 降序
        }

        開始構建中間層比較器對象
        代碼
        代碼如下:
        ///
        /// 對象【出資人】比較器
        ///

        public class ContributivePerson_INV_Comparer : IComparer
        {
        private ESortType m_ESortType = ESortType.ASC;
        public ContributivePerson_INV_Comparer(ESortType eSortType)
        {
        m_ESortType = eSortType;
        }
        public int Compare(TB_WEB_NZ_INVESTMENT x, TB_WEB_NZ_INVESTMENT y)
        {
        int rtnCompare = 0; ;
        switch (m_ESortType)
        {
        case ESortType.ASC:
        rtnCompare = string.Compare(x.INV, y.INV);
        break;
        case ESortType.DESC:
        rtnCompare = string.Compare(y.INV, x.INV);
        break;
        }//switch
        return rtnCompare;
        }
        }//class
        ///
        /// 【余額繳付期限】比較器
        ///

        public class ContributivePerson_BALDEPER_Comparer : IComparer
        {
        private ESortType m_ESortType = ESortType.ASC;
        public ContributivePerson_BALDEPER_Comparer(ESortType eSortType)
        {
        m_ESortType = eSortType;
        }
        public int Compare(TB_WEB_NZ_INVESTMENT x, TB_WEB_NZ_INVESTMENT y)
        {
        int rtnCompare = 0; ;
        DateTime xDateTime = DateTime.Parse(x.BALDEPER.ToString());
        DateTime yDateTime = DateTime.Parse(y.BALDEPER.ToString());
        switch (m_ESortType)
        {
        case ESortType.ASC:
        rtnCompare = DateTime.Compare(xDateTime, yDateTime);
        break;
        case ESortType.DESC:
        rtnCompare = DateTime.Compare(yDateTime, xDateTime);
        break;
        }//switch
        return rtnCompare;
        }
        }//class

        從以上代碼中,我們構造了兩個比較器,分別是【出資人】,【余額繳付期限】
        我們構造一個工廠方法,來方便調用
        代碼
        代碼如下:
        ///
        /// 對象排序比較器工廠
        ///

        public class ContributivePerson_SortComparerFactory
        {
        ///
        ///
        ///

        ///
        ///
        public IComparer GetSortComparer(string FieldName, ESortType eSortType)
        {
        IComparer IComparer = null;
        switch (FieldName)
        {
        case "BALDEPER"://余額繳付期限
        IComparer = new ContributivePerson_BALDEPER_Comparer(eSortType);
        break;
        case "INV"://投資人
        IComparer = new ContributivePerson_INV_Comparer(eSortType);
        break;
        }//switch
        return IComparer;
        }
        }//class

        下面我們進行運用,這個方法是一個Webservice接口端的新寫的方法,我們看見紅色代碼段是排序塊,綠色注解是過濾代碼塊(代碼已經略去)
        代碼
        代碼如下:
        ///
        /// 分頁功能的表格填充服務端(帶排序)
        ///

        ///
        /// 每頁數目
        /// 當前頁
        /// 排序類型:"ASC" ,"DESC"
        ///
        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string Load_ContributivePerson_Table_Sort(string FlowID, int PageCount,
        int CurrentPage, string SortType, string SortFieldName)
        {
        List list = new List();
        list = objBusinessFacade.GetTB_WEB_NZ_INVESTMENT_CollectionByFlowID(FlowID);
        ContributivePerson_SortComparerFactory objFactory = new ContributivePerson_SortComparerFactory();
        IComparer objSort = null;
        if (SortType.ToUpper().Trim() == "ASC")
        {
        objSort = objFactory.GetSortComparer(SortFieldName,ESortType.ASC);
        }
        else if (SortType.ToUpper().Trim() == "DESC")
        {
        objSort = objFactory.GetSortComparer(SortFieldName, ESortType.DESC);
        }
        list.Sort(objSort);
        //部分代碼略去,略去代碼可參看上篇文章
        return new JavaScriptSerializer().Serialize(list);
        }

        通過添加比較器,我們達到了在泛型list對象上的隨心所欲的排序,而不需要通過SQL語句進行排序。在客戶端的頁面只要添加必要的參數就可以實現了,中間層服務端已經實現了全部的核心,客戶端代碼只需要判別是哪個列要進行排序,同時注意【首頁】【下一頁】等按排序的順序翻頁即可,這里客戶端的代碼略去
        效果圖:
        按【余額繳付期限】列進行升序排列

        按【投資人】降序排列

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        JQuery構建客戶/服務分離的鏈接模型中Table中的排序分析_jquery

        JQuery構建客戶/服務分離的鏈接模型中Table中的排序分析_jquery:但在這個模型中,由于不能利用這些控件,我們需要借助純Javascript和html靜態代碼來實現,感覺好像挺麻煩的?其實呢......分頁代碼既然由Webservice接口服務端中間層處理好回傳回來,那么我們的排序代碼也可以這樣的,只是在回傳前進行排序就ok了,下面就分
        推薦度:
        標簽: 排序 分析 的排序
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 成年人在线免费看视频| 6080午夜一级毛片免费看6080夜福利 | 亚洲电影免费在线观看| 亚洲人成精品久久久久| 中国一级全黄的免费观看| 国产精品亚洲高清一区二区 | 久久夜色精品国产亚洲| 亚洲免费在线观看视频| 青草草色A免费观看在线| 好大好硬好爽免费视频| 亚洲国产欧美日韩精品一区二区三区| 亚洲欧洲免费无码| 亚洲va久久久噜噜噜久久天堂| 免费视频精品一区二区三区| 亚洲福利视频一区| 野花高清在线观看免费完整版中文| 亚洲无人区码一二三码区别图片| 日本免费一区尤物| 一级做a爰黑人又硬又粗免费看51社区国产精品视| 国产大片线上免费看| 中文字幕永久免费| 亚洲成综合人影院在院播放| 成年人网站在线免费观看| 日本高清免费中文在线看| 亚洲精品中文字幕无码蜜桃| 精品一区二区三区无码免费视频| 麻豆狠色伊人亚洲综合网站| 国产免费午夜a无码v视频| 中文字幕不卡高清免费| 亚洲成人网在线观看| 四虎免费久久影院| 国产一级片免费看| 亚洲精品无码久久久久久| 亚洲伊人久久综合影院| 18以下岁毛片在免费播放| 亚洲精品女同中文字幕| 亚洲精品无码久久久影院相关影片| 免费无码一区二区三区| 亚洲爆乳无码专区| 成人免费无遮挡无码黄漫视频| 又大又硬又粗又黄的视频免费看 |