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
Deepesh W TollnerArgentinaAsiya Javayant QUALIFIED
Morrow L SergiItalyAmy Elsner QUALIFIED
Faith D BowleyItalyAsiya Javayant QUALIFIED
Arvin I VocelkaItalyBernardo Dominic UNQUALIFIED
Clifford T MaletRussiaOnyama Limba PROPOSAL
Jennifer A StockhamIndiaStephen Shaw QUALIFIED
Jennifer L PaprockiJapanStephen Shaw NEW
Ashley E VenereArgentinaAnna Fali QUALIFIED
Johnson Q OldroydAustraliaAmy Elsner QUALIFIED
Juan O OstroskyRussiaStephen Shaw UNQUALIFIED
Wickens L DilliardAustraliaIvan Magalhaes NEGOTIATION
David H KuskoRussiaBernardo Dominic PROPOSAL
Costa D GillianCanadaAmy Elsner UNQUALIFIED
Ricardo M WieserFranceAmy Elsner NEW
Greenwood M RulapaughSpainElwin Sharvill UNQUALIFIED
Johnson B PerinBrazilIoni Bowcher RENEWAL
Jefferson W FigeroaUnited KingdomAmy Elsner QUALIFIED
Wickens A ButtSpainIvan Magalhaes RENEWAL
Aditya V WhobreyIndiaOnyama Limba PROPOSAL
David I MaletFranceStephen Shaw NEGOTIATION
Juan I CampainItalyOnyama Limba PROPOSAL
Cody J FlosiCanadaAmy Elsner NEGOTIATION
Jefferson R WaycottUnited KingdomIoni Bowcher NEGOTIATION
Munro C TollnerGermanyStephen Shaw NEW
Jeanfrancois W SergiSpainIoni Bowcher PROPOSAL
Misaki B SchemmerIndiaOnyama Limba RENEWAL
Claire C TollnerItalyBernardo Dominic UNQUALIFIED
Ivar L SaylorsRussiaElwin Sharvill NEW
Julie N MaletBrazilIvan Magalhaes NEGOTIATION
Octavia T AlbaresAustraliaStephen Shaw RENEWAL
Emily T MacleadFranceAnna Fali NEW
Emily V NickaJapanIoni Bowcher NEW
Kaitlin Y GarufiAustraliaOnyama Limba RENEWAL
Morrow L GillianArgentinaAmy Elsner NEW
Aika T StockhamGermanyXuxue Feng NEW
Darci I CaldareraIndiaIoni Bowcher QUALIFIED
Faith H GarufiAustraliaAmy Elsner NEW
Julie O GillianGermanyAsiya Javayant NEW
Munro A StensethRussiaIoni Bowcher PROPOSAL
Murillo E VocelkaBrazilAmy Elsner PROPOSAL
Darci G PerinItalyIvan Magalhaes RENEWAL
Jones V WieserIndiaElwin Sharvill UNQUALIFIED
James I MaletIndiaIoni Bowcher PROPOSAL
Isabel J RulapaughRussiaAmy Elsner UNQUALIFIED
Mayumi N AmigonSpainAnna Fali QUALIFIED
Nicolas V WaycottAustraliaBernardo Dominic UNQUALIFIED
Clifford K FollerBrazilStephen Shaw RENEWAL
Ashley F CampainBrazilAnna Fali QUALIFIED
Adams U PerinSpainOnyama Limba NEGOTIATION
Jones H GillianGermanyIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Julie P GauchoItalyAnna Fali NEGOTIATION
Adams U TollnerRussiaXuxue Feng QUALIFIED
Ivar W SergiRussiaStephen Shaw PROPOSAL
Ricardo Q BriddickGermanyIvan Magalhaes RENEWAL
Arvin N NickaArgentinaBernardo Dominic NEW
Wickens O BologniaGermanyAsiya Javayant RENEWAL
Greenwood X SlusarskiSpainAsiya Javayant NEGOTIATION
Jennifer I GarufiFranceAsiya Javayant PROPOSAL
Jeanfrancois V CaudyUnited KingdomOnyama Limba NEW
Clifford I WieserJapanIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kaitlin X NickaSpain2026-06-21Truhlar And Truhlar Attys NEW86Anna Fali
1001Mayumi C MaletUnited Kingdom2026-06-25Truhlar And Truhlar Attys NEW20Stephen Shaw
1002Kadeem O GarufiJapan2026-06-14Commercial Press NEGOTIATION57Ivan Magalhaes
1003David D MaletCanada2026-07-02Chapman, Ross E Esq PROPOSAL28Asiya Javayant
1004Greenwood I GillianRussia2026-07-06Feltz Printing Service PROPOSAL50Ivan Magalhaes
1005Faith X StensethItaly2026-07-10Chanay, Jeffrey A Esq RENEWAL47Ivan Magalhaes
1006Mujtaba H SaylorsUnited Kingdom2026-07-05Rousseaux, Michael Esq RENEWAL83Asiya Javayant
1007Claire V FollerCanada2026-06-20Feltz Printing Service RENEWAL30Xuxue Feng
1008Adams C VenereSpain2026-06-17Feltz Printing Service PROPOSAL91Xuxue Feng
1009Leon B GillianFrance2026-06-19Chanay, Jeffrey A Esq NEGOTIATION51Elwin Sharvill
1010Maisha Z KuskoCanada2026-07-11Morlong Associates QUALIFIED10Onyama Limba
1011Deepesh G WhobreyItaly2026-06-13Chemel, James L Cpa QUALIFIED54Ioni Bowcher
1012Morrow J FerenczItaly2026-06-14Buckley Miller Wright NEW7Onyama Limba
1013Morrow J PaprockiArgentina2026-07-07Commercial Press QUALIFIED47Amy Elsner
1014Izzy N MaletIndia2026-06-17Benton, John B Jr PROPOSAL97Asiya Javayant
1015Alejandro S OldroydFrance2026-06-26Feiner Bros NEGOTIATION59Onyama Limba
1016Adams V MorascaJapan2026-06-13Buckley Miller Wright NEGOTIATION64Onyama Limba
1017Aditya T RulapaughCanada2026-07-09Printing Dimensions PROPOSAL35Stephen Shaw
1018Sinclair G ButtCanada2026-06-16Chanay, Jeffrey A Esq QUALIFIED52Onyama Limba
1019Sinclair D IturbideUnited Kingdom2026-07-12Dorl, James J Esq RENEWAL17Anna Fali
1020Munro W GarufiCanada2026-07-01Feiner Bros NEW48Anna Fali
1021Isabel X RoysterRussia2026-06-26Chemel, James L Cpa PROPOSAL40Ioni Bowcher
1022Jeanfrancois C WieserCanada2026-07-12Chapman, Ross E Esq RENEWAL2Asiya Javayant
1023Morrow Y PoquetteBrazil2026-07-04Chapman, Ross E Esq NEW26Ioni Bowcher
1024Jefferson B RimFrance2026-06-29Commercial Press PROPOSAL89Amy Elsner
1025Kadeem X MorascaGermany2026-07-07Feltz Printing Service NEGOTIATION79Ioni Bowcher
1026James Z DilliardCanada2026-06-24King, Christopher A Esq QUALIFIED54Ivan Magalhaes
1027Jefferson B CaldareraAustralia2026-06-25Feiner Bros NEGOTIATION24Anna Fali
1028Mayumi D MarrierIndia2026-06-19Rousseaux, Michael Esq NEGOTIATION83Amy Elsner
1029Kadeem U OldroydItaly2026-07-12Chanay, Jeffrey A Esq QUALIFIED91Bernardo Dominic
1030Misaki G MaletFrance2026-07-11Dorl, James J Esq NEW8Bernardo Dominic
1031Kadeem J WaycottUnited Kingdom2026-07-12Chanay, Jeffrey A Esq QUALIFIED14Elwin Sharvill
1032Smith L RimIndia2026-06-13Commercial Press NEGOTIATION1Anna Fali
1033Julie A FigeroaBrazil2026-07-04Benton, John B Jr PROPOSAL68Bernardo Dominic
1034Johnson T GillianArgentina2026-07-06Chanay, Jeffrey A Esq PROPOSAL92Ioni Bowcher
1035Julie C RulapaughJapan2026-07-05Feltz Printing Service UNQUALIFIED66Ioni Bowcher
1036Murillo L RimItaly2026-07-09Benton, John B Jr RENEWAL40Asiya Javayant
1037Julie B KuskoFrance2026-07-06Dorl, James J Esq NEGOTIATION8Elwin Sharvill
1038Claire S CaudyFrance2026-07-05Benton, John B Jr RENEWAL38Ioni Bowcher
1039Ivar I PaprockiIndia2026-06-17King, Christopher A Esq NEW9Ioni Bowcher
1040Munro T SlusarskiUnited Kingdom2026-06-13Morlong Associates UNQUALIFIED3Asiya Javayant
1041David F GillianBrazil2026-06-20Truhlar And Truhlar Attys RENEWAL41Anna Fali
1042Ashley O PaprockiJapan2026-06-22King, Christopher A Esq UNQUALIFIED76Ivan Magalhaes
1043Jefferson G SaylorsIndia2026-07-09Feiner Bros UNQUALIFIED22Ioni Bowcher
1044Jones S DoeArgentina2026-06-22Truhlar And Truhlar Attys QUALIFIED20Bernardo Dominic
1045Alejandro J InouyeItaly2026-06-19Dorl, James J Esq UNQUALIFIED51Anna Fali
1046Alejandro X BriddickIndia2026-06-26Buckley Miller Wright PROPOSAL95Stephen Shaw
1047Mujtaba J VenereArgentina2026-06-20Dorl, James J Esq NEW66Xuxue Feng
1048Aditya E VenereIndia2026-07-11King, Christopher A Esq NEW18Anna Fali
1049Julie U KuskoArgentina2026-07-06Feiner Bros RENEWAL46Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Munro I MaletBrazilElwin Sharvill PROPOSAL
Aruna Y FlosiRussiaXuxue Feng UNQUALIFIED
Rodrigues K AmigonArgentinaXuxue Feng PROPOSAL
Antonio W MarrierJapanElwin Sharvill RENEWAL
Darci J OstroskyBrazilIvan Magalhaes UNQUALIFIED
Aditya U ChuiIndiaAmy Elsner RENEWAL
Isabel X DilliardFranceBernardo Dominic RENEWAL
Juan H CaudyAustraliaOnyama Limba RENEWAL
Juan S BologniaAustraliaBernardo Dominic RENEWAL
Jeanfrancois K NickaRussiaAsiya Javayant RENEWAL
Nicolas I WaycottGermanyAsiya Javayant NEGOTIATION
Leon Y ChuiFranceElwin Sharvill UNQUALIFIED
Izzy E PoquetteArgentinaOnyama Limba UNQUALIFIED
Wickens Z InouyeSpainIvan Magalhaes RENEWAL
Maria F DarakjyJapanBernardo Dominic NEGOTIATION
Silvio I MaletRussiaAnna Fali RENEWAL
Greenwood Z BriddickArgentinaAmy Elsner PROPOSAL
Jefferson J BologniaCanadaStephen Shaw UNQUALIFIED
Ivar W VocelkaSpainXuxue Feng RENEWAL
Deepesh X VocelkaRussiaIoni Bowcher PROPOSAL
Mayumi K WhobreyUnited KingdomIvan Magalhaes QUALIFIED
Adams S WaycottItalyElwin Sharvill PROPOSAL
Johnson Q InouyeItalyAnna Fali QUALIFIED
Claire D PerinArgentinaAnna Fali PROPOSAL
Clifford F VenereAustraliaAsiya Javayant NEW
Costa M IturbideIndiaIvan Magalhaes PROPOSAL
Costa F GarufiBrazilAnna Fali RENEWAL
Chavez P StockhamAustraliaIvan Magalhaes NEW
Faith E SaylorsBrazilAsiya Javayant UNQUALIFIED
Murillo M WieserArgentinaAmy Elsner QUALIFIED
Nicolas J FollerItalyElwin Sharvill NEGOTIATION
Julie S MarrierIndiaElwin Sharvill NEGOTIATION
Alejandro K FigeroaUnited KingdomAsiya Javayant NEW
Kaitlin T GillianIndiaXuxue Feng PROPOSAL
Mujtaba G PaprockiRussiaStephen Shaw QUALIFIED
Greenwood U FigeroaRussiaAsiya Javayant QUALIFIED
Chavez C GarufiGermanyAsiya Javayant PROPOSAL
Ricardo F RutaIndiaElwin Sharvill NEW
James D WhobreySpainOnyama Limba QUALIFIED
Julie Y PerinItalyAsiya Javayant NEGOTIATION
Emily Z InouyeRussiaStephen Shaw NEW
Jeanfrancois P WhobreyArgentinaAsiya Javayant QUALIFIED
Chavez M GlickJapanBernardo Dominic QUALIFIED
Kaitlin R DoeUnited KingdomAsiya Javayant PROPOSAL
Nicolas A MacleadGermanyAnna Fali NEW
Aika V GarufiArgentinaOnyama Limba QUALIFIED
Maria L PerinGermanyIvan Magalhaes NEGOTIATION
Ivar K RulapaughSpainStephen Shaw NEGOTIATION
Silvio D OstroskyAustraliaStephen Shaw QUALIFIED
Ricardo M RulapaughUnited KingdomAmy Elsner NEGOTIATION
Frozen Columns
Name
Murillo Y Gillian
Leja A Stockham
Arvin Y Royster
Kaitlin K Caudy
Emily M Paprocki
Munro U Iturbide
Costa J Butt
Isabel X Stockham
Munro K Stockham
Adams M Shinko
Arvin E Vocelka
Faith Z Ferencz
Antonio B Venere
Ricardo P Malet
Mujtaba K Briddick
Jones P Perin
Izzy T Butt
Adams I Bolognia
Alejandro M Albares
Costa Y Darakjy
Juan W Rim
Stacey W Inouye
Johnson B Amigon
Aika X Whobrey
Aika N Ferencz
Sinclair I Kusko
David X Garufi
Jones E Nestle
Ricardo G Gaucho
Julie W Wieser
Leja E Bowley
Maria D Waycott
Deepesh H Perin
Faith E Dilliard
Maria N Campain
Francesco V Wieser
Maria I Poquette
Silvio W Iturbide
Misaki J Butt
Alejandro V Waycott
Mujtaba W Morasca
Chavez S Saylors
Rodrigues G Dilliard
Silvio U Iturbide
Francesco W Dilliard
Cody Z Briddick
Faith Q Albares
Munro Y Ruta
Mayumi R Malet
Munro T Iturbide
IdCountryDate
1000Australia2026-07-12
1001Australia2026-07-05
1002France2026-07-09
1003Japan2026-06-19
1004Spain2026-07-07
1005France2026-06-18
1006Germany2026-07-08
1007Canada2026-07-10
1008Russia2026-07-12
1009India2026-06-26
1010Canada2026-07-02
1011United Kingdom2026-06-18
1012France2026-07-06
1013Brazil2026-06-23
1014Argentina2026-07-08
1015Australia2026-07-07
1016Italy2026-06-19
1017Argentina2026-06-16
1018Brazil2026-07-01
1019Russia2026-07-09
1020Spain2026-06-18
1021Japan2026-06-27
1022Spain2026-06-18
1023Germany2026-07-12
1024Canada2026-06-23
1025Russia2026-07-08
1026Argentina2026-07-06
1027Brazil2026-06-13
1028France2026-06-18
1029Argentina2026-06-19
1030Brazil2026-07-02
1031Spain2026-07-04
1032United Kingdom2026-06-13
1033United Kingdom2026-07-10
1034Canada2026-06-27
1035Russia2026-07-09
1036Argentina2026-07-09
1037Russia2026-06-14
1038India2026-07-04
1039Italy2026-06-20
1040Russia2026-06-26
1041Australia2026-06-30
1042Australia2026-07-10
1043Australia2026-07-03
1044United Kingdom2026-06-26
1045Russia2026-06-15
1046United Kingdom2026-06-30
1047Germany2026-07-04
1048Russia2026-07-12
1049India2026-07-05

