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
Jefferson H PoquetteBrazilAsiya Javayant UNQUALIFIED
Ivar J WhobreyJapanAsiya Javayant NEGOTIATION
Leon M SchemmerCanadaStephen Shaw PROPOSAL
Ashley G PoquetteFranceAmy Elsner NEGOTIATION
Juan Z MaletAustraliaAmy Elsner QUALIFIED
Kadeem C BologniaCanadaOnyama Limba QUALIFIED
Ricardo R MacleadAustraliaIoni Bowcher UNQUALIFIED
David C ButtArgentinaBernardo Dominic UNQUALIFIED
Ashley V FollerGermanyBernardo Dominic QUALIFIED
Ivar X BriddickGermanyIoni Bowcher NEGOTIATION
Darci M ChuiBrazilAsiya Javayant RENEWAL
David S SchemmerArgentinaElwin Sharvill RENEWAL
Jeanfrancois Q FlosiBrazilOnyama Limba UNQUALIFIED
Emily D MaletSpainAmy Elsner NEW
Aditya G BowleyUnited KingdomXuxue Feng NEW
Julie E SaylorsUnited KingdomXuxue Feng QUALIFIED
Julie H WhobreyArgentinaIvan Magalhaes PROPOSAL
Salvatore J RimJapanBernardo Dominic UNQUALIFIED
Deepesh M BologniaGermanyStephen Shaw RENEWAL
Wickens G OstroskyArgentinaStephen Shaw QUALIFIED
Faith A MarrierFranceIvan Magalhaes UNQUALIFIED
Alejandro A ButtFranceIoni Bowcher RENEWAL
Jeanfrancois H GlickFranceIoni Bowcher NEW
Arvin V WaycottJapanAsiya Javayant NEGOTIATION
Morrow M KolmetzAustraliaIvan Magalhaes NEW
Isabel W IturbideAustraliaXuxue Feng PROPOSAL
Rodrigues E NickaJapanIoni Bowcher NEW
Arvin P RoysterSpainBernardo Dominic NEGOTIATION
Leja Y GauchoBrazilIoni Bowcher UNQUALIFIED
Octavia H MorascaFranceIoni Bowcher PROPOSAL
Salvatore U InouyeSpainElwin Sharvill NEW
Mujtaba I SchemmerFranceAmy Elsner RENEWAL
Antonio E BriddickJapanBernardo Dominic PROPOSAL
Juan L MaletBrazilIvan Magalhaes UNQUALIFIED
Smith F InouyeFranceAsiya Javayant QUALIFIED
Wickens W SchemmerFranceIvan Magalhaes NEW
Claire U CaldareraRussiaOnyama Limba QUALIFIED
Nicolas G VenereArgentinaXuxue Feng NEW
Antonio X PaprockiItalyStephen Shaw RENEWAL
Julie L MorascaCanadaIoni Bowcher UNQUALIFIED
Aditya N OstroskyArgentinaOnyama Limba NEGOTIATION
Darci Y MorascaFranceAnna Fali RENEWAL
Leja P SlusarskiCanadaOnyama Limba UNQUALIFIED
Maria Q SaylorsAustraliaAmy Elsner NEW
Ivar T SaylorsFranceXuxue Feng NEGOTIATION
Leja D KolmetzArgentinaAnna Fali QUALIFIED
Aika V ShinkoGermanyIoni Bowcher NEW
Leon I TollnerJapanAmy Elsner QUALIFIED
Greenwood G ButtGermanyIvan Magalhaes UNQUALIFIED
Mujtaba U RoysterIndiaOnyama Limba RENEWAL
Horizontal
NameCountryRepresentativeStatus
Johnson J InouyeIndiaElwin Sharvill RENEWAL
Clifford S OldroydBrazilBernardo Dominic PROPOSAL
Jennifer J KuskoCanadaAnna Fali UNQUALIFIED
Emily Q NickaGermanyBernardo Dominic RENEWAL
Silvio P InouyeItalyIvan Magalhaes NEW
Mayumi M FerenczArgentinaElwin Sharvill RENEWAL
Johnson Z VocelkaCanadaIvan Magalhaes NEGOTIATION
Leja F VocelkaFranceXuxue Feng PROPOSAL
Cody G WieserArgentinaAmy Elsner UNQUALIFIED
Ashley M RutaJapanAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha C PerinSpain2024-05-24King, Christopher A Esq PROPOSAL67Xuxue Feng
1001Clifford J NickaCanada2024-05-23Rangoni Of Florence NEGOTIATION43Amy Elsner
1002Silvio L CampainRussia2024-06-03King, Christopher A Esq UNQUALIFIED31Anna Fali
1003Antonio W MorascaJapan2024-05-25Rangoni Of Florence NEW13Amy Elsner
1004Rodrigues U RimUnited Kingdom2024-05-28Buckley Miller Wright PROPOSAL99Stephen Shaw
1005Julie B MarrierUnited Kingdom2024-06-05Buckley Miller Wright QUALIFIED99Asiya Javayant
1006Aika X IturbideFrance2024-06-02Truhlar And Truhlar Attys RENEWAL94Elwin Sharvill
1007Wickens Z MorascaSpain2024-05-31Benton, John B Jr QUALIFIED38Anna Fali
1008Adams Q BriddickIndia2024-05-20Chemel, James L Cpa PROPOSAL54Onyama Limba
1009Jeanfrancois W FigeroaItaly2024-06-14Feltz Printing Service RENEWAL67Ioni Bowcher
1010Murillo L RulapaughJapan2024-06-03Truhlar And Truhlar Attys RENEWAL49Bernardo Dominic
1011Leja I RimCanada2024-05-17Chapman, Ross E Esq PROPOSAL70Bernardo Dominic
1012Maria L RulapaughFrance2024-06-03Rangoni Of Florence PROPOSAL70Elwin Sharvill
1013Jefferson Y WieserIndia2024-06-13Rangoni Of Florence PROPOSAL61Bernardo Dominic
1014Leon B SaylorsIndia2024-06-12Truhlar And Truhlar Attys NEGOTIATION11Anna Fali
1015Ashley Q GarufiSpain2024-06-14Chanay, Jeffrey A Esq UNQUALIFIED36Stephen Shaw
1016Arvin D BowleyAustralia2024-06-14Morlong Associates QUALIFIED86Stephen Shaw
1017Isabel P SaylorsJapan2024-05-31Buckley Miller Wright NEGOTIATION29Amy Elsner
1018Jones I PerinGermany2024-06-08Truhlar And Truhlar Attys NEW18Ivan Magalhaes
1019Julie L DilliardAustralia2024-05-21Rousseaux, Michael Esq NEW48Bernardo Dominic
1020Leon B FerenczIndia2024-05-22Buckley Miller Wright NEGOTIATION62Ivan Magalhaes
1021Jones K RimBrazil2024-06-01Feiner Bros UNQUALIFIED63Stephen Shaw
1022Adams E PerinRussia2024-06-02Buckley Miller Wright QUALIFIED94Ivan Magalhaes
1023Jefferson O InouyeJapan2024-05-31Feltz Printing Service UNQUALIFIED32Anna Fali
1024Rodrigues N GarufiRussia2024-05-27Feltz Printing Service NEGOTIATION89Stephen Shaw
1025Aditya U FerenczBrazil2024-05-25Dorl, James J Esq QUALIFIED66Xuxue Feng
1026Isabel I FollerIndia2024-06-05Printing Dimensions QUALIFIED20Bernardo Dominic
1027Alejandro R RutaJapan2024-06-14Feltz Printing Service PROPOSAL41Xuxue Feng
1028Aditya S BriddickSpain2024-06-03Truhlar And Truhlar Attys UNQUALIFIED37Onyama Limba
1029Aruna C SlusarskiIndia2024-06-04Benton, John B Jr RENEWAL45Amy Elsner
1030Rodrigues P BologniaAustralia2024-05-18Feiner Bros UNQUALIFIED89Ioni Bowcher
1031Aika E MorascaAustralia2024-06-13Chemel, James L Cpa QUALIFIED17Asiya Javayant
1032Maisha Y PaprockiJapan2024-06-13Dorl, James J Esq UNQUALIFIED3Amy Elsner
1033Francesco G MarrierItaly2024-06-07Morlong Associates UNQUALIFIED54Amy Elsner
1034Julie H SaylorsFrance2024-05-31Buckley Miller Wright NEGOTIATION69Ioni Bowcher
1035Maisha R MaletArgentina2024-05-30Benton, John B Jr UNQUALIFIED83Xuxue Feng
1036Ashley S TollnerArgentina2024-05-24Rangoni Of Florence QUALIFIED95Elwin Sharvill
1037Clifford Y InouyeAustralia2024-05-28Feiner Bros QUALIFIED89Ioni Bowcher
1038Nicolas F AlbaresAustralia2024-06-13Morlong Associates RENEWAL68Elwin Sharvill
1039Faith R KuskoItaly2024-05-26Chapman, Ross E Esq NEW35Amy Elsner
1040Maria Y PoquetteIndia2024-06-13Morlong Associates NEGOTIATION86Ivan Magalhaes
1041Wickens I ButtUnited Kingdom2024-05-19Chapman, Ross E Esq RENEWAL58Onyama Limba
1042Misaki I KolmetzRussia2024-05-20Chapman, Ross E Esq QUALIFIED5Ivan Magalhaes
1043Rodrigues G RulapaughCanada2024-06-07Benton, John B Jr PROPOSAL57Amy Elsner
1044Ivar X WaycottRussia2024-06-14Benton, John B Jr QUALIFIED18Amy Elsner
1045Rodrigues A RimFrance2024-05-28Chemel, James L Cpa RENEWAL80Elwin Sharvill
1046Nicolas B GarufiItaly2024-05-21Rousseaux, Michael Esq PROPOSAL26Bernardo Dominic
1047Aruna I MaletUnited Kingdom2024-05-21Benton, John B Jr PROPOSAL77Ivan Magalhaes
1048Rodrigues L RimBrazil2024-05-22Chemel, James L Cpa RENEWAL85Onyama Limba
1049Isabel J DoeRussia2024-06-11Rousseaux, Michael Esq QUALIFIED9Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Clifford M RutaUnited KingdomBernardo Dominic NEGOTIATION
Julie E TollnerUnited KingdomIoni Bowcher RENEWAL
Clifford R RutaAustraliaAnna Fali NEW
Jeanfrancois N BriddickGermanyAmy Elsner QUALIFIED
Aika C SergiCanadaIvan Magalhaes RENEWAL
Stacey H DarakjyAustraliaElwin Sharvill UNQUALIFIED
Silvio D GarufiGermanyAmy Elsner PROPOSAL
Jefferson K FerenczSpainBernardo Dominic QUALIFIED
Octavia Q RimIndiaElwin Sharvill UNQUALIFIED
Isabel G GillianUnited KingdomElwin Sharvill RENEWAL
Aika L MacleadCanadaAsiya Javayant RENEWAL
Murillo T BowleyJapanStephen Shaw RENEWAL
Octavia U NickaRussiaAmy Elsner RENEWAL
Francesco G FollerIndiaStephen Shaw RENEWAL
Deepesh V DoeFranceAnna Fali QUALIFIED
Leja B GarufiItalyElwin Sharvill RENEWAL
Mayumi B NickaGermanyAsiya Javayant PROPOSAL
Antonio K CampainAustraliaAsiya Javayant UNQUALIFIED
Rodrigues F PoquetteUnited KingdomStephen Shaw PROPOSAL
Francesco R StensethIndiaOnyama Limba NEW
Costa U MaletBrazilAmy Elsner UNQUALIFIED
Misaki B RimUnited KingdomXuxue Feng QUALIFIED
Munro B MacleadAustraliaAmy Elsner RENEWAL
Darci C SergiGermanyBernardo Dominic PROPOSAL
Juan R VocelkaIndiaAmy Elsner RENEWAL
Smith X WaycottIndiaBernardo Dominic PROPOSAL
Jennifer K DilliardAustraliaElwin Sharvill RENEWAL
Antonio Y DilliardUnited KingdomAmy Elsner RENEWAL
Salvatore H KuskoGermanyAnna Fali QUALIFIED
James I MaletAustraliaBernardo Dominic PROPOSAL
Antonio J WhobreyBrazilAmy Elsner PROPOSAL
Juan C PoquetteJapanElwin Sharvill NEW
Silvio T IturbideArgentinaXuxue Feng QUALIFIED
Greenwood A VenereIndiaAmy Elsner QUALIFIED
Claire C KuskoIndiaOnyama Limba QUALIFIED
Salvatore L RutaJapanOnyama Limba NEW
Leon E RulapaughRussiaAmy Elsner QUALIFIED
Tony Z MaletJapanAmy Elsner RENEWAL
Adams F PerinSpainAsiya Javayant UNQUALIFIED
Leon D CaldareraSpainElwin Sharvill UNQUALIFIED
Chavez T BowleyCanadaIoni Bowcher PROPOSAL
Maria H RoysterAustraliaOnyama Limba UNQUALIFIED
Leja C WaycottIndiaAsiya Javayant QUALIFIED
Stacey Z MaletJapanAsiya Javayant QUALIFIED
Alejandro L SchemmerArgentinaAmy Elsner PROPOSAL
James B IturbideSpainStephen Shaw QUALIFIED
Claire G MaletIndiaAsiya Javayant RENEWAL
Silvio Y GlickIndiaIvan Magalhaes NEGOTIATION
Cody M FigeroaSpainStephen Shaw UNQUALIFIED
Antonio F TollnerGermanyXuxue Feng NEW
Frozen Columns
Name
Salvatore B Saylors
Ivar E Wieser
Alejandro F Perin
Arvin W Albares
Stacey U Paprocki
Adams E Ruta
Clifford H Flosi
Kaitlin Y Foller
Cody T Albares
Claire U Garufi
Juan P Caldarera
Smith D Kolmetz
Leon P Vocelka
Antonio C Garufi
Maisha E Chui
Juan U Iturbide
Sinclair T Shinko
Francesco F Briddick
Costa R Bowley
Kaitlin Y Darakjy
Faith X Kolmetz
David Q Sergi
Isabel G Sergi
Sinclair L Figeroa
Kaitlin C Tollner
Aditya S Flosi
Juan J Morasca
Deepesh K Bowley
Ashley D Paprocki
Nicolas A Waycott
Kaitlin Z Ferencz
Ashley I Venere
James Y Shinko
Aditya N Iturbide
Leon W Rulapaugh
Clifford P Malet
Deepesh D Flosi
Chavez C Kolmetz
Emily Y Butt
Silvio P Bolognia
Greenwood Q Kusko
Stacey Y Poquette
Morrow F Amigon
Sinclair S Foller
Morrow B Chui
Cody K Gaucho
Jefferson P Briddick
Smith V Glick
Wickens S Butt
Silvio Y Shinko
IdCountryDate
1000United Kingdom2024-06-01
1001Canada2024-05-24
1002Italy2024-05-18
1003France2024-05-25
1004Canada2024-05-31
1005Brazil2024-06-12
1006Canada2024-06-01
1007India2024-06-01
1008United Kingdom2024-05-18
1009India2024-05-31
1010Italy2024-06-06
1011India2024-06-06
1012Spain2024-05-30
1013Canada2024-06-04
1014Japan2024-05-25
1015Japan2024-05-21
1016Brazil2024-05-24
1017United Kingdom2024-06-05
1018Russia2024-05-22
1019Spain2024-05-21
1020India2024-05-22
1021France2024-06-07
1022India2024-05-17
1023Argentina2024-05-17
1024Spain2024-06-04
1025Canada2024-06-04
1026India2024-05-28
1027Germany2024-05-25
1028Russia2024-05-23
1029Argentina2024-05-26
1030India2024-06-11
1031India2024-06-14
1032Russia2024-05-17
1033Japan2024-05-22
1034Russia2024-05-19
1035Argentina2024-06-01
1036Canada2024-06-01
1037Canada2024-06-01
1038Italy2024-05-20
1039India2024-05-31
1040Brazil2024-06-11
1041Canada2024-05-27
1042Spain2024-06-06
1043United Kingdom2024-05-26
1044Australia2024-05-25
1045Argentina2024-06-03
1046India2024-05-17
1047United Kingdom2024-05-30
1048Japan2024-05-29
1049Argentina2024-05-26

