0

アプリケーション用のクエリビルダーを作成するためにredquerybuilderバージョン0.6を使用しています。アーカイブをダウンロードし、ドキュメントに従ってスクリプトを追加しました。データベースを選択してクエリするための日付フィールドがあります。フィールド リストから日付フィールドを選択すると、値テキストには現在の日付値が自動的に入力されますが、引数はまだ null のままです。また、選択したフィールドを日付から他のフィールドに変更すると、現在のフィールドの引数が日付値で更新されます。日付フィールドのデフォルト値を「null」に設定する方法はありますか? 私のコードは以下の通りです:

enter code here

RedQueryBuilderFactory.create({
meta : {
    tables : [ {
        "name" : "artefacts_log2timeline",
        "label" : "Log2Timeline",
        "columns" : [ {
            "name" : "timezone",
            "label" : "Timezone",
            "type" : "STRING"
        }, {
            "name" : "datetime",
            "label" : "date",
            "type" : "DATE",
                            "default" : "",
            "size" : 10
        }, {
            "name" : "source",
            "label" : "Source",
            "type" : "STRING",
            //"editor" : "SELECT"
        }]
      },
onSqlChange : function(sql, args) {
    var out = sql + '\r\n';
            var query_args = '';
    for (var i = 0; i < args.length; i++) {
                    //console.log('Arg'+args);
                    //console.log('Sql'+sql);
        var arg = args[i];
                    if (arg == null || arg == '')
                        arg = ''
                    if(i != 0){
                        query_args+=','
                        /*if(i > 0){
                            if(arg.toString().indexOf('GMT') > -1 || arg == '')
                                arg = ''
                        }*/
                    }

                    //console.log(sql)
        out += 'arg' + i;
        if (arg != null) {
            out += ' type=' + Object.prototype.toString.call(arg) + ' toString=' + arg;
        } else {
            out += ' null';
        }
        out += '\r\n';

                    query_args+='args'+i+'='+arg
    }
    document.getElementById("debug").value = out;
            document.getElementById("args").value= query_args;
            console.log(document.getElementById("args").value)
            //console.log(document.getElementById("debug").value);
},
enumerate : function(request, response) {
    if (request.columnName == 'CATEGORY') {
        response([{value:'A', label:'Small'}, {value:'B', label:'Medium'}]);
    } else {
        response([{value:'M', label:'Male'}, {value:'F', label:'Female'}]);
    }
}]
},'', '');

前もって感謝します。

4

1 に答える 1

1

http://0-7-0.redquerybuilder.appspot.com/で 0.7.0.beta を試してみてください 。

ここで相互作用する 2 つのバグ/ミスがあります: https://github.com/salk31/RedQueryBuilder/issues/19 https://github.com/salk31/RedQueryBuilder/issues/20

どちらも 0.7.0 で修正する必要があります

注: このビルドには自動テストのみが含まれています。そこにリファクタリングがあり、新しい数値エディター...

于 2014-03-22T08:09:11.357 に答える