

Get in touch

Download Plugin Now
  • Follow
  • Follow
WP Data Access
  • Download
  • Support
  • Features
  • Pricing
  • Documentation
    • Tool Guide
    • App Builder
    • Data Explorer
    • SQL Query Builder
    • Plugin Settings
    • Legacy Tools
    • Remote Connections
a
M
  • Download
  • Support
  • Features
  • Pricing
  • Documentation
    • Tool Guide
    • App Builder
    • Data Explorer
    • SQL Query Builder
    • Plugin Settings
    • Legacy Tools
    • Remote Connections
Download Plugin Now

App Builder

  • Getting Started
  • App Builder Dashboard
  • Creating your first App
  • Running Apps
  • Export/Import Apps
  • Road Map
  • App Shortcodes
    • Shortcode Usage
    • Shortcode Parameters
    • URL Parameters

App Manager

  • Getting started
  • Supported App Types
  • Supported Languages
  • App Authorization and Access
  • Full-Screen Mode

Table Builder

  • Getting started
  • Relationships
  • Lookups
  • Computed Fields
  • Table
    • Global filter
    • Column filters
    • Bulk Actions
    • Row Actions
    • Column Actions
    • Default where
    • Default Order By
    • Pagination
    • Inline Editing Settings
    • Layout & Responsiveness
      • Responsiveness
      • Density
      • Table Header
      • Table Footer
  • Columns
    • Introduction
    • Column Settings
    • Column Actions
    • Lookup
    • Aggregations
    • Column Metadata
  • Performance
    • Large Table Support
    • Server/Client-Side Processing
  • Filters
    • Global filter
    • Column filters
    • Default where
    • URL parameters
    • Shortcode parameters

Form Builder

  • Getting started
  • Relationships
  • Lookups
  • Computed Fields
  • Form
    • Understanding the Grid
    • Field Layout
    • Column Behaviour
    • Null Value Handling
  • Columns
    • Column Settings
    • Validation
    • Lookup
    • Column Metadata
  • Layout & Behaviour
    • Grid Positioning

Map Builder

  • Getting started
  • Map Builder
  • Creating a map
  • Using maps

Chart Builder

  • Getting started
  • Creating a chart
  • Using charts

Hooks

  • Getting started with hooks
  • App Hooks
    • global
    • onAppOpen
    • onAppClose
  • Table Hooks
    • customActionsTop
    • customActionsBottom
    • postQuery
    • renderDetailPanel
    • Table Column Hooks
      • render
  • Form Hooks
    • customActionsBottom
    • onRowInit
    • preFormSubmit
    • postFormSubmit
    • Form Column Hooks
      • onBlur
      • onChange
      • onClick
      • onDoubleClick
      • onFocus
      • onKeyDown
      • onKeyUp
  • Built-Ins
    • Overview
    • wpda.log
    • wpda.alert
    • wpda.confirm
    • wpda.snackbar
  • Dynamic Permission Control
    • Client-Side
    • Server-Side
  • Examples
    • Reload page after form submission
    • Display specific columns in detail panel
    • Auto-reload table at specific intervals
    • Adding SEO links to table
    • Styling fields with setColumnStyle
    • Hide empty table column
    • Replicate data entered on field into another field

Layout & Styling

  • Fonts
  • Palette
  • Layout
  • Manual Styling (CSS)

Demos

  • Classic Models
  • Student Administration System
  • Data Table

Tutorials

  • Creating a Data Table App
  • Creating a Data Management App
View Categories

Manual Styling (CSS)

Styling is achieved using app themes. Each app has its own theme settings, which can be adjusted in the Table Builder and Form Builder theme menus. The default theme uses the font family and size defined on the page. The primary color is black, with an additional built-in palette for colorizing elements and shades. We recommend premium users to use the theme menu to customize fonts and colors, while free users can apply CSS classes during runtime.

The App Builder adds numerous CSS classes to app elements, from the app container to table cells, allowing for specific customizations. Here is an overview of the hierarchy.

  • .pp-app-container.pp-app-{appId}
    • .pp-component
      • .pp-header
      • .pp-table-container
        • .pp-filter-container
        • .{columnName}
        • .pp-table
          • .pp-top-toolbar
          • table
            • thead
              • tr
                • th.{columnName}
            • tbody
              • tr
                • td.{columnName}
                • td.pp-table-detail-panel
          • .pp-bottom-toolbar-container
            • .pp-table-info
      • .pp-form
        • .pp-registration-form-message (registration forms only)
  • .pp-form-modal
    • .pp-form

Examples #

Styling table header cells and table cells #

.pp-table thead th,
.pp-table tbody td {
    color: red;
}

Styling filter containers #

.pp-table-container .pp-filter-container > * {
    background-color: yellow;
    color: red;
}

Styling form input labels #

.pp-app-container .pp-component .pp-form .MuiInputLabel-root{
    color: orange;
    font-weight: bold !important;
    font-style: italic !important;
}

Styling form input labels on modal forms #

.pp-modal-form .pp-form .MuiInputLabel-root{
    color: orange;
    font-weight: bold !important;
    font-style: italic !important;
}

Notes #

  • Do not use the ID assigned to an app container, as it changes with each page load and is intended for internal use only.
  • If you need to display multiple instances of an app on the same page with different styles, wrap each app in a container and assign an ID to the container for specific styling purposes.

Don’t know how to add custom CSS to your WordPress theme? #

It’s easy to learn in just a few minutes! Watch the video below…
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Still stuck? How can we help?

How can we help?

Updated on 2025-02-11
Layout

2 Comments

  1. Justin
    Justin on 2025-07-06 at 12:56 am

    I think I asked this a few years ago as it related to legacy tables, but I’m wondering if the answer is different now with the creation of the new app features…

    Is there a way to apply any conditional formatting? Such as a simple row background color based on if a cell in that row equals a certain value?

    Reply
    • Kim Leong
      Kim Leong on 2025-07-07 at 12:21 pm

      Hi Justin,

      Conditional formatting is now possible with Table/Form hooks. You can read more about it here: https://wpdataaccess.com/docs/app-table-column-hooks/table-column-hooks-render/

      Let us know if you have more questions!

      Reply

Submit a Comment Cancel reply

Your email address will not be published. Required fields are marked *

Table of Contents
  • Examples
    • Styling table header cells and table cells
    • Styling filter containers
    • Styling form input labels
    • Styling form input labels on modal forms
  • Notes
  • Don’t know how to add custom CSS to your WordPress theme?
WP Data Access
  • Follow
  • Follow
Links
$

Imprint

$

Privacy policy

$

Cookie policy

Get in touch
$

Contact us

$

Free support forum

$

Premium support

Resources


WordPress plugin directory



YouTube tutorials

Copyright © 2025 | All Right Reserves

Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}