On-Demand Data

NameIdCountryDate
Aditya I Iturbide1000Brazil2026-06-15
Jefferson F Rulapaugh1001Japan2026-07-10
Leja S Inouye1002Australia2026-06-27
Aika V Kolmetz1003India2026-06-22
Maisha M Maclead1004Italy2026-07-03
Ivar M Maclead1005Russia2026-07-03
Jones I Chui1006France2026-07-10
Ivar U Venere1007Canada2026-06-20
Maisha P Ruta1008Argentina2026-06-19
Jennifer Q Chui1009Japan2026-06-27
Aditya U Caldarera1010France2026-06-15
Antonio F Ferencz1011Australia2026-06-13
Aika O Glick1012Argentina2026-07-08
Ricardo V Nicka1013Australia2026-06-30
Faith Q Morasca1014France2026-07-06
Aruna C Malet1015Japan2026-06-27
Maisha V Perin1016United Kingdom2026-06-22
Kadeem S Bowley1017Australia2026-06-19
Chavez Y Malet1018Brazil2026-06-29
Claire L Albares1019United Kingdom2026-07-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody R MarrierGermanyElwin Sharvill UNQUALIFIED
Antonio N KolmetzItalyIoni Bowcher RENEWAL
Leja S InouyeRussiaElwin Sharvill RENEWAL
Octavia R FigeroaRussiaIvan Magalhaes NEW
Costa B IturbideIndiaAsiya Javayant UNQUALIFIED
Izzy Q DoeSpainAsiya Javayant RENEWAL
David G ChuiAustraliaIvan Magalhaes UNQUALIFIED
Aditya R OstroskyItalyIoni Bowcher NEW
Leon E StensethAustraliaXuxue Feng RENEWAL
Chavez I SlusarskiSpainIoni Bowcher PROPOSAL
Juan V TollnerSpainXuxue Feng PROPOSAL
Aruna U SlusarskiRussiaIvan Magalhaes QUALIFIED
Smith D ChuiArgentinaAnna Fali NEGOTIATION
Wickens J MaletAustraliaAnna Fali NEW
James C IturbideCanadaAsiya Javayant PROPOSAL
James P MacleadSpainAsiya Javayant PROPOSAL
Ricardo L SergiRussiaOnyama Limba NEW
Greenwood J NestleJapanAnna Fali NEW
Morrow A StockhamRussiaIoni Bowcher NEW
Tony D PerinAustraliaIoni Bowcher QUALIFIED
David H MaletIndiaAsiya Javayant NEW
Mayumi V RulapaughUnited KingdomElwin Sharvill UNQUALIFIED
Stacey F SaylorsGermanyStephen Shaw PROPOSAL
Kadeem K WhobreyBrazilStephen Shaw RENEWAL
Misaki D DarakjyIndiaAnna Fali UNQUALIFIED
Ivar N MacleadRussiaAnna Fali RENEWAL
Deepesh Q OstroskyUnited KingdomIoni Bowcher NEW
Stacey I ButtBrazilAmy Elsner NEW
Kadeem B CaudyArgentinaAnna Fali RENEWAL
Cody S RulapaughSpainBernardo Dominic NEGOTIATION
Mujtaba V RoysterRussiaElwin Sharvill NEGOTIATION
Mujtaba O ChuiFranceOnyama Limba UNQUALIFIED
Faith P WaycottItalyOnyama Limba UNQUALIFIED
Clifford Q FlosiCanadaAmy Elsner NEGOTIATION
Jones H ShinkoGermanyElwin Sharvill RENEWAL
Kaitlin X DilliardJapanAmy Elsner NEW
Ashley P RimRussiaIoni Bowcher RENEWAL
Stacey D KuskoUnited KingdomAmy Elsner QUALIFIED
Cody G TollnerCanadaAsiya Javayant QUALIFIED
David A InouyeArgentinaElwin Sharvill UNQUALIFIED

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