Locale

Change the locale of the datepicker, schedule and client side validation messages.

Language
English
English
English
French
German
German
German
Italian
Korean
Spanish
Catalan
Dutch
Portuguese
Portuguese
Arabic
Arabic
Bulgarian
Czech
Greek
Persian
Finnish
Danish
Hindi
Indonesian
Croatian
Japanese
Hungarian
Hebrew
Georgian
Central Kurdish
Khmer
Kyrgyz
Kazakh
Lithuanian
Latvian
Malay
Norwegian
Polish
Romanian
Russian
Slovak
Slovenian
Serbian
Serbian
Swedish
Thai
Turkish
Ukrainian
Vietnamese
Chinese
Chinese

Input Style

Themes

PrimeOne
Saga Saga
Vela Vela
Arya Arya
Bootstrap
bootstrap4-blue-light Bootstrap Blue
bootstrap4-purple-light Bootstrap Purple
bootstrap4-blue-dark Bootstrap Blue
bootstrap4-purple-dark Bootstrap Purple
Material Design
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple
Material Design Compact
material-indigo-light Indigo
material-deeppurple-light' Deep Purple
material-indigo-dark Indigo
material-deeppurple-dark' Deep Purple

DataTable Scroll

Both vertical and horizontal scrolling of the data is supported with optional frozen rows-columns and on-demand loading features.

