Core Features

Advanced Features

Vue Data GridBigInt Filter

Version 36.2.0

BigInt Filters allow you to filter bigint data without precision loss.

Enabling BigInt Filters Copy Link

The BigInt Filter is the default filter used for columns with cellDataType: 'bigint' when the Set Filter is Disabled by Default. It can also be configured explicitly as shown below:

<ag-grid-vue
    :columnDefs="columnDefs"
    /* other grid options ... */>
</ag-grid-vue>

this.columnDefs = [
    {
        field: 'totalBigInt',
        cellDataType: 'bigint',
        // BigInt Filter is used by default in Community version for bigInt columns
        filter: true,
    },
    {
        field: 'ledgerId',
        // Explicitly configure column to use the BigInt Filter
        filter: 'agBigIntColumnFilter',
    },
];

BigInt Filter Parameters Copy Link

BigInt Filters are configured through the filterParams attribute of the column definition (IBigIntFilterParams interface):

allowedCharPatternCopy Link
string
When specified, the input field will be of type text, and this will be used as a regex of all the characters that are allowed to be typed. It is compared against each character an edit brings in, and a keystroke, paste or drop bringing in a character it does not admit is refused whole. Text committed by an IME or another composing keyboard is not held to it, since a composition cannot be cancelled.
bigintFormatterCopy Link
Function
Typically used alongside allowedCharPattern, this provides a custom formatter to convert the bigint value in the filter model into a string to be used in the filter input. This is the inverse of the bigintParser.
bigintParserCopy Link
Function
Typically used alongside allowedCharPattern, this provides a custom parser to convert the value entered in the filter inputs into a bigint that can be used for comparisons. Must also accept a plain decimal: without a bigintFormatter every input renders the stored value as one, and reads it back through this parser once edited.
browserAutoCompleteCopy Link
boolean | string
Overrides the browser's autocomplete/autofill behaviour by updating the autocomplete attribute on the component's input field(s). Possible values are:
  • true to allow the default browser autocomplete/autofill behaviour.
  • false to disable the browser autocomplete/autofill behaviour by setting the autocomplete attribute to off.
  • A string to be used as the autocomplete attribute value.
  • If omitted, the value of enableInputAutoComplete is used. Some browsers do not respect setting the HTML attribute autocomplete="off" and display the auto-fill prompts anyway.
    buttonsCopy Link
    FilterAction[]
    Specifies the buttons to be shown in the filter, in the order they should be displayed in. The options are:
  • 'apply': If the Apply button is present, the filter is only applied after the user hits the Apply button.
  • 'clear': The Clear button will clear the (form) details of the filter without removing any active filters on the column.
  • 'reset': The Reset button will clear the details of the filter and any active filters on that column.
  • 'cancel': The Cancel button will discard any changes that have been made to the filter in the UI, restoring the applied model.
  • closeOnApplyCopy Link
    boolean
    default: false
    If the Apply button is present, the filter popup will be closed immediately when the Apply or Reset button is clicked if this is set to true.
    debounceMsCopy Link
    number
    Overrides the default debounce time in milliseconds for the filter. Defaults are:
  • TextFilter and NumberFilter: 500ms. (These filters have text field inputs, so a short delay before the input is formatted and the filtering applied is usually appropriate).
  • DateFilter and SetFilter: 0ms
  • defaultJoinOperatorCopy Link
    JoinOperator
    By default, the two conditions are combined using AND. You can change this default by setting this property. Options: AND, OR
    defaultOptionCopy Link
    ScalarFilterOptionKey | CustomFilterOptionKey
    The default filter option to be selected. Must be one of the offered options.
    filterOptionsCopy Link
    (IFilterOptionDef | ScalarFilterOptionKey | AdvancedFilterOnlyOptionKey)[]
    Array of filter options to present to the user, and the options the Advanced Filter offers for the column.
    filterPlaceholderCopy Link
    FilterPlaceholderFunction | string
    Placeholder text for the filter textbox.
    inRangeInclusiveCopy Link
    boolean
    If true, the 'inRange' filter option will include values equal to the start and end of the range.
    includeBlanksInEqualsCopy Link
    boolean
    If true, blank (null, undefined, or an empty or whitespace-only string) values will pass the 'equals' filter option.
    includeBlanksInGreaterThanCopy Link
    boolean
    If true, blank (null, undefined, or an empty or whitespace-only string) values will pass the 'greaterThan' and 'greaterThanOrEqual' filter options.
    includeBlanksInLessThanCopy Link
    boolean
    If true, blank (null, undefined, or an empty or whitespace-only string) values will pass the 'lessThan' and 'lessThanOrEqual' filter options.
    includeBlanksInNotEqualCopy Link
    boolean
    If true, blank (null, undefined, or an empty or whitespace-only string) values will pass the 'notEqual' filter option.
    includeBlanksInRangeCopy Link
    boolean
    If true, blank (null, undefined, or an empty or whitespace-only string) values will pass the 'inRange' filter option.
    maxNumConditionsCopy Link
    number
    default: 2
    Maximum number of conditions allowed in the filter. Must be at least one - anything smaller is treated as one.
    numAlwaysVisibleConditionsCopy Link
    number
    default: 1
    By default only one condition is shown, and additional conditions are made visible when the previous conditions are entered (up to maxNumConditions). To have more conditions shown by default, set this to the number required. Conditions will be disabled until the previous conditions have been entered. Note that this cannot be greater than maxNumConditions - anything larger will be ignored. Must be at least one - anything smaller is treated as one.
    readOnlyCopy Link
    boolean
    default: false
    If set to true, disables controls in the filter to mutate its state. Normally this would be used in conjunction with the Filter API.

    Input Parsing and Validation Copy Link

    The BigInt Filter accepts decimal integer syntax only:

    • 500 and 500n are both accepted and parse to 500n.
    • Hex, binary, decimals and scientific notation are rejected.
    • Invalid input is handled via standard validation and does not crash the grid.

    Custom Parsing Copy Link

    To accept other formats, such as hexadecimal, provide a bigintParser that converts the entered text to a bigint (return null for values it cannot parse). Pair it with allowedCharPattern so the extra characters can be typed into the filter input. The parsed value is what gets applied to filtering, and the same parser is used by the Advanced Filter for bigint operands. Unless you also provide a bigintFormatter, have it accept a plain decimal too: without one, every input shows the stored value as a plain decimal and reads it back through this parser once edited.

    The filter model always stores the parsed value as a canonical decimal string, so provide a bigintFormatter — the inverse of the parser — to display stored values back in your own format. It is used by the filter inputs, by the Floating Filter and by the Advanced Filter when displaying an operand, which means an entered value is echoed back in the formatter's format rather than exactly as typed.

    <ag-grid-vue
        :columnDefs="columnDefs"
        /* other grid options ... */>
    </ag-grid-vue>
    
    this.columnDefs = [
        {
            field: 'ledgerId',
            cellDataType: 'bigint',
            filter: 'agBigIntColumnFilter',
            filterParams: {
                allowedCharPattern: '\\dxXa-fA-F',
                bigintParser: (text) => {
                    if (text == null || text.trim() === '') {
                        return null;
                    }
                    try {
                        return BigInt(text);
                    } catch {
                        // incomplete or invalid input (e.g. '0x') while typing
                        return null;
                    }
                },
            },
        },
    ];

    The bigintParser and bigintFormatter are also passed the grid api and context as a second argument, along with the column and colDef they are working on. One callback set on defaultColDef.filterParams can therefore serve every column it applies to. The Advanced Filter runs the same callbacks to read and write its operands; params.source is 'advancedFilter' there and 'columnFilter' here.

    BigInt Filter Model Copy Link

    The Filter Model describes the current state of the applied BigInt Filter:

    ScalarFilterOptionKey | CustomFilterOptionKey | null
    One of the BigInt Filter's options, or a Custom Filter Option's displayKey.
    filterTypeCopy Link
    'bigint'
    Filter type is always 'bigint'
    filterCopy Link
    string | null
    The bigint value(s) associated with the filter. Custom filters can have no values (hence both are optional). Range filter has two values (from and to), where filter acts as a from value.
    filterToCopy Link
    string | null
    Range filter to value.

    BigInt Filter Options Copy Link

    The BigInt Filter presents the same list of Filter Options as the Number Filter:

    Option NameOption KeyIncluded by Default
    EqualsequalsYes
    Does not equalnotEqualYes
    Greater thangreaterThanYes
    Greater than or equal togreaterThanOrEqualYes
    Less thanlessThanYes
    Less than or equal tolessThanOrEqualYes
    BetweeninRangeYes
    BlankblankYes
    Not blanknotBlankYes
    Choose oneemptyNo

    The default option for the BigInt Filter is equals.

    Applying the BigInt Filter Copy Link

    Applying the BigInt Filter is described in more detail in the following sections: