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
Izzy D BologniaIndiaIvan Magalhaes NEGOTIATION
Jones T FlosiRussiaElwin Sharvill RENEWAL
Adams Y RimUnited KingdomAnna Fali NEW
Izzy U KuskoCanadaXuxue Feng QUALIFIED
Julie F SaylorsSpainXuxue Feng NEW
Aika U RutaAustraliaAsiya Javayant NEW
Smith M GauchoGermanyAnna Fali NEW
Kaitlin Q MacleadAustraliaBernardo Dominic UNQUALIFIED
Julie B GillianArgentinaAsiya Javayant UNQUALIFIED
Ivar H FigeroaRussiaIoni Bowcher NEW
Cody O WaycottItalyIoni Bowcher RENEWAL
Octavia M InouyeCanadaBernardo Dominic NEGOTIATION
Aditya B VocelkaIndiaXuxue Feng QUALIFIED
Alejandro I DoeArgentinaIoni Bowcher NEW
Maria X SaylorsGermanyIvan Magalhaes NEW
Juan G TollnerAustraliaElwin Sharvill UNQUALIFIED
Mayumi W GlickIndiaOnyama Limba UNQUALIFIED
Greenwood M MacleadArgentinaBernardo Dominic NEW
Alejandro R WaycottCanadaStephen Shaw PROPOSAL
Aditya E SaylorsGermanyIvan Magalhaes NEW
Maria T VocelkaBrazilIoni Bowcher QUALIFIED
Arvin Z WieserItalyIvan Magalhaes UNQUALIFIED
Wickens W PerinJapanIvan Magalhaes QUALIFIED
Cody A NestleCanadaIvan Magalhaes UNQUALIFIED
Leon L RutaBrazilIoni Bowcher PROPOSAL
Aditya U CaldareraIndiaElwin Sharvill RENEWAL
Rodrigues E AlbaresIndiaAsiya Javayant UNQUALIFIED
Darci T OldroydCanadaAsiya Javayant UNQUALIFIED
James R StockhamUnited KingdomIvan Magalhaes NEGOTIATION
Juan A ChuiJapanOnyama Limba PROPOSAL
Nicolas N MorascaSpainIvan Magalhaes NEW
Darci C ChuiBrazilXuxue Feng RENEWAL
Jeanfrancois X ChuiAustraliaStephen Shaw NEW
Alejandro P StensethItalyAsiya Javayant PROPOSAL
Jones K OstroskyFranceXuxue Feng PROPOSAL
Adams W GarufiGermanyStephen Shaw QUALIFIED
Cody J WhobreyRussiaXuxue Feng QUALIFIED
Darci H FlosiItalyStephen Shaw UNQUALIFIED
Isabel T SergiFranceIvan Magalhaes RENEWAL
Ashley N OstroskySpainAmy Elsner NEW
Wickens J ChuiSpainIvan Magalhaes RENEWAL
Nicolas N CaldareraJapanAmy Elsner UNQUALIFIED
Leon P FerenczFranceElwin Sharvill NEW
Rodrigues P SchemmerCanadaStephen Shaw QUALIFIED
Mujtaba V NickaCanadaAsiya Javayant QUALIFIED
Emily T RoysterRussiaIoni Bowcher QUALIFIED
Octavia L DarakjyUnited KingdomIvan Magalhaes UNQUALIFIED
Mayumi V SaylorsArgentinaStephen Shaw NEGOTIATION
Ivar O RulapaughRussiaElwin Sharvill NEW
Ricardo M FerenczCanadaIoni Bowcher PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kaitlin B StockhamArgentinaAsiya Javayant QUALIFIED
Aditya V BriddickJapanAsiya Javayant UNQUALIFIED
Greenwood A IturbideAustraliaAmy Elsner NEW
Izzy A WieserUnited KingdomXuxue Feng RENEWAL
Morrow I InouyeBrazilIvan Magalhaes QUALIFIED
Mujtaba V NestleJapanOnyama Limba NEW
Clifford P RimIndiaIoni Bowcher NEGOTIATION
Ricardo Y SaylorsUnited KingdomAmy Elsner QUALIFIED
Jennifer T FlosiArgentinaAsiya Javayant QUALIFIED
Isabel O SergiCanadaAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer J RimBrazil2025-04-11Rangoni Of Florence RENEWAL85Xuxue Feng
1001Munro I StockhamItaly2025-04-21Chemel, James L Cpa PROPOSAL93Stephen Shaw
1002Aditya Y KolmetzGermany2025-04-02Dorl, James J Esq NEGOTIATION96Ioni Bowcher
1003Isabel H DilliardJapan2025-04-25Dorl, James J Esq UNQUALIFIED99Amy Elsner
1004Mujtaba L CaldareraFrance2025-04-21Feiner Bros UNQUALIFIED19Xuxue Feng
1005Johnson A FerenczUnited Kingdom2025-04-01Truhlar And Truhlar Attys UNQUALIFIED91Elwin Sharvill
1006Mujtaba O BowleyArgentina2025-03-31Rangoni Of Florence NEGOTIATION91Anna Fali
1007Costa E KuskoRussia2025-04-01Rangoni Of Florence NEW3Ioni Bowcher
1008Claire C SlusarskiCanada2025-04-27Chanay, Jeffrey A Esq QUALIFIED43Elwin Sharvill
1009Maria Z StockhamGermany2025-04-14Feiner Bros QUALIFIED91Bernardo Dominic
1010Johnson Q BologniaJapan2025-04-05Morlong Associates PROPOSAL63Elwin Sharvill
1011Leon P ShinkoFrance2025-04-22Truhlar And Truhlar Attys RENEWAL10Amy Elsner
1012Morrow F MaletGermany2025-04-19Commercial Press UNQUALIFIED94Elwin Sharvill
1013Johnson N RulapaughItaly2025-04-15Morlong Associates RENEWAL13Bernardo Dominic
1014Rodrigues T SergiArgentina2025-04-24Morlong Associates QUALIFIED21Elwin Sharvill
1015Arvin K FerenczArgentina2025-04-19Truhlar And Truhlar Attys QUALIFIED84Ioni Bowcher
1016Chavez K ButtJapan2025-04-10Feiner Bros RENEWAL48Onyama Limba
1017Aika R BowleyRussia2025-04-03Chemel, James L Cpa NEW52Xuxue Feng
1018Jennifer V DilliardItaly2025-04-26Chanay, Jeffrey A Esq PROPOSAL87Anna Fali
1019Emily X StockhamCanada2025-04-17Rangoni Of Florence RENEWAL84Ioni Bowcher
1020Aditya B PerinItaly2025-04-29Chemel, James L Cpa PROPOSAL6Onyama Limba
1021Morrow D MaletFrance2025-03-31Rangoni Of Florence PROPOSAL7Stephen Shaw
1022Arvin O VocelkaIndia2025-04-13Truhlar And Truhlar Attys QUALIFIED56Xuxue Feng
1023Morrow W VocelkaSpain2025-04-23Feiner Bros UNQUALIFIED86Ioni Bowcher
1024Stacey I DilliardSpain2025-04-20Morlong Associates QUALIFIED61Anna Fali
1025David Z GlickJapan2025-04-22King, Christopher A Esq PROPOSAL5Ioni Bowcher
1026Jeanfrancois N WaycottJapan2025-04-18Benton, John B Jr PROPOSAL95Xuxue Feng
1027James A TollnerBrazil2025-04-21Commercial Press RENEWAL66Onyama Limba
1028Munro P FerenczAustralia2025-04-20Printing Dimensions RENEWAL75Amy Elsner
1029Maria I KuskoIndia2025-04-04Buckley Miller Wright NEGOTIATION56Stephen Shaw
1030Faith J CaudyUnited Kingdom2025-04-25Chemel, James L Cpa NEGOTIATION70Xuxue Feng
1031Tony H PerinArgentina2025-04-27Truhlar And Truhlar Attys NEW0Xuxue Feng
1032Kadeem E RulapaughAustralia2025-04-10Rousseaux, Michael Esq NEGOTIATION39Ioni Bowcher
1033Ashley R NickaIndia2025-04-18Dorl, James J Esq UNQUALIFIED69Amy Elsner
1034Jeanfrancois Z FigeroaArgentina2025-04-10Commercial Press PROPOSAL45Asiya Javayant
1035Stacey O BriddickBrazil2025-04-04Morlong Associates UNQUALIFIED88Ivan Magalhaes
1036Salvatore S KolmetzAustralia2025-04-13Chapman, Ross E Esq QUALIFIED65Asiya Javayant
1037Kaitlin J FlosiIndia2025-04-21Benton, John B Jr PROPOSAL0Ivan Magalhaes
1038Aditya Y DarakjyArgentina2025-04-22King, Christopher A Esq PROPOSAL57Xuxue Feng
1039Claire O NickaIndia2025-04-13Rousseaux, Michael Esq PROPOSAL79Bernardo Dominic
1040Deepesh O IturbideIndia2025-04-27King, Christopher A Esq NEW36Ioni Bowcher
1041Izzy A KolmetzFrance2025-04-12Rousseaux, Michael Esq NEW16Ioni Bowcher
1042Tony H ButtSpain2025-04-17Chanay, Jeffrey A Esq QUALIFIED86Asiya Javayant
1043Jefferson Y GarufiRussia2025-04-01Dorl, James J Esq RENEWAL26Bernardo Dominic
1044Leon S SchemmerSpain2025-04-21Benton, John B Jr RENEWAL42Bernardo Dominic
1045Smith G GlickIndia2025-04-11Printing Dimensions NEW87Bernardo Dominic
1046Julie B InouyeRussia2025-04-19Benton, John B Jr QUALIFIED32Xuxue Feng
1047Aruna D FollerBrazil2025-04-09Morlong Associates NEGOTIATION74Ioni Bowcher
1048Rodrigues S GlickFrance2025-04-11Feiner Bros PROPOSAL21Elwin Sharvill
1049Jennifer R OstroskyBrazil2025-04-05Morlong Associates NEW43Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Mayumi H RimSpainStephen Shaw RENEWAL
Smith V WieserBrazilAmy Elsner UNQUALIFIED
Mujtaba Z RimGermanyIvan Magalhaes NEW
Sinclair E CampainRussiaOnyama Limba NEGOTIATION
Johnson Q CaldareraJapanAnna Fali PROPOSAL
Cody Q NickaRussiaStephen Shaw NEGOTIATION
Jefferson L CaldareraSpainAsiya Javayant PROPOSAL
Darci I DilliardIndiaIvan Magalhaes NEGOTIATION
Chavez Q RutaItalyIvan Magalhaes PROPOSAL
Francesco Z BriddickItalyBernardo Dominic RENEWAL
Costa A DarakjyRussiaElwin Sharvill RENEWAL
Sinclair T FigeroaGermanyIvan Magalhaes RENEWAL
Costa U KuskoAustraliaAnna Fali NEGOTIATION
Maria N PaprockiJapanElwin Sharvill UNQUALIFIED
Ricardo A FlosiFranceBernardo Dominic NEGOTIATION
Cody P KuskoItalyAnna Fali QUALIFIED
Morrow V FlosiUnited KingdomIoni Bowcher QUALIFIED
Sinclair R FerenczRussiaAsiya Javayant PROPOSAL
Rodrigues M PoquetteArgentinaAmy Elsner PROPOSAL
Clifford V WieserItalyIoni Bowcher PROPOSAL
Smith D PerinCanadaIoni Bowcher UNQUALIFIED
Maria R GlickIndiaAmy Elsner NEW
Juan T FlosiSpainElwin Sharvill QUALIFIED
Juan X GauchoGermanyBernardo Dominic NEGOTIATION
Cody H GauchoUnited KingdomStephen Shaw NEW
Juan N GillianIndiaAmy Elsner NEW
Mujtaba X AmigonGermanyIvan Magalhaes NEW
Morrow F SergiIndiaOnyama Limba PROPOSAL
Morrow Y InouyeUnited KingdomStephen Shaw RENEWAL
Murillo M TollnerUnited KingdomIvan Magalhaes QUALIFIED
Maria G FlosiIndiaAmy Elsner UNQUALIFIED
Silvio E MacleadSpainXuxue Feng UNQUALIFIED
Johnson O GarufiArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois P FerenczFranceStephen Shaw QUALIFIED
Ivar Y BowleyIndiaIvan Magalhaes RENEWAL
Jones X MaletIndiaIoni Bowcher PROPOSAL
Octavia S FigeroaFranceIvan Magalhaes UNQUALIFIED
Ivar Z MorascaBrazilElwin Sharvill QUALIFIED
Jones H PerinItalyAmy Elsner PROPOSAL
Stacey G KuskoAustraliaIoni Bowcher NEGOTIATION
Jones U SlusarskiArgentinaIvan Magalhaes UNQUALIFIED
Jeanfrancois R SergiCanadaStephen Shaw RENEWAL
Octavia T NestleArgentinaBernardo Dominic PROPOSAL
Alejandro S InouyeSpainOnyama Limba RENEWAL
Antonio V MaletItalyBernardo Dominic PROPOSAL
Jeanfrancois P GarufiCanadaBernardo Dominic NEW
Silvio L CampainBrazilAnna Fali PROPOSAL
Murillo I InouyeUnited KingdomAsiya Javayant PROPOSAL
Faith L IturbideFranceAmy Elsner NEW
Aika Y VenereSpainAsiya Javayant NEGOTIATION
Frozen Columns
Name
Francesco V Malet
Leja O Chui
Sinclair G Gillian
Alejandro C Morasca
Mujtaba X Slusarski
Adams G Whobrey
Murillo J Oldroyd
Mayumi E Iturbide
Ricardo S Maclead
Jones C Gaucho
Isabel Y Butt
Antonio N Briddick
Munro L Figeroa
Aruna H Morasca
Stacey J Vocelka
Kadeem G Stockham
Jeanfrancois P Bolognia
Jones W Saylors
Aika M Wieser
Costa C Nicka
Aditya N Oldroyd
Ivar D Butt
Julie C Nestle
Jennifer Y Paprocki
Jones E Slusarski
Costa F Gillian
Cody N Royster
Murillo R Rulapaugh
James F Morasca
Rodrigues U Tollner
Greenwood Q Venere
Faith C Amigon
Deepesh M Marrier
Mujtaba P Rim
Octavia R Malet
Smith K Campain
Mujtaba X Maclead
Mayumi N Kusko
Deepesh G Maclead
Emily O Stockham
Francesco I Vocelka
Misaki H Nicka
Antonio T Chui
Julie G Chui
Misaki I Bolognia
Isabel G Butt
Leja L Flosi
Costa O Venere
Ivar B Marrier
Stacey G Caudy
IdCountryDate
1000Germany2025-04-27
1001United Kingdom2025-04-20
1002India2025-04-04
1003India2025-04-21
1004Argentina2025-04-20
1005Australia2025-04-23
1006France2025-04-01
1007Brazil2025-04-05
1008Canada2025-04-28
1009Germany2025-04-29
1010Brazil2025-04-09
1011Japan2025-04-09
1012India2025-04-22
1013Russia2025-04-13
1014India2025-04-14
1015Japan2025-04-08
1016Canada2025-04-19
1017Brazil2025-04-08
1018Brazil2025-04-10
1019Spain2025-04-23
1020India2025-04-08
1021India2025-04-06
1022Spain2025-04-28
1023Australia2025-04-23
1024Australia2025-04-02
1025France2025-04-06
1026Brazil2025-04-22
1027United Kingdom2025-04-20
1028United Kingdom2025-04-08
1029France2025-04-13
1030France2025-04-05
1031India2025-04-08
1032Russia2025-04-25
1033France2025-04-09
1034Argentina2025-04-04
1035India2025-04-17
1036Argentina2025-04-09
1037Argentina2025-04-01
1038France2025-04-22
1039Germany2025-04-23
1040Japan2025-04-04
1041Canada2025-04-15
1042Japan2025-04-20
1043Spain2025-04-12
1044Spain2025-04-02
1045Italy2025-04-21
1046Japan2025-04-08
1047India2025-04-23
1048Germany2025-04-22
1049India2025-04-12