Vertical
NameCountryRepresentativeStatus
Emily Y GauchoRussiaBernardo Dominic NEGOTIATION
Izzy H BriddickRussiaBernardo Dominic QUALIFIED
Jennifer W DoeUnited KingdomAsiya Javayant NEGOTIATION
Kadeem S GarufiUnited KingdomOnyama Limba NEGOTIATION
Isabel U FollerSpainAmy Elsner PROPOSAL
Greenwood Z MacleadFranceOnyama Limba NEW
Johnson O PoquetteItalyAsiya Javayant NEGOTIATION
Octavia B PerinIndiaBernardo Dominic QUALIFIED
Wickens L FigeroaBrazilIvan Magalhaes PROPOSAL
Silvio Q ShinkoCanadaOnyama Limba PROPOSAL
Jeanfrancois S WaycottIndiaBernardo Dominic NEW
Stacey A ChuiSpainAnna Fali NEGOTIATION
Jones Y StensethAustraliaXuxue Feng QUALIFIED
Antonio G BowleySpainOnyama Limba QUALIFIED
Cody C VenereCanadaAmy Elsner QUALIFIED
Juan R KolmetzSpainAsiya Javayant RENEWAL
Julie M KuskoBrazilAsiya Javayant QUALIFIED
Jefferson Z GauchoItalyIvan Magalhaes PROPOSAL
Munro S FerenczFranceAnna Fali RENEWAL
Alejandro W BologniaIndiaStephen Shaw RENEWAL
Aika R MaletUnited KingdomElwin Sharvill RENEWAL
Maisha Z NickaGermanyIoni Bowcher UNQUALIFIED
Isabel E AlbaresUnited KingdomIvan Magalhaes PROPOSAL
Rodrigues G SlusarskiSpainIvan Magalhaes RENEWAL
Tony C MorascaSpainBernardo Dominic PROPOSAL
Faith C MaletArgentinaAnna Fali NEGOTIATION
Darci A MarrierAustraliaElwin Sharvill NEW
Jeanfrancois H BowleyRussiaAmy Elsner QUALIFIED
Adams I NestleFranceIoni Bowcher RENEWAL
Isabel D MaletItalyXuxue Feng NEGOTIATION
Kadeem Q BologniaUnited KingdomAnna Fali NEW
Maria J ButtFranceOnyama Limba RENEWAL
Aika A ButtRussiaElwin Sharvill QUALIFIED
Aditya T BologniaAustraliaBernardo Dominic QUALIFIED
Maisha I KuskoSpainBernardo Dominic NEGOTIATION
Rodrigues V DilliardRussiaElwin Sharvill PROPOSAL
Clifford Z VenereJapanOnyama Limba PROPOSAL
Salvatore K KolmetzJapanAmy Elsner PROPOSAL
Antonio Q BriddickCanadaAnna Fali QUALIFIED
Jennifer X FlosiSpainStephen Shaw NEW
Misaki B CaudyItalyStephen Shaw RENEWAL
Salvatore Y IturbideGermanyAsiya Javayant QUALIFIED
Silvio R VocelkaFranceAmy Elsner UNQUALIFIED
Deepesh Z SergiBrazilAnna Fali NEGOTIATION
Greenwood W ChuiArgentinaIvan Magalhaes NEGOTIATION
Johnson N RulapaughFranceBernardo Dominic QUALIFIED
Francesco V GarufiSpainAsiya Javayant UNQUALIFIED
Ashley Y MarrierCanadaBernardo Dominic RENEWAL
Isabel N WieserBrazilXuxue Feng RENEWAL
Claire F StockhamIndiaIoni Bowcher UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Morrow I RoysterFranceOnyama Limba RENEWAL
Munro S DoeIndiaOnyama Limba PROPOSAL
Maisha Z MorascaArgentinaAmy Elsner QUALIFIED
Jennifer Z StensethSpainAsiya Javayant NEGOTIATION
Juan T RulapaughItalyAmy Elsner NEGOTIATION
Emily P FerenczBrazilStephen Shaw QUALIFIED
Julie I FlosiAustraliaIoni Bowcher RENEWAL
Smith M TollnerJapanAnna Fali QUALIFIED
Aditya E SergiSpainXuxue Feng UNQUALIFIED
Smith R KolmetzJapanAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie X DarakjyGermany2024-05-06Chemel, James L Cpa QUALIFIED22Asiya Javayant
1001Sinclair Q ShinkoIndia2024-04-29King, Christopher A Esq NEW97Asiya Javayant
1002Deepesh A NickaGermany2024-05-13Chanay, Jeffrey A Esq UNQUALIFIED31Asiya Javayant
1003Adams Y MacleadRussia2024-05-19Buckley Miller Wright UNQUALIFIED20Onyama Limba
1004Silvio Q ButtGermany2024-05-07Printing Dimensions PROPOSAL46Bernardo Dominic
1005Arvin K RutaItaly2024-05-11Chanay, Jeffrey A Esq PROPOSAL73Elwin Sharvill
1006Darci J DilliardGermany2024-05-14Chanay, Jeffrey A Esq UNQUALIFIED6Bernardo Dominic
1007Aika D StensethIndia2024-05-01Rangoni Of Florence UNQUALIFIED24Ivan Magalhaes
1008Juan R DarakjyArgentina2024-05-26Rousseaux, Michael Esq NEW15Ioni Bowcher
1009Faith O KolmetzGermany2024-05-22Truhlar And Truhlar Attys UNQUALIFIED25Onyama Limba
1010Maisha F MaletUnited Kingdom2024-05-21Benton, John B Jr NEW26Elwin Sharvill
1011Jeanfrancois S StockhamSpain2024-05-23Feltz Printing Service UNQUALIFIED6Ioni Bowcher
1012Emily K PerinBrazil2024-05-21Commercial Press NEGOTIATION88Bernardo Dominic
1013Claire Q CaldareraSpain2024-05-17Dorl, James J Esq RENEWAL85Ioni Bowcher
1014Johnson R GarufiUnited Kingdom2024-05-04King, Christopher A Esq NEGOTIATION45Anna Fali
1015Ashley V RulapaughGermany2024-05-23Feltz Printing Service UNQUALIFIED77Asiya Javayant
1016Aditya Q MarrierJapan2024-05-02Buckley Miller Wright QUALIFIED65Onyama Limba
1017Tony V IturbideJapan2024-05-16Chapman, Ross E Esq QUALIFIED67Anna Fali
1018Alejandro M DarakjyAustralia2024-05-14King, Christopher A Esq UNQUALIFIED55Amy Elsner
1019Faith D DoeBrazil2024-05-19Benton, John B Jr QUALIFIED51Onyama Limba
1020Ashley N SlusarskiItaly2024-05-23Chemel, James L Cpa PROPOSAL3Bernardo Dominic
1021Misaki S WaycottAustralia2024-05-26Rousseaux, Michael Esq RENEWAL44Ivan Magalhaes
1022Rodrigues D IturbideBrazil2024-05-07Buckley Miller Wright RENEWAL12Onyama Limba
1023Adams M SaylorsGermany2024-05-26Dorl, James J Esq QUALIFIED63Elwin Sharvill
1024Smith T StockhamCanada2024-05-23Feiner Bros RENEWAL60Anna Fali
1025Antonio P IturbideAustralia2024-05-15Chanay, Jeffrey A Esq PROPOSAL77Stephen Shaw
1026Nicolas N MaletIndia2024-04-30Benton, John B Jr NEW89Stephen Shaw
1027Silvio W RutaAustralia2024-04-27Chapman, Ross E Esq PROPOSAL76Ivan Magalhaes
1028Jefferson J MarrierIndia2024-05-23Morlong Associates RENEWAL72Elwin Sharvill
1029Emily K WaycottGermany2024-05-01Benton, John B Jr UNQUALIFIED17Amy Elsner
1030Wickens W OldroydUnited Kingdom2024-05-09Printing Dimensions PROPOSAL36Amy Elsner
1031Deepesh I BowleyArgentina2024-05-01Chanay, Jeffrey A Esq PROPOSAL57Xuxue Feng
1032Munro E WhobreyUnited Kingdom2024-05-15Chanay, Jeffrey A Esq NEGOTIATION30Anna Fali
1033Munro G DarakjySpain2024-05-26Feltz Printing Service NEW60Amy Elsner
1034Mayumi H PoquetteBrazil2024-05-02Truhlar And Truhlar Attys UNQUALIFIED51Elwin Sharvill
1035Morrow N AlbaresJapan2024-05-20Benton, John B Jr PROPOSAL37Anna Fali
1036Rodrigues W SlusarskiJapan2024-05-02Rousseaux, Michael Esq RENEWAL51Onyama Limba
1037Aditya W SchemmerIndia2024-05-15Printing Dimensions NEW50Ioni Bowcher
1038Ivar Z GarufiCanada2024-04-30Morlong Associates QUALIFIED82Amy Elsner
1039Morrow Q BowleyCanada2024-05-18Feltz Printing Service NEGOTIATION41Stephen Shaw
1040Stacey G InouyeAustralia2024-05-07Benton, John B Jr NEGOTIATION46Anna Fali
1041Isabel I MacleadSpain2024-05-19Feltz Printing Service NEGOTIATION94Asiya Javayant
1042Rodrigues W WaycottBrazil2024-05-10Dorl, James J Esq NEW86Elwin Sharvill
1043Costa Z ShinkoGermany2024-05-14Rousseaux, Michael Esq NEGOTIATION21Xuxue Feng
1044Julie D DilliardItaly2024-05-22Feiner Bros PROPOSAL19Anna Fali
1045Aditya F BologniaItaly2024-05-16Benton, John B Jr NEGOTIATION36Amy Elsner
1046Antonio Y FlosiItaly2024-05-05Rousseaux, Michael Esq QUALIFIED73Amy Elsner
1047Aditya W IturbideUnited Kingdom2024-05-18Printing Dimensions NEW45Ioni Bowcher
1048Jeanfrancois K RoysterIndia2024-05-05Commercial Press UNQUALIFIED36Xuxue Feng
1049Jeanfrancois G MaletBrazil2024-04-28Commercial Press NEW61Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Clifford J WhobreyBrazilIoni Bowcher QUALIFIED
Ricardo B MaletArgentinaStephen Shaw NEW
Julie M AlbaresArgentinaAsiya Javayant PROPOSAL
David H GarufiCanadaAnna Fali UNQUALIFIED
Maisha W AmigonRussiaStephen Shaw RENEWAL
Morrow E NestleSpainXuxue Feng NEGOTIATION
Emily J BologniaFranceIvan Magalhaes QUALIFIED
Jeanfrancois U MaletItalyAsiya Javayant UNQUALIFIED
Jones Z PoquetteSpainAsiya Javayant QUALIFIED
Rodrigues U KolmetzAustraliaElwin Sharvill UNQUALIFIED
Silvio O BriddickItalyStephen Shaw RENEWAL
Emily Y BowleyFranceElwin Sharvill NEW
Leja E BriddickBrazilIoni Bowcher NEGOTIATION
Nicolas G GillianGermanyElwin Sharvill RENEWAL
Mayumi V StensethUnited KingdomIvan Magalhaes UNQUALIFIED
Jeanfrancois U ButtBrazilAmy Elsner NEGOTIATION
Kadeem M StockhamBrazilIoni Bowcher NEW
Clifford O OstroskyRussiaBernardo Dominic PROPOSAL
Ivar Q MaletRussiaElwin Sharvill RENEWAL
Costa Q WaycottSpainXuxue Feng RENEWAL
Adams K GillianAustraliaAmy Elsner UNQUALIFIED
Maisha T SchemmerSpainAnna Fali QUALIFIED
Clifford H GillianGermanyAnna Fali RENEWAL
Deepesh M VenereCanadaStephen Shaw RENEWAL
Deepesh P TollnerRussiaXuxue Feng UNQUALIFIED
Sinclair W CaldareraJapanAnna Fali NEW
Johnson G WieserCanadaAmy Elsner NEW
Johnson G IturbideUnited KingdomIvan Magalhaes UNQUALIFIED
Octavia U ButtGermanyElwin Sharvill RENEWAL
Aika W FerenczArgentinaIvan Magalhaes RENEWAL
Juan U DarakjyArgentinaBernardo Dominic PROPOSAL
Julie X ButtSpainAmy Elsner NEGOTIATION
Deepesh O PoquetteArgentinaXuxue Feng PROPOSAL
Munro J RutaSpainBernardo Dominic QUALIFIED
Francesco X KolmetzJapanXuxue Feng NEGOTIATION
Leon U KolmetzBrazilStephen Shaw NEW
Kadeem Y MacleadRussiaStephen Shaw UNQUALIFIED
Octavia I SaylorsBrazilIvan Magalhaes PROPOSAL
Octavia R MacleadIndiaIoni Bowcher UNQUALIFIED
Stacey U VenereIndiaXuxue Feng QUALIFIED
Deepesh D CaudyCanadaStephen Shaw PROPOSAL
Salvatore D FigeroaUnited KingdomElwin Sharvill NEW
Wickens V StensethGermanyAnna Fali NEGOTIATION
Morrow A PoquetteRussiaXuxue Feng NEGOTIATION
Sinclair M DarakjyGermanyAnna Fali PROPOSAL
Alejandro D RimAustraliaAsiya Javayant NEGOTIATION
Emily V SergiCanadaStephen Shaw QUALIFIED
Claire Z NestleItalyAsiya Javayant NEGOTIATION
David W ShinkoCanadaIoni Bowcher QUALIFIED
Arvin U CaudyFranceIoni Bowcher QUALIFIED
Frozen Columns
Name
Greenwood M Stockham
Nicolas D Caldarera
Juan T Amigon
Greenwood R Malet
Sinclair R Whobrey
Claire M Kusko
Izzy R Ostrosky
Octavia S Iturbide
Darci V Malet
Ivar Q Chui
Kadeem Y Poquette
Greenwood X Albares
Costa X Foller
Juan W Malet
Jennifer N Darakjy
Jones G Iturbide
Kadeem F Tollner
Alejandro L Ruta
Misaki S Paprocki
Munro N Inouye
Octavia Q Waycott
Alejandro N Wieser
Ivar A Figeroa
Tony U Amigon
Faith R Iturbide
Julie F Gillian
Maria Y Nestle
Misaki U Maclead
David I Paprocki
Julie I Kusko
Deepesh M Kolmetz
Murillo I Ferencz
Stacey M Dilliard
Wickens D Figeroa
Tony C Gillian
Rodrigues M Dilliard
Cody A Ostrosky
Nicolas Z Schemmer
Alejandro B Albares
Stacey O Ferencz
Leja X Slusarski
Nicolas S Ostrosky
Claire R Sergi
Wickens W Albares
Jefferson Q Venere
Smith Y Venere
Mayumi E Stenseth
Rodrigues J Waycott
Kaitlin K Glick
Mujtaba Q Marrier
IdCountryDate
1000Japan2024-05-22
1001Argentina2024-05-11
1002Australia2024-05-09
1003Germany2024-05-12
1004Russia2024-05-19
1005Germany2024-05-12
1006Australia2024-05-15
1007United Kingdom2024-05-15
1008Australia2024-05-02
1009Japan2024-05-07
1010Germany2024-04-28
1011Canada2024-05-23
1012France2024-05-21
1013Japan2024-04-29
1014France2024-05-14
1015Australia2024-05-12
1016Spain2024-05-12
1017Spain2024-05-16
1018Brazil2024-05-13
1019Italy2024-05-12
1020Australia2024-05-22
1021Russia2024-05-07
1022United Kingdom2024-05-10
1023Germany2024-04-29
1024Russia2024-05-03
1025Italy2024-05-21
1026Argentina2024-05-19
1027Australia2024-05-08
1028India2024-05-12
1029Russia2024-05-14
1030India2024-05-20
1031Russia2024-05-11
1032France2024-05-17
1033Germany2024-04-30
1034India2024-05-21
1035Japan2024-04-27
1036Australia2024-05-16
1037Brazil2024-05-05
1038Italy2024-05-25
1039Argentina2024-05-11
1040United Kingdom2024-05-22
1041Brazil2024-05-17
1042Brazil2024-04-30
1043Canada2024-05-10
1044Russia2024-05-15
1045France2024-04-27
1046Italy2024-05-20
1047Italy2024-05-10
1048United Kingdom2024-05-11
1049India2024-05-01

