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
Julie J StensethUnited KingdomIvan Magalhaes RENEWAL
Faith L MacleadFranceBernardo Dominic NEW
Arvin G MaletSpainIvan Magalhaes UNQUALIFIED
Tony L DoeRussiaIoni Bowcher UNQUALIFIED
Ashley Z RulapaughUnited KingdomElwin Sharvill NEGOTIATION
Costa N VenereJapanBernardo Dominic UNQUALIFIED
Munro T MarrierRussiaOnyama Limba RENEWAL
Alejandro L BologniaFranceAmy Elsner NEW
Juan E MaletArgentinaOnyama Limba NEW
Leon M FerenczCanadaAsiya Javayant NEW
Leja F RimSpainStephen Shaw RENEWAL
James D CaldareraJapanAsiya Javayant QUALIFIED
Maisha J ChuiJapanStephen Shaw UNQUALIFIED
Mayumi M GlickGermanyIoni Bowcher PROPOSAL
Leon Y OstroskyRussiaAnna Fali NEGOTIATION
Jeanfrancois O PoquetteItalyIvan Magalhaes UNQUALIFIED
Octavia Z AlbaresSpainIoni Bowcher NEW
Silvio N OstroskyAustraliaStephen Shaw QUALIFIED
Darci Z MarrierArgentinaAsiya Javayant PROPOSAL
Claire K SergiJapanStephen Shaw NEW
Salvatore T StockhamCanadaElwin Sharvill NEGOTIATION
David R ShinkoBrazilXuxue Feng NEGOTIATION
Kadeem S VenereGermanyBernardo Dominic RENEWAL
Claire G RutaGermanyBernardo Dominic NEGOTIATION
Arvin Z CaudyGermanyBernardo Dominic PROPOSAL
Aditya J MaletBrazilAnna Fali UNQUALIFIED
Jennifer G RimItalyIvan Magalhaes NEGOTIATION
Kadeem L IturbideArgentinaAsiya Javayant QUALIFIED
Leon J TollnerSpainStephen Shaw QUALIFIED
Maria F AmigonRussiaAnna Fali UNQUALIFIED
Nicolas G RutaCanadaAsiya Javayant NEW
Stacey K InouyeIndiaXuxue Feng QUALIFIED
Cody Q InouyeAustraliaStephen Shaw PROPOSAL
Mayumi I WhobreyArgentinaAmy Elsner NEW
Emily T CaldareraArgentinaIoni Bowcher QUALIFIED
Juan D SergiItalyAsiya Javayant PROPOSAL
Wickens I NickaBrazilStephen Shaw PROPOSAL
Antonio H FlosiSpainAsiya Javayant NEW
Maria C FollerFranceBernardo Dominic RENEWAL
Antonio K SlusarskiJapanOnyama Limba RENEWAL
David T MacleadSpainXuxue Feng RENEWAL
Leon F RutaAustraliaAsiya Javayant NEGOTIATION
Leja N BowleyAustraliaXuxue Feng NEGOTIATION
Jones W DilliardBrazilIoni Bowcher UNQUALIFIED
Silvio W BologniaFranceAnna Fali QUALIFIED
Aditya L StockhamFranceIvan Magalhaes UNQUALIFIED
Juan J SaylorsBrazilXuxue Feng PROPOSAL
Rodrigues J FerenczBrazilOnyama Limba QUALIFIED
Ivar R NestleArgentinaXuxue Feng PROPOSAL
Wickens X FollerArgentinaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki P GauchoItalyIoni Bowcher UNQUALIFIED
Silvio I CampainSpainBernardo Dominic NEGOTIATION
Greenwood C AlbaresSpainIvan Magalhaes PROPOSAL
Munro W SlusarskiUnited KingdomBernardo Dominic NEGOTIATION
Silvio C SlusarskiSpainAmy Elsner NEW
Misaki I RutaIndiaElwin Sharvill NEGOTIATION
Kaitlin G NestleIndiaIvan Magalhaes NEW
Maria F GauchoGermanyOnyama Limba PROPOSAL
Mayumi L RimArgentinaElwin Sharvill NEGOTIATION
Mujtaba Z SlusarskiItalyXuxue Feng RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio N DarakjyJapan2024-05-26King, Christopher A Esq UNQUALIFIED37Amy Elsner
1001Jennifer C GillianArgentina2024-06-04Chapman, Ross E Esq UNQUALIFIED0Bernardo Dominic
1002Alejandro V FollerArgentina2024-06-08Dorl, James J Esq PROPOSAL67Ioni Bowcher
1003Julie F BowleyFrance2024-06-08Printing Dimensions NEW41Amy Elsner
1004Jennifer H MorascaAustralia2024-05-24King, Christopher A Esq PROPOSAL94Stephen Shaw
1005Emily X BologniaCanada2024-05-23Chemel, James L Cpa RENEWAL88Xuxue Feng
1006Johnson A WaycottFrance2024-06-04Feiner Bros PROPOSAL7Amy Elsner
1007Johnson G KuskoIndia2024-06-10Morlong Associates NEW28Elwin Sharvill
1008Cody D BologniaArgentina2024-06-04Feltz Printing Service RENEWAL7Ivan Magalhaes
1009Tony X RulapaughIndia2024-05-22Feltz Printing Service RENEWAL83Elwin Sharvill
1010Morrow C FlosiFrance2024-05-28Feltz Printing Service RENEWAL61Ioni Bowcher
1011Aruna I BowleyIndia2024-05-21King, Christopher A Esq NEW92Stephen Shaw
1012Smith X OldroydBrazil2024-05-27Chanay, Jeffrey A Esq QUALIFIED6Bernardo Dominic
1013Izzy C SergiFrance2024-06-09Rousseaux, Michael Esq PROPOSAL34Onyama Limba
1014Kadeem S AlbaresCanada2024-06-05Commercial Press QUALIFIED99Xuxue Feng
1015Smith G AlbaresItaly2024-05-26Dorl, James J Esq RENEWAL18Anna Fali
1016Jennifer Q FollerAustralia2024-06-03Benton, John B Jr RENEWAL61Xuxue Feng
1017Salvatore G CaldareraAustralia2024-05-17Chanay, Jeffrey A Esq NEGOTIATION31Bernardo Dominic
1018Leon F KuskoRussia2024-05-19King, Christopher A Esq UNQUALIFIED30Xuxue Feng
1019Leon T PerinSpain2024-05-30Feltz Printing Service RENEWAL28Elwin Sharvill
1020Deepesh R BowleyGermany2024-06-13Feltz Printing Service NEW9Bernardo Dominic
1021Izzy O SchemmerAustralia2024-05-28Feiner Bros QUALIFIED88Onyama Limba
1022Juan V AmigonItaly2024-06-11Buckley Miller Wright RENEWAL14Ioni Bowcher
1023Clifford Z VocelkaArgentina2024-06-03Printing Dimensions NEGOTIATION17Xuxue Feng
1024Arvin Z GillianBrazil2024-05-26Chanay, Jeffrey A Esq QUALIFIED15Ioni Bowcher
1025Mujtaba F WieserSpain2024-06-07Feltz Printing Service NEGOTIATION59Onyama Limba
1026Johnson B PaprockiItaly2024-06-09Dorl, James J Esq NEGOTIATION80Ivan Magalhaes
1027Ricardo Y BologniaSpain2024-06-13Morlong Associates NEW56Ioni Bowcher
1028James N KuskoJapan2024-06-04Benton, John B Jr RENEWAL94Ivan Magalhaes
1029James J CaudyAustralia2024-06-04Rousseaux, Michael Esq UNQUALIFIED28Xuxue Feng
1030Sinclair F FollerFrance2024-05-31Printing Dimensions QUALIFIED69Ivan Magalhaes
1031Aditya W NickaItaly2024-06-06King, Christopher A Esq QUALIFIED20Asiya Javayant
1032Julie K NickaAustralia2024-06-12Chemel, James L Cpa NEW44Anna Fali
1033Jefferson Y StensethArgentina2024-05-28Dorl, James J Esq NEW71Ivan Magalhaes
1034Chavez A DoeRussia2024-05-18Commercial Press PROPOSAL97Onyama Limba
1035Julie N WhobreyBrazil2024-05-21King, Christopher A Esq PROPOSAL47Elwin Sharvill
1036Greenwood C PerinSpain2024-05-24Commercial Press RENEWAL13Amy Elsner
1037Nicolas B PerinGermany2024-06-04Truhlar And Truhlar Attys PROPOSAL13Elwin Sharvill
1038Kaitlin D FollerIndia2024-06-04Dorl, James J Esq QUALIFIED21Xuxue Feng
1039Chavez C ShinkoBrazil2024-05-29King, Christopher A Esq NEW1Asiya Javayant
1040Maisha Y StensethUnited Kingdom2024-05-16Dorl, James J Esq NEGOTIATION96Asiya Javayant
1041Octavia D WaycottIndia2024-06-03Printing Dimensions PROPOSAL19Elwin Sharvill
1042Isabel P GarufiCanada2024-05-16Rangoni Of Florence PROPOSAL74Onyama Limba
1043Silvio Y BologniaUnited Kingdom2024-06-01King, Christopher A Esq PROPOSAL74Xuxue Feng
1044Wickens B MorascaRussia2024-06-05Morlong Associates RENEWAL73Stephen Shaw
1045James F MacleadCanada2024-06-13Chanay, Jeffrey A Esq NEGOTIATION15Xuxue Feng
1046Claire V DarakjyIndia2024-05-23Feiner Bros NEW87Onyama Limba
1047Maria J ButtFrance2024-06-02Feiner Bros RENEWAL59Ivan Magalhaes
1048Munro E FerenczBrazil2024-06-03Chapman, Ross E Esq PROPOSAL92Asiya Javayant
1049Arvin S MaletArgentina2024-05-20Chanay, Jeffrey A Esq NEGOTIATION58Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
James H SaylorsArgentinaAmy Elsner QUALIFIED
Nicolas T NickaSpainAmy Elsner PROPOSAL
Cody F PaprockiSpainAsiya Javayant NEGOTIATION
Francesco Y GlickSpainAsiya Javayant QUALIFIED
Jeanfrancois M MorascaAustraliaElwin Sharvill UNQUALIFIED
Claire T MaletItalyBernardo Dominic RENEWAL
Clifford O CampainItalyAnna Fali PROPOSAL
Jefferson I GillianCanadaIoni Bowcher QUALIFIED
Octavia B FigeroaRussiaAmy Elsner RENEWAL
Antonio A TollnerGermanyIvan Magalhaes NEGOTIATION
Stacey T TollnerGermanyOnyama Limba PROPOSAL
Greenwood J PoquetteUnited KingdomElwin Sharvill UNQUALIFIED
Chavez M StensethRussiaBernardo Dominic PROPOSAL
Ashley E DoeIndiaXuxue Feng QUALIFIED
Alejandro D MacleadUnited KingdomAmy Elsner PROPOSAL
Octavia F GarufiIndiaBernardo Dominic RENEWAL
Aruna U TollnerIndiaIoni Bowcher UNQUALIFIED
Alejandro Q NestleUnited KingdomAmy Elsner UNQUALIFIED
Julie I TollnerAustraliaElwin Sharvill UNQUALIFIED
Aruna T PaprockiFranceAsiya Javayant NEW
Silvio C TollnerItalyAnna Fali RENEWAL
Juan H FigeroaBrazilIvan Magalhaes RENEWAL
Octavia J PerinAustraliaIoni Bowcher UNQUALIFIED
Chavez F MaletCanadaAsiya Javayant NEW
Greenwood W AmigonItalyElwin Sharvill QUALIFIED
Costa Z GarufiIndiaBernardo Dominic NEW
Darci P BowleyArgentinaXuxue Feng QUALIFIED
Wickens A AmigonFranceElwin Sharvill RENEWAL
Emily E ShinkoRussiaElwin Sharvill QUALIFIED
Aika A WhobreyIndiaBernardo Dominic NEGOTIATION
Jones S CaldareraJapanXuxue Feng NEW
Munro D BriddickIndiaOnyama Limba UNQUALIFIED
Kaitlin E RoysterCanadaOnyama Limba UNQUALIFIED
Morrow W MacleadFranceIoni Bowcher UNQUALIFIED
Adams U TollnerJapanAnna Fali PROPOSAL
Leja C PerinJapanXuxue Feng QUALIFIED
Tony U BologniaIndiaAmy Elsner RENEWAL
Silvio P DoeUnited KingdomStephen Shaw NEGOTIATION
Jefferson L NestleFranceStephen Shaw RENEWAL
Smith E FerenczItalyAnna Fali PROPOSAL
Wickens H VocelkaBrazilAsiya Javayant NEGOTIATION
Alejandro D MacleadItalyIvan Magalhaes UNQUALIFIED
Ashley M GillianAustraliaAnna Fali UNQUALIFIED
Kaitlin W FollerAustraliaXuxue Feng PROPOSAL
Johnson H SergiCanadaIoni Bowcher NEW
Arvin L GauchoFranceAmy Elsner UNQUALIFIED
Morrow Y NickaIndiaIoni Bowcher NEW
Antonio Y KolmetzUnited KingdomAsiya Javayant RENEWAL
Nicolas V ChuiSpainBernardo Dominic NEW
Juan E MarrierCanadaIvan Magalhaes NEW
Frozen Columns
Name
Octavia K Poquette
Claire V Malet
Emily N Rim
Octavia D Whobrey
Ricardo U Sergi
Claire C Malet
Julie R Shinko
Isabel P Chui
Faith G Gillian
Francesco S Wieser
Ivar C Bowley
Aika C Stockham
Johnson N Caudy
Johnson S Malet
Arvin P Waycott
Ivar S Ruta
Costa U Bolognia
Jennifer E Albares
Emily M Bolognia
Isabel C Wieser
Mujtaba Q Amigon
Smith P Kusko
Arvin I Wieser
Octavia I Stockham
Tony X Malet
Morrow G Stenseth
Murillo N Shinko
James V Stenseth
Aruna Q Royster
Silvio Z Stockham
Leja Q Nicka
Cody X Nestle
Antonio U Schemmer
Julie I Butt
Nicolas Q Ruta
Izzy Q Tollner
Tony R Wieser
Aruna K Garufi
Jefferson T Inouye
Mayumi V Bolognia
Leja C Marrier
Leon U Sergi
David A Oldroyd
Nicolas G Stenseth
Francesco X Butt
Sinclair A Butt
Munro L Shinko
Silvio Y Doe
Aruna Q Glick
Tony P Amigon
IdCountryDate
1000Spain2024-06-05
1001Russia2024-05-25
1002Australia2024-05-23
1003Germany2024-05-25
1004France2024-06-13
1005India2024-05-19
1006Canada2024-06-06
1007Japan2024-06-01
1008India2024-06-08
1009Japan2024-05-23
1010United Kingdom2024-06-01
1011Spain2024-05-25
1012Japan2024-05-27
1013Russia2024-06-10
1014Italy2024-05-18
1015Germany2024-05-22
1016Italy2024-05-16
1017Russia2024-05-29
1018Italy2024-06-11
1019Germany2024-05-27
1020India2024-05-28
1021Italy2024-06-06
1022Spain2024-06-08
1023Australia2024-05-23
1024Russia2024-06-03
1025Russia2024-05-16
1026Brazil2024-06-03
1027France2024-06-09
1028Italy2024-06-13
1029Japan2024-05-25
1030United Kingdom2024-05-25
1031Japan2024-06-11
1032Italy2024-05-28
1033United Kingdom2024-06-06
1034United Kingdom2024-05-19
1035Brazil2024-05-20
1036Germany2024-06-13
1037Japan2024-06-04
1038Argentina2024-06-01
1039Brazil2024-05-27
1040Russia2024-05-19
1041Germany2024-05-27
1042France2024-05-27
1043Germany2024-06-08
1044Italy2024-06-06
1045Italy2024-05-29
1046Italy2024-05-27
1047Italy2024-05-27
1048Argentina2024-06-11
1049India2024-05-18