On-Demand Data

NameIdCountryDate
Aditya F Tollner1000India2025-04-22
Munro X Foller1001Japan2025-04-24
Costa S Ferencz1002Germany2025-04-22
Wickens T Nestle1003Argentina2025-04-21
Murillo O Morasca1004Germany2025-04-06
Tony R Campain1005Russia2025-04-12
Costa T Gillian1006Russia2025-04-28
Maisha I Stenseth1007United Kingdom2025-04-29
Jones P Rim1008France2025-04-27
Clifford M Kusko1009Argentina2025-04-22
Aika F Chui1010Japan2025-04-11
James P Rim1011Russia2025-04-23
Ivar K Marrier1012Argentina2025-03-31
Munro T Rulapaugh1013India2025-04-01
Maria O Venere1014India2025-04-17
Aika X Stenseth1015France2025-04-07
Sinclair N Malet1016Russia2025-04-09
Johnson F Stockham1017Canada2025-04-08
Kaitlin F Stockham1018India2025-04-29
Wickens U Butt1019Japan2025-04-27
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha N TollnerGermanyIoni Bowcher NEW
Greenwood I SaylorsCanadaStephen Shaw NEGOTIATION
Maisha L StockhamJapanElwin Sharvill RENEWAL
Kadeem F KuskoGermanyIvan Magalhaes PROPOSAL
Darci W GauchoRussiaOnyama Limba PROPOSAL
Antonio S KuskoBrazilOnyama Limba PROPOSAL
Francesco W WieserRussiaElwin Sharvill NEW
Clifford X ButtUnited KingdomIoni Bowcher NEW
Ricardo M ChuiBrazilOnyama Limba NEGOTIATION
Isabel T MacleadRussiaElwin Sharvill RENEWAL
Salvatore N BowleyCanadaIoni Bowcher NEW
Rodrigues I BriddickIndiaXuxue Feng UNQUALIFIED
Antonio G BowleyJapanAmy Elsner RENEWAL
Misaki O AmigonItalyXuxue Feng PROPOSAL
Maria R StensethRussiaIvan Magalhaes UNQUALIFIED
David Y OldroydCanadaBernardo Dominic NEGOTIATION
David U AlbaresRussiaXuxue Feng NEGOTIATION
Smith I MarrierCanadaAnna Fali QUALIFIED
Mayumi N SaylorsBrazilBernardo Dominic NEW
Julie K IturbideJapanXuxue Feng RENEWAL
Ashley K DarakjyCanadaAmy Elsner UNQUALIFIED
Ricardo J OstroskyIndiaBernardo Dominic NEGOTIATION
Salvatore E GauchoAustraliaBernardo Dominic UNQUALIFIED
Sinclair J OstroskyIndiaIoni Bowcher NEW
Juan D CaldareraRussiaStephen Shaw NEW
Izzy M PoquetteJapanBernardo Dominic NEGOTIATION
Cody R PoquetteFranceStephen Shaw UNQUALIFIED
Leon B IturbideArgentinaIvan Magalhaes NEW
Julie Y VenereArgentinaAmy Elsner UNQUALIFIED
David L DilliardAustraliaAmy Elsner NEW
Johnson A VenereItalyOnyama Limba NEW
James F BowleyJapanAmy Elsner NEW
Deepesh U BriddickBrazilElwin Sharvill UNQUALIFIED
Deepesh I FigeroaCanadaAsiya Javayant RENEWAL
Cody B RoysterSpainAsiya Javayant NEW
Emily F WhobreyFranceBernardo Dominic RENEWAL
Julie A MorascaCanadaStephen Shaw QUALIFIED
Antonio L RulapaughUnited KingdomAmy Elsner NEGOTIATION
Tony K SaylorsUnited KingdomXuxue Feng PROPOSAL
Munro V ShinkoIndiaAsiya Javayant 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>