On-Demand Data

NameIdCountryDate
Greenwood M Morasca1000Russia2024-05-25
Mujtaba D Maclead1001India2024-05-03
Cody Q Bowley1002Australia2024-04-27
Juan W Caldarera1003Canada2024-05-04
Murillo S Slusarski1004India2024-05-08
Jeanfrancois S Whobrey1005United Kingdom2024-05-04
Darci H Albares1006Russia2024-05-14
Ivar C Stockham1007United Kingdom2024-04-27
Salvatore B Poquette1008Russia2024-05-24
James O Campain1009Canada2024-05-06
Clifford M Schemmer1010Russia2024-05-17
Silvio J Schemmer1011Italy2024-04-28
Clifford A Garufi1012Russia2024-05-17
Leja W Caudy1013Japan2024-04-30
Clifford X Dilliard1014Japan2024-05-17
Deepesh C Stockham1015Japan2024-05-25
Octavia O Ostrosky1016Italy2024-05-03
Greenwood V Shinko1017Germany2024-04-28
Darci P Figeroa1018Brazil2024-05-04
Silvio E Iturbide1019France2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia G PerinIndiaBernardo Dominic RENEWAL
Leon P FerenczCanadaIoni Bowcher UNQUALIFIED
Morrow O NestleUnited KingdomIoni Bowcher NEW
Munro K WhobreyIndiaIvan Magalhaes RENEWAL
Salvatore Q WaycottFranceAmy Elsner PROPOSAL
Misaki V ButtSpainAsiya Javayant NEW
Octavia A OldroydItalyIoni Bowcher QUALIFIED
Leja N MaletIndiaIvan Magalhaes RENEWAL
Cody P BowleySpainAsiya Javayant NEGOTIATION
Jones N FerenczAustraliaIoni Bowcher PROPOSAL
Antonio X MaletCanadaAmy Elsner PROPOSAL
Kadeem O PerinRussiaOnyama Limba NEW
Leja R SergiRussiaIoni Bowcher QUALIFIED
Julie A SchemmerFranceAsiya Javayant UNQUALIFIED
Murillo N AmigonRussiaStephen Shaw NEW
Isabel B PoquetteJapanElwin Sharvill PROPOSAL
Adams G RoysterItalyIoni Bowcher RENEWAL
Chavez R ButtItalyElwin Sharvill QUALIFIED
Smith K BologniaArgentinaOnyama Limba NEGOTIATION
Maria T OldroydArgentinaAsiya Javayant QUALIFIED
Izzy J MacleadIndiaXuxue Feng UNQUALIFIED
Mayumi Y RutaAustraliaAsiya Javayant PROPOSAL
Munro E StensethGermanyOnyama Limba NEGOTIATION
Silvio E PerinAustraliaIoni Bowcher QUALIFIED
Leon P MaletItalyAmy Elsner QUALIFIED
Faith S WhobreyIndiaXuxue Feng QUALIFIED
Chavez J WaycottUnited KingdomStephen Shaw NEW
Jeanfrancois R RulapaughArgentinaAsiya Javayant NEW
Alejandro A DarakjyIndiaBernardo Dominic PROPOSAL
David X PoquetteBrazilAmy Elsner RENEWAL
Tony E DoeCanadaOnyama Limba NEW
Misaki L SlusarskiArgentinaStephen Shaw RENEWAL
Mayumi B AlbaresUnited KingdomAnna Fali NEGOTIATION
Kaitlin V StensethSpainAmy Elsner UNQUALIFIED
Silvio I MarrierRussiaAsiya Javayant QUALIFIED
Ashley E BologniaIndiaIoni Bowcher UNQUALIFIED
Antonio X GlickAustraliaElwin Sharvill UNQUALIFIED
Wickens A MorascaIndiaIoni Bowcher QUALIFIED
Mayumi I SchemmerRussiaOnyama Limba UNQUALIFIED
Clifford I FigeroaItalyElwin Sharvill PROPOSAL

