版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
3.5命令的使用深圳市信息職業(yè)技術(shù)學(xué)院——平臺(tái)查詢(xún)的實(shí)現(xiàn)平臺(tái)查詢(xún)實(shí)現(xiàn)介紹01目
錄標(biāo)準(zhǔn)查詢(xún)實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)02重寫(xiě)查詢(xún)命令實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)03自定義查詢(xún)實(shí)體實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)04標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)05知識(shí)回顧列表保存命令框架實(shí)現(xiàn)介紹;自定義列表保存命令開(kāi)發(fā)示例;表單保存命令框架實(shí)現(xiàn)介紹;自定義表單保存命令開(kāi)發(fā)示例;自定義保存命令注意事項(xiàng)。學(xué)習(xí)目標(biāo)通過(guò)本節(jié)學(xué)習(xí)可以:掌握平臺(tái)標(biāo)準(zhǔn)查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn);掌握自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn);掌握自定義查詢(xún)命令的開(kāi)發(fā)實(shí)現(xiàn);了解平臺(tái)查詢(xún)的實(shí)現(xiàn)方式,并能夠根據(jù)具體的業(yè)務(wù)需求選擇合適的方式實(shí)現(xiàn)功能的查詢(xún);了解標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者實(shí)現(xiàn)查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)。01平臺(tái)查詢(xún)實(shí)現(xiàn)介紹平臺(tái)查詢(xún)實(shí)現(xiàn)介紹平臺(tái)查詢(xún)實(shí)現(xiàn)介紹平臺(tái)實(shí)現(xiàn)查詢(xún)的方式包括:標(biāo)準(zhǔn)查詢(xún):需要配置查詢(xún)視圖配置;適用于基礎(chǔ)功能的查詢(xún),界面配置和查詢(xún)都是使用框架就能滿(mǎn)足要求。自定義查詢(xún)實(shí)體類(lèi):需要配置查詢(xún)實(shí)體類(lèi)、查詢(xún)實(shí)體界面和查詢(xún)方法;框架標(biāo)準(zhǔn)查詢(xún)不能滿(mǎn)足業(yè)務(wù)要求時(shí)使用,適用于單據(jù)和報(bào)表類(lèi)的查詢(xún),這種方式的查詢(xún)基本可以滿(mǎn)足所有業(yè)務(wù)場(chǎng)景。重寫(xiě)查詢(xún)命令:可以結(jié)合標(biāo)準(zhǔn)查詢(xún)和自定義查詢(xún)實(shí)體類(lèi)一起使用,如果使用的自定義查詢(xún)實(shí)體,又重寫(xiě)了查詢(xún)命令,自定義查詢(xún)實(shí)體類(lèi)的查詢(xún)方法返回為空,否則會(huì)出現(xiàn)查詢(xún)兩次的情況。標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者:需要配置查詢(xún)視圖、數(shù)據(jù)提供者類(lèi)實(shí)現(xiàn)查詢(xún)方法;界面配置可以使用框架的實(shí)現(xiàn),后端查詢(xún)數(shù)據(jù)庫(kù)部分需要重寫(xiě)才能滿(mǎn)足業(yè)務(wù)需求。平臺(tái)查詢(xún)實(shí)現(xiàn)介紹查詢(xún)域平臺(tái)命令的使用查詢(xún)區(qū)域:查詢(xún)區(qū)域平臺(tái)是未進(jìn)行權(quán)限管控的,只要有菜單的權(quán)限,查詢(xún)域的操作按鈕就可使用;查詢(xún)命令的使用:View.UseCommands(WebCommandNames.ExecuteQuery);清空命令的使用:View.UseCommands(WebCommandNames.ClearQuery);重置命令的使用:View.UseCommands(WebCommandNames.ResetQuery);移除框架高級(jí)查詢(xún)命令:使用WebCommandNames.SysQueryCommands.Remove(typeof(AdvancedQueryCommand).FullName);進(jìn)行移除。注意:使用下面代碼,所有功能的高級(jí)查詢(xún)按鈕都會(huì)被移除。思考題普通用戶(hù)有對(duì)應(yīng)功能的菜單權(quán)限,未分配查詢(xún)、清空和重置按鈕的操作權(quán)限,能否操作這三個(gè)按鈕?可以,查詢(xún)區(qū)域的按鈕未控制權(quán)限,有菜單權(quán)限即可操作查詢(xún)域按鈕。02標(biāo)準(zhǔn)查詢(xún)實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)標(biāo)準(zhǔn)查詢(xún)實(shí)現(xiàn)標(biāo)準(zhǔn)查詢(xún)是框架實(shí)現(xiàn)的通用查詢(xún),適用于基礎(chǔ)功能的查詢(xún)。使用標(biāo)準(zhǔn)查詢(xún),只需要在實(shí)體中通過(guò)[CriteriaQuery]配置查詢(xún)面板,界面的ConfigQueryView配置查詢(xún)條件。標(biāo)準(zhǔn)查詢(xún)實(shí)現(xiàn)03重寫(xiě)查詢(xún)命令實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)查詢(xún)命令平臺(tái)實(shí)現(xiàn)介紹查詢(xún)命令平臺(tái)實(shí)現(xiàn)介紹查詢(xún)命令框架是在SIE.cmd.ExecuteQuery中實(shí)現(xiàn)的,實(shí)現(xiàn)代碼如下。SIE.defineCommand('SIE.cmd.ExecuteQuery',{meta:{text:"查詢(xún)",iconCls:"icon-Searchicon-blue"},executeIntervalMode:SIE.cmd.IntervalMode.None.value,execute:function(view){varrecord=view.getCurrent();deleterecord.data['CriteriaModuleKey'];deleterecord.data['CriteriaType'];deleterecord.data["CriteriaString"];deleterecord.data["LinkData"];varistrue=true;view.getControl().items.items.forEach(function(item){if(!item.validate()){istrue=false;}});if(istrue){view.tryExecuteQuery({clearSort:true,action:'entity'});}}});獲取當(dāng)前行數(shù)據(jù)刪除數(shù)據(jù),如果不存在,刪除也不會(huì)保存。判斷界面控件的驗(yàn)證是否通過(guò)。驗(yàn)證通過(guò),調(diào)用框架的查詢(xún),執(zhí)行后端的查詢(xún)邏輯。查詢(xún)命令的定義查詢(xún)命令的定義查詢(xún)命令的定義,因?yàn)橐貙?xiě)execute執(zhí)行方法,所以不需要繼承框架的查詢(xún)命令SIE.cmd.ExecuteQueryCommand,查詢(xún)的實(shí)現(xiàn)可以拷貝框架查詢(xún)的實(shí)現(xiàn)邏輯進(jìn)行修改。SIE.defineCommand('SIE.cmd.ExecuteQueryCommand',{meta:{text:"查詢(xún)",iconCls:"icon-Searchicon-blue"},
execute:function(view){
}});重寫(xiě)查詢(xún)命令開(kāi)發(fā)步驟開(kāi)發(fā)步驟在界面端添加查詢(xún)命令在框架實(shí)現(xiàn)的基礎(chǔ)上加了自己的前端校驗(yàn)。這里沒(méi)有使用框架的查詢(xún),查詢(xún)方法自己去實(shí)現(xiàn)的。重寫(xiě)查詢(xún)命令開(kāi)發(fā)步驟知識(shí)擴(kuò)展前端向后端請(qǐng)求數(shù)據(jù),可以使用SIE.invokeDataQuery請(qǐng)求SIE.invokeDataQuery({method:'GetItems',params:[criteria],action:'queryer',type:'SIE.Web.Demo.Items.ItemDataQueryer',token:view.getToken(),success:function(res){
}});票據(jù),必填添加,否則不會(huì)進(jìn)入到后端查詢(xún)方法參數(shù)請(qǐng)求方式,固定值請(qǐng)求類(lèi)型,后端查詢(xún)類(lèi)的全命名空間,CS類(lèi)查詢(xún)類(lèi)需要繼承DataQueryer請(qǐng)求成功的回調(diào)函數(shù)處理。重寫(xiě)查詢(xún)命令開(kāi)發(fā)步驟開(kāi)發(fā)步驟SIE.invokeDataQuery后臺(tái)請(qǐng)求方法的實(shí)現(xiàn),繼承DataQueryer;因?yàn)镈ataQueryer是在SIE.Web中實(shí)現(xiàn)的,所以該類(lèi)必須建在UI端工程。重寫(xiě)查詢(xún)命令開(kāi)發(fā)步驟開(kāi)發(fā)步驟GetItems方法的實(shí)現(xiàn)。重寫(xiě)查詢(xún)命令開(kāi)發(fā)步驟開(kāi)發(fā)步驟在success請(qǐng)求成功的方法中處理表格的數(shù)據(jù)。設(shè)置表格列表的數(shù)據(jù)設(shè)置完成后將數(shù)據(jù)標(biāo)記成未修改狀態(tài)。重寫(xiě)查詢(xún)命令開(kāi)發(fā)步驟開(kāi)發(fā)步驟在界面將框架的查詢(xún)命令替換成自定義查詢(xún)命令,框架的查詢(xún)命令為WebCommandNames.ExecuteQuery。重寫(xiě)查詢(xún)命令開(kāi)發(fā)步驟開(kāi)發(fā)步驟說(shuō)明:如果是自定義查詢(xún)實(shí)體中重寫(xiě)的查詢(xún)命令,查詢(xún)實(shí)體的查詢(xún)方法中返回一個(gè)空集合即可,這里不要再去查數(shù)據(jù)庫(kù)操作了。思考題前端js調(diào)用框架后端標(biāo)準(zhǔn)的查詢(xún)是如何調(diào)用的?view.tryExecuteQuery({clearSort:true,action:'entity'});04自定義查詢(xún)實(shí)體實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)思考題讀者管理中類(lèi)別號(hào)可以進(jìn)行多選查詢(xún),狀態(tài)可以查詢(xún)?nèi)繑?shù)據(jù),應(yīng)該如何實(shí)現(xiàn)?從需求分析可以看出,該業(yè)務(wù)使用框架標(biāo)準(zhǔn)的查詢(xún)不能滿(mǎn)足要求,需要進(jìn)行查詢(xún)實(shí)體的重寫(xiě)。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟在服務(wù)端工程,定義一個(gè)查詢(xún)實(shí)體類(lèi),命名規(guī)范:實(shí)體+Criteria,繼承Criteria,標(biāo)記特性為[QueryEntity,Serializable],在查詢(xún)實(shí)體中添加查詢(xún)條件(通過(guò)代碼段添加)和重寫(xiě)查詢(xún)方法。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟查詢(xún)實(shí)體類(lèi)別號(hào)屬性說(shuō)明,類(lèi)別號(hào)要實(shí)現(xiàn)多選,配置的屬性類(lèi)型設(shè)置為string。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟實(shí)體中狀態(tài)屬性不允許為空,查詢(xún)時(shí)要設(shè)置為可空,否則不能選擇查詢(xún)?nèi)繑?shù)據(jù)。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟配置查詢(xún)實(shí)體對(duì)應(yīng)的界面。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟在讀者管理控制器中編寫(xiě)查詢(xún)方法。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟查詢(xún)方法代碼參考。
public
virtualEntityList<ReaderMan>GetReaderManList(ReaderManCriteriacriteria)
{
varquery=Query<ReaderMan>();query.WhereIf(!criteria.ReaderNo.IsNullOrEmpty(),p=>p.ReaderNo==criteria.ReaderNo).WhereIf(!criteria.Name.IsNullOrEmpty(),p=>p.Name==criteria.Name).WhereIf(criteria.State.HasValue,p=>p.State==criteria.State);
if(!criteria.ReaderCatId.IsNullOrEmpty())
{
string[]catIds=criteria.ReaderCatId.Split(',');List<double>readerCatIds=catIds.Select(p=>double.Parse(p)).ToList();query.Where(p=>readerCatIds.Contains(p.ReaderCatId));
}
varresult=query.OrderBy(criteria.OrderInfoList).ToList(criteria.PagingInfo,newEagerLoadOptions().LoadWithViewProperty());
returnresult;
}自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟查詢(xún)實(shí)體中的查詢(xún)方法去調(diào)用控制器的查詢(xún)方法。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟讀者管理實(shí)體中去關(guān)聯(lián)查詢(xún)實(shí)體,使用[ConditionQueryType(typeof(查詢(xún)實(shí)體類(lèi)名))]進(jìn)行關(guān)聯(lián)。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟界面效果。自定義查詢(xún)實(shí)體的開(kāi)發(fā)實(shí)現(xiàn)步驟開(kāi)發(fā)步驟注意事項(xiàng):一個(gè)實(shí)體只能使用一個(gè)查詢(xún)面板,配置多個(gè)會(huì)異常。05標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者實(shí)現(xiàn)功能查詢(xún)的開(kāi)發(fā)實(shí)現(xiàn)標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者開(kāi)發(fā)實(shí)現(xiàn)說(shuō)明:這種實(shí)現(xiàn)方式,查詢(xún)方法是自己實(shí)現(xiàn)的,界面查詢(xún)條件是在查詢(xún)視圖ConfigQueryView中進(jìn)行配置的;實(shí)現(xiàn)步驟如下。配置界面的查詢(xún)視圖開(kāi)發(fā)步驟標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者開(kāi)發(fā)實(shí)現(xiàn)在服務(wù)端新增標(biāo)準(zhǔn)數(shù)據(jù)提供者,命名以Provider結(jié)尾,實(shí)現(xiàn)ICriteriaQueryProvider接口,實(shí)現(xiàn)獲取數(shù)據(jù)的方法GetList。開(kāi)發(fā)步驟標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者開(kāi)發(fā)實(shí)現(xiàn)數(shù)據(jù)查詢(xún)方法的實(shí)現(xiàn)。開(kāi)發(fā)步驟標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者開(kāi)發(fā)實(shí)現(xiàn)在服務(wù)端工程的初始化類(lèi)的初始化方法中注冊(cè)標(biāo)準(zhǔn)查詢(xún)數(shù)據(jù)提供者。開(kāi)發(fā)步驟標(biāo)準(zhǔn)查詢(xún)+數(shù)據(jù)提供者開(kāi)發(fā)實(shí)現(xiàn)在實(shí)體上指定標(biāo)準(zhǔn)查詢(xún),標(biāo)準(zhǔn)查詢(xún)中關(guān)聯(lián)數(shù)據(jù)提供者類(lèi)。開(kāi)發(fā)步驟思考題查詢(xún)提供者類(lèi)的GetList方法執(zhí)行進(jìn)不去,可能的原因是?未在對(duì)應(yīng)服務(wù)端工程的初始化類(lèi)的初始化方法中使用RT.Service.Register<查詢(xún)提供者類(lèi)>();注冊(cè)標(biāo)準(zhǔn)查詢(xún)數(shù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福建省南平市武夷山第三中學(xué)高三化學(xué)下學(xué)期期末試卷含解析
- 福建省南平市吳屯中學(xué)2021-2022學(xué)年高三化學(xué)聯(lián)考試卷含解析
- 5 周?chē)娜斯な澜?說(shuō)課稿-2024-2025學(xué)年科學(xué)二年級(jí)上冊(cè)冀人版
- 2024深圳對(duì)外貿(mào)易貨物進(jìn)口貨物保險(xiǎn)合同3篇
- 2024汽車(chē)停車(chē)場(chǎng)管理三方租賃合同樣本
- 2024張家港新材料研發(fā)基地共建合同
- 暫估價(jià)設(shè)置及財(cái)政評(píng)審的要求和注意事項(xiàng)
- 外賣(mài)員合同范本(2篇)
- 大學(xué)生三方協(xié)議書(shū)(2篇)
- 2024年銷(xiāo)售折扣與信用政策3篇
- 全過(guò)程工程咨詢(xún)服務(wù)服務(wù)質(zhì)量保障方案
- 四年級(jí)數(shù)學(xué)(四則混合運(yùn)算)計(jì)算題專(zhuān)項(xiàng)練習(xí)與答案
- 心梗腦梗健康知識(shí)講座
- 成人經(jīng)鼻高流量濕化氧療臨床規(guī)范應(yīng)用專(zhuān)家共識(shí)
- 合同增項(xiàng)補(bǔ)充協(xié)議書(shū)范本
- 低壓電工常識(shí)及安全用電
- 2024五凌電力限公司招聘5人高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 循環(huán)系統(tǒng)練習(xí)試題(含答案)
- 2024年安徽醫(yī)學(xué)高等專(zhuān)科學(xué)校高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試題庫(kù)含答案解析
- 昭通土豆市場(chǎng)調(diào)研報(bào)告
- 公司招標(biāo)管理辦法(國(guó)有企業(yè)適用) 94m
評(píng)論
0/150
提交評(píng)論