<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    codeslave

    常用鏈接

    統(tǒng)計

    Link

    最新評論

    javascript高級組合查詢控件(0.4更新)

    相對之前的版本,代碼方面進行比較大的修改,主要內(nèi)容如下:
    1.把html與js分離了。

    2.字段信息由原來的數(shù)組改為對象的方式,如:

    FieldList.add(new Field('No''編號''number''10'''));
    FieldList.add(
    new Field('Name''名稱''varchar''100'''));
    FieldList.add(
    new Field('Date_Type''日期''date''19'''));

    3.抽象了部分生成條件的函數(shù),這樣對數(shù)據(jù)庫日后的擴展有利,只要修改highquery.js內(nèi)的HQConfig的dialect就可以實現(xiàn)生成不同數(shù)據(jù)庫的sql,如:

    // 配置
    function HQConfig()
    {
        
    this.dialect = "oracle"// 方言
        
    //this.basePath = ""; // 基礎(chǔ)路徑
        this.version = "0.4"// 版本
    }

    這個會自動引入oracle.js,生成的sql就會是oracle數(shù)據(jù)庫能通過的,如下面的日期:


    如果想用sqlserver數(shù)據(jù)庫,只要把dialect改為sqlserver就可以了!現(xiàn)在只支持sqlserver和oracle,呵呵!當(dāng)然還可以自行擴展!

    4.新增了一個實現(xiàn)關(guān)聯(lián)表選擇的接口,如下圖:



    上面的選擇框必須獨立去實現(xiàn),然后在新增字段時加入一個方法名,如"choiceCategory":
    FieldList.add(new Field('Category''類別''varchar''1''choiceCategory')); // 必須實現(xiàn)choiceCategory這個方法

    最后,實現(xiàn)這個方法,如:
    // 選擇類別
    function choiceCategory()
    {
        
    var config = "scrollbars=no;status=no;dialogLeft="+300+"px;dialogTop="+200+"px;dialogWidth="+170+"px;dialogHeight="+130+"px";
        
    return window.showModalDialog("choicelist.htm"null, config); // 必須返回值(由編號和描述組成的數(shù)組)
    }

    必須返回兩個值組成的數(shù)組,可以查看源碼中的choicelist.htm。

    呵呵!看起來比較煩,但對于一個關(guān)聯(lián)表上是有大量數(shù)據(jù)時,這種方式比較好的,原因是開發(fā)人員可以自行去實現(xiàn)自已的選擇框,比如加上查詢過濾條件或者是分頁之類的,這樣用起來就更加靈活了。
    當(dāng)然,對于關(guān)聯(lián)表上是少量數(shù)據(jù),又或者那種很少變化的業(yè)務(wù)字典,如狀態(tài)(啟用,停用);這種類型采用上面的方式就真的實在太麻煩了,由于時間的問題,這個版本還沒實現(xiàn)優(yōu)化這方面,只能留到下一版本了!

    源碼:highquery0.4.rar

    posted on 2008-07-30 19:03 codeslave 閱讀(2435) 評論(4)  編輯  收藏 所屬分類: script

    評論

    # re: javascript高級組合查詢控件(0.4更新) 2008-07-30 21:08 august

    想問一下,所選條件來自不同的表時如何進行數(shù)據(jù)庫查詢,用表名.字段名嗎?
    另外我覺得添加條件時候,關(guān)于左括號、右括號這樣的方式太繁瑣。給客戶用,客戶可能會不習(xí)慣。

    建議加上排序字段的選擇。  回復(fù)  更多評論   

    # re: javascript高級組合查詢控件(0.4更新) [未登錄] 2008-07-30 22:43 eric

    有待繼續(xù)加強,  回復(fù)  更多評論   

    # re: javascript高級組合查詢控件(0.4更新) 2008-07-31 11:33 codeslave

    @august
    非常感謝你的意見

    關(guān)于第一點,現(xiàn)在只提供一個回填的接口,就是說沒有快捷的方法,只能自已實現(xiàn)來自其他表的查詢,而這個接口只是把值回填進去,這種在大量數(shù)據(jù)時是可取的,但少量數(shù)據(jù)或者業(yè)務(wù)字典就太麻煩了,不可取,下次就會完善這個地方,呵呵!而提到的“表名、字段名”這種方式,就必需要同某種服務(wù)端語言(java、c#等)掛勾了,這樣好似變成緊藕合了,暫時還不想這樣做,讓他更獨立一點。

    關(guān)于第二點,呵呵!說得對,客戶是上帝!其實整體的可操作性真的不是太好,但未想到有更好的方法!

    關(guān)于第三點,不知說的是不是數(shù)據(jù)庫記錄的排序,其實這點我有想過的,但最后沒加上去,主要是生成的排序和條件不應(yīng)該連在一起,那么就要在返回的時候,把他們分別返回,而且如果有些字段只排序,不作為條件,那么在操作上又要相應(yīng)地進行處理,因為未考慮得很好,所以最后沒加上去,只能留待下次了!  回復(fù)  更多評論   

    # re: javascript高級組合查詢控件(0.4更新) 2008-07-31 12:10 greengrass

    加強啦?download下來研究一下先,樓主繼續(xù)努力!期待更強的功能...  回復(fù)  更多評論   

    主站蜘蛛池模板: 在线中文高清资源免费观看| 黄色成人免费网站| 日本19禁啪啪无遮挡免费动图| 亚洲国产模特在线播放| 久久久99精品免费观看| 亚洲高清在线视频| 在线观看免费黄网站| 亚洲αv在线精品糸列| 亚洲国产精品免费视频| 亚洲综合日韩中文字幕v在线| 免费观看在线禁片| 亚洲视频在线免费播放| 久久午夜免费视频| 亚洲熟妇AV一区二区三区浪潮| 思思99re66在线精品免费观看| 亚洲AV综合色区无码一二三区| 成人免费无码精品国产电影| 亚洲A∨精品一区二区三区下载| 日本不卡在线观看免费v| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 亚洲AV无码乱码在线观看牲色| 特级毛片A级毛片100免费播放| 亚洲成年人啊啊aa在线观看| 久久国产福利免费| 久久久久亚洲AV片无码| 免费成人福利视频| 亚洲AV无码专区国产乱码不卡| 亚洲av中文无码| 999zyz**站免费毛片| 亚洲自偷自偷精品| 免费鲁丝片一级观看| 日韩免费码中文在线观看| 亚洲精品无码鲁网中文电影| 最近免费最新高清中文字幕韩国| 亚洲精品天堂在线观看| 亚洲国产成人精品91久久久| 三年片在线观看免费观看大全动漫| 亚洲18在线天美| 亚洲一本大道无码av天堂| 67194成手机免费观看| 久久亚洲精品无码gv|