Examples: query, "exact match", wildcard*, wild?ard, wild*rd
Fuzzy search: cake~ (finds cakes, bake)
Term boost: "red velvet"^4, chocolate^2
Field grouping: tags:(+work -"fun-stuff")
Escaping: Escape characters +-&|!(){}[]^"~*?:\ with \, e.g. \+
Range search: properties.timestamp:[1587729413488 TO *] (inclusive), properties.title:{A TO Z}(excluding A and Z)
Combinations: chocolate AND vanilla, chocolate OR vanilla, (chocolate OR vanilla) NOT "vanilla pudding"
Field search: properties.title:"The Title" AND text
Unbeantwortet
Subtable Zellen/Spalten via JS löschen/inaktivieren


so schlecht sieht das ja nicht aus, dir fehlt ja nur die id

id für Untertabellenzellen setzt sich aus

const columnId = `${subtable}_${column}_${rowId}`;

zusammen.
jr_hide_subtable_column/jr_show_subtable_column solltest du natürlich nicht im loop aufrufen, das reicht auch einmalig

Hier dein Beispiel entsprehend abgeändert

function Test() {
    const checked = jr_get_value('checkbox');

    if (checked) {
        jr_show_subtable_column('SUBVName', 'SUBV_Column');
    } else {
        jr_hide_subtable_column('SUBVName', 'SUBV_Column');
    }

    jr_loop_table('SUBVName', function (subtable, rowId) {
        const columnId = `${subtable}_SUBV_Column_${rowId}`;
        if (checked) {
            jr_set_disabled(columnId, false);
        } else {
            jr_set_subtable_value(subtable, rowId, 'SUBV_Column', '');
            jr_set_disabled(columnId, true);
        }
    });
}

besser wäre natürlich die funktion gleich so aufzubauen, so dass man sie auch wiederverwenden kann

function ShowOrHideSubtableColumn(subtable, column, hide = false) {
    if (hide) {
        jr_hide_subtable_column(subtable, column);
    } else {
        jr_show_subtable_column(subtable, column);
    }

    const rowIds = jr_get_subtable_row_ids(subtable);
    rowIds.forEach(rowId => {
        const columnId = `${subtable}_${column}_${rowId}`;

        jr_set_disabled(columnId, hide);
        if (hide) {
            jr_set_subtable_value(subtable, rowId, column, '');
        }
    });
}

aufrufen könntest du dies dann mit

ShowOrHideSubtableColumn("SUBVName", "SUBV_Column", jr_get_value("checkbox"));

oder indem du

ShowOrHideSubtableColumn("subview", "testField", true);

in das OnChecked und

ShowOrHideSubtableColumn("subview", "testField", false);

in das OnUnChecked Skipting Feld der Checkbox einfügst

696 Ansichten
0 Antworten
vor 3 Jahren
vor 3 Jahren