On-Demand Data

NameIdCountryDate
Izzy A Albares1000Spain2024-05-29
Aruna W Caldarera1001Australia2024-05-26
Chavez E Butt1002Germany2024-05-29
Adams A Stockham1003India2024-05-31
Salvatore U Kusko1004Spain2024-06-10
Jones Z Ruta1005Canada2024-05-16
Cody J Wieser1006Australia2024-05-26
Cody V Slusarski1007India2024-05-31
Sinclair B Campain1008France2024-06-03
Misaki R Paprocki1009France2024-05-27
Jefferson O Figeroa1010United Kingdom2024-06-07
Darci S Whobrey1011France2024-06-02
Maria E Campain1012India2024-05-18
Julie Y Sergi1013India2024-06-06
Octavia W Stenseth1014Australia2024-05-29
Kaitlin V Foller1015France2024-05-27
Jones I Saylors1016United Kingdom2024-05-23
Chavez Y Albares1017Argentina2024-06-13
Murillo X Royster1018Brazil2024-06-07
Kadeem V Malet1019Germany2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Y SchemmerBrazilIoni Bowcher UNQUALIFIED
Octavia H GillianCanadaAmy Elsner RENEWAL
Salvatore A RimRussiaStephen Shaw NEW
Maisha E PerinUnited KingdomIoni Bowcher PROPOSAL
Claire P DarakjyIndiaIoni Bowcher QUALIFIED
Ricardo X CampainJapanElwin Sharvill UNQUALIFIED
Costa E PoquetteFranceAnna Fali RENEWAL
Claire H SlusarskiAustraliaBernardo Dominic QUALIFIED
Kadeem M SchemmerBrazilElwin Sharvill QUALIFIED
Juan J FlosiBrazilIoni Bowcher NEW
Sinclair I BowleyArgentinaStephen Shaw NEW
Leon B BriddickSpainAmy Elsner QUALIFIED
Murillo Z GarufiCanadaOnyama Limba UNQUALIFIED
Misaki Q CaldareraSpainAmy Elsner NEW
Francesco S DoeCanadaXuxue Feng NEGOTIATION
Sinclair T DarakjyJapanAsiya Javayant NEW
Morrow E AmigonCanadaAsiya Javayant RENEWAL
Jeanfrancois K SlusarskiSpainAnna Fali NEW
Murillo U OldroydFranceOnyama Limba RENEWAL
Antonio B ChuiBrazilAmy Elsner PROPOSAL
Costa M IturbideFranceAmy Elsner RENEWAL
Kaitlin O GarufiFranceAsiya Javayant NEW
Aditya L AlbaresBrazilAmy Elsner PROPOSAL
Ricardo C CampainUnited KingdomAmy Elsner NEGOTIATION
Jennifer L TollnerGermanyElwin Sharvill RENEWAL
Deepesh U MaletUnited KingdomIvan Magalhaes NEW
Julie S FerenczRussiaAmy Elsner NEW
Maisha A StensethIndiaElwin Sharvill NEGOTIATION
Mujtaba K GillianUnited KingdomAmy Elsner PROPOSAL
Aika L FigeroaCanadaXuxue Feng QUALIFIED
Rodrigues P MacleadItalyBernardo Dominic RENEWAL
Murillo Z WaycottGermanyStephen Shaw PROPOSAL
Jennifer M OstroskyItalyAmy Elsner QUALIFIED
Johnson I CaudyJapanStephen Shaw RENEWAL
Ivar E FerenczIndiaXuxue Feng RENEWAL
Aruna X IturbideUnited KingdomIoni Bowcher QUALIFIED
Stacey R FerenczItalyIvan Magalhaes QUALIFIED
Jennifer C WhobreyJapanIoni Bowcher NEW
Johnson R OstroskySpainStephen Shaw UNQUALIFIED
Morrow M MaletGermanyXuxue Feng NEW

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