On-Demand Data

NameIdCountryDate
Ricardo B Paprocki1000Argentina2024-05-25
Rodrigues E Figeroa1001Germany2024-05-21
Maisha B Chui1002Germany2024-06-03
Silvio T Gaucho1003Australia2024-05-31
Izzy B Saylors1004United Kingdom2024-05-16
Kaitlin I Doe1005Spain2024-06-08
Aditya Z Gillian1006Germany2024-06-10
Aruna V Marrier1007India2024-05-31
Darci Q Chui1008Italy2024-06-01
Silvio T Marrier1009United Kingdom2024-06-08
Juan F Malet1010Russia2024-05-26
Kaitlin F Darakjy1011Argentina2024-05-17
Juan R Morasca1012Brazil2024-05-15
Munro X Ferencz1013Australia2024-06-08
Aruna V Ostrosky1014United Kingdom2024-06-06
Emily I Doe1015Argentina2024-05-17
Morrow H Royster1016Germany2024-06-04
Antonio N Poquette1017Australia2024-05-30
David G Rulapaugh1018Canada2024-06-10
Claire C Schemmer1019France2024-05-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore F StockhamGermanyIoni Bowcher UNQUALIFIED
Silvio O ButtRussiaXuxue Feng NEW
Ashley B CaldareraItalyStephen Shaw UNQUALIFIED
Francesco Z KolmetzAustraliaAsiya Javayant NEW
Ricardo F OldroydRussiaElwin Sharvill UNQUALIFIED
Julie T RutaSpainOnyama Limba UNQUALIFIED
Murillo L RoysterItalyOnyama Limba NEGOTIATION
Morrow N DoeRussiaBernardo Dominic QUALIFIED
Rodrigues H CaldareraRussiaBernardo Dominic NEGOTIATION
Munro C FollerArgentinaElwin Sharvill RENEWAL
Sinclair G RimUnited KingdomAnna Fali NEW
Maria A SchemmerIndiaIvan Magalhaes NEGOTIATION
Isabel N GillianAustraliaOnyama Limba UNQUALIFIED
Emily D IturbideItalyBernardo Dominic NEW
Aika X VocelkaFranceElwin Sharvill QUALIFIED
Francesco F KolmetzIndiaBernardo Dominic UNQUALIFIED
Mayumi E OstroskyRussiaIvan Magalhaes PROPOSAL
Ashley V OstroskyGermanyIoni Bowcher UNQUALIFIED
Jefferson E BowleyItalyAmy Elsner NEW
Kaitlin T ShinkoUnited KingdomElwin Sharvill NEW
Aika T RulapaughFranceXuxue Feng RENEWAL
Silvio D ChuiCanadaElwin Sharvill PROPOSAL
Leon C VocelkaJapanIvan Magalhaes UNQUALIFIED
Juan I AmigonIndiaIoni Bowcher PROPOSAL
Ashley Y InouyeBrazilBernardo Dominic QUALIFIED
Johnson A ChuiCanadaStephen Shaw PROPOSAL
Darci X FlosiBrazilIoni Bowcher RENEWAL
Smith S OstroskyBrazilElwin Sharvill PROPOSAL
Cody Q NickaBrazilStephen Shaw RENEWAL
Deepesh Z MorascaUnited KingdomBernardo Dominic NEGOTIATION
David X WieserArgentinaIvan Magalhaes NEGOTIATION
Greenwood Y FigeroaBrazilIoni Bowcher PROPOSAL
Arvin K SchemmerFranceXuxue Feng NEGOTIATION
Francesco W GarufiAustraliaStephen Shaw QUALIFIED
James Y TollnerRussiaOnyama Limba QUALIFIED
David P BowleyAustraliaBernardo Dominic NEW
Silvio L IturbideIndiaOnyama Limba UNQUALIFIED
Greenwood C SchemmerJapanOnyama Limba PROPOSAL
Greenwood X PaprockiIndiaBernardo Dominic QUALIFIED
Ashley Y GarufiIndiaAnna Fali RENEWAL

<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>