<style>
    .ui-datatable-frozenlayout-left {
        width: 20%;
    }

    .ui-datatable-frozenlayout-right {
        width: 80%;
    }
</style>


<h:form>
    <div class="card">
        <h5 style="margin-top:0">Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers1}" scrollable="true" scrollHeight="250">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers2}" scrollable="true" scrollWidth="600">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Horizontal and Vertical</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers3}" scrollable="true" scrollWidth="50%" scrollHeight="250">
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
            <p:column headerText="Company" footerText="Company">
                <h:outputText value="#{customer.company}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
            <p:column headerText="Activity" footerText="Activity">
                <h:outputText value="#{customer.activity}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers4}" scrollable="true" scrollHeight="250"
                     frozenRows="2">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Frozen Columns</h5>
        <p:dataTable var="customer" value="#{dtScrollView.customers5}" scrollable="true" scrollHeight="250"
                     scrollWidth="300" frozenColumns="1">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h3>On-Demand Data</h3>
        <p:dataTable var="customer" value="#{dtScrollView.customers6}" scrollRows="20" scrollable="true" liveScroll="true" scrollHeight="150">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Id" footerText="Id">
                <h:outputText value="#{customer.id}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Date" footerText="Date">
                <h:outputText value="#{customer.date}"/>
            </p:column>
        </p:dataTable>
    </div>

    <div class="card">
        <h5>Virtual Scrolling - 20000 Rows</h5>
        <p:dataTable var="customer" value="#{dtScrollView.lazyModel}" scrollRows="20" scrollable="true"
                     virtualScroll="true" scrollHeight="200" rows="40" style="margin-bottom:0">
            <p:column headerText="Name" footerText="Name">
                <h:outputText value="#{customer.name}"/>
            </p:column>
            <p:column headerText="Country" footerText="Country">
                <h:outputText value="#{customer.country}"/>
            </p:column>
            <p:column headerText="Representative" footerText="Representative">
                <h:outputText value="#{customer.representative.name}"/>
            </p:column>
            <p:column headerText="Status" footerText="Status">
                <span class="customer-badge status-#{customer.status.name().toLowerCase()}">#{customer.status}</span>
            </p:column>
        </p:dataTable>
    </div>

</h:form>