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

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

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

    codeslave

    常用鏈接

    統(tǒng)計(jì)

    Link

    最新評(píng)論

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

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

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

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

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

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

    這個(gè)會(huì)自動(dòng)引入oracle.js,生成的sql就會(huì)是oracle數(shù)據(jù)庫(kù)能通過(guò)的,如下面的日期:


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

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



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

    最后,實(shí)現(xiàn)這個(gè)方法,如:
    // 選擇類(lèi)別
    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); // 必須返回值(由編號(hào)和描述組成的數(shù)組)
    }

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

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

    源碼:highquery0.4.rar

    posted on 2008-07-30 19:03 codeslave 閱讀(2433) 評(píng)論(4)  編輯  收藏 所屬分類(lèi): script

    評(píng)論

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

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

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

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

    有待繼續(xù)加強(qiáng),  回復(fù)  更多評(píng)論   

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

    @august
    非常感謝你的意見(jiàn)

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

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

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

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

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

    主站蜘蛛池模板: 韩国免费三片在线视频| 国产亚洲av片在线观看18女人| 亚洲av成人中文无码专区| 又粗又大又长又爽免费视频| 中国在线观看免费的www| 亚洲精品国产成人| 国产精品嫩草影院免费| 97国免费在线视频| 亚洲综合一区二区三区四区五区 | 亚洲国产精品一区二区第一页免| 一个人看的在线免费视频| 久久久久亚洲精品无码蜜桃| 国产在线播放免费| 91精品啪在线观看国产线免费| 日韩欧美亚洲中文乱码| 亚洲精品人成在线观看| 亚洲AV成人潮喷综合网| 国产免费丝袜调教视频| a视频在线观看免费| 亚洲av日韩aⅴ无码色老头| 国产午夜亚洲精品不卡| 亚洲高清在线播放| 国产成人精品久久亚洲| 在线免费一区二区| 亚洲视频在线观看免费视频| 免费观看国产小粉嫩喷水| 毛片无码免费无码播放| 国产成人高清亚洲一区久久| 亚洲无线一二三四区| 国产成人精品久久亚洲| 国产无遮挡吃胸膜奶免费看视频 | www.av在线免费观看| 亚洲AV无码精品蜜桃| 亚洲VA中文字幕不卡无码| 亚洲性在线看高清h片| 日本不卡免费新一二三区| 国国内清清草原免费视频99| 免费91麻豆精品国产自产在线观看 | 在线观看免费高清视频| 精品无码AV无码免费专区| 少妇性饥渴无码A区免费 |