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
Jeanfrancois A GlickAustraliaAsiya Javayant NEW
Silvio N InouyeSpainIoni Bowcher QUALIFIED
Jones E RoysterCanadaElwin Sharvill NEGOTIATION
Mayumi K VenereArgentinaAnna Fali RENEWAL
Emily X CampainUnited KingdomStephen Shaw PROPOSAL
Rodrigues U OstroskyBrazilOnyama Limba NEGOTIATION
Smith J GillianCanadaElwin Sharvill PROPOSAL
Silvio O VenereItalyAnna Fali PROPOSAL
Deepesh W VocelkaFranceStephen Shaw UNQUALIFIED
James W PoquetteSpainXuxue Feng QUALIFIED
Salvatore M BowleyAustraliaXuxue Feng NEGOTIATION
Aditya Q AmigonJapanAsiya Javayant UNQUALIFIED
Ricardo K CaldareraGermanyOnyama Limba PROPOSAL
Rodrigues Z PaprockiSpainOnyama Limba QUALIFIED
Mujtaba Y IturbideCanadaAnna Fali NEGOTIATION
Alejandro R VocelkaFranceOnyama Limba UNQUALIFIED
Claire W RulapaughSpainXuxue Feng NEGOTIATION
Arvin Z GauchoJapanAmy Elsner NEW
Nicolas B SergiRussiaStephen Shaw NEW
Nicolas W AlbaresRussiaIoni Bowcher UNQUALIFIED
Jennifer R BowleyItalyAnna Fali UNQUALIFIED
Isabel X MacleadArgentinaAnna Fali NEW
Clifford M VocelkaSpainElwin Sharvill UNQUALIFIED
Chavez O VenereRussiaAsiya Javayant PROPOSAL
Tony R RimIndiaOnyama Limba NEGOTIATION
Murillo Z DoeAustraliaIvan Magalhaes QUALIFIED
Leja Z StensethIndiaAsiya Javayant QUALIFIED
Francesco N StensethAustraliaBernardo Dominic RENEWAL
Jeanfrancois J KuskoCanadaElwin Sharvill UNQUALIFIED
Darci J GauchoItalyIoni Bowcher NEW
Izzy X RimSpainElwin Sharvill RENEWAL
Maria V PoquetteBrazilStephen Shaw PROPOSAL
Francesco M RutaArgentinaElwin Sharvill NEW
Mujtaba E OldroydItalyIvan Magalhaes NEW
Salvatore R OldroydCanadaAsiya Javayant NEW
Tony J CampainCanadaOnyama Limba NEW
Tony J StockhamSpainElwin Sharvill PROPOSAL
Smith V AmigonArgentinaAmy Elsner RENEWAL
Wickens K RimGermanyStephen Shaw QUALIFIED
Misaki Z NestleGermanyIoni Bowcher NEGOTIATION
Faith H MaletCanadaAsiya Javayant PROPOSAL
Stacey U BowleySpainIvan Magalhaes PROPOSAL
Octavia B RoysterItalyIoni Bowcher NEW
Sinclair K FerenczCanadaElwin Sharvill PROPOSAL
Aruna K DoeJapanIvan Magalhaes NEW
Munro E RutaIndiaAsiya Javayant QUALIFIED
Johnson H KolmetzIndiaAnna Fali NEGOTIATION
Izzy Q DarakjyBrazilIvan Magalhaes NEW
Ricardo A SaylorsRussiaAmy Elsner QUALIFIED
Jefferson C BowleyGermanyXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Maisha B StockhamSpainBernardo Dominic UNQUALIFIED
Rodrigues U MacleadJapanElwin Sharvill UNQUALIFIED
Julie S DoeGermanyStephen Shaw QUALIFIED
Costa J NickaIndiaIoni Bowcher UNQUALIFIED
Greenwood Y MaletGermanyOnyama Limba NEGOTIATION
Smith L BologniaItalyAnna Fali NEGOTIATION
Isabel A AmigonSpainIoni Bowcher UNQUALIFIED
Leon A MorascaFranceAnna Fali RENEWAL
Leja J FerenczIndiaXuxue Feng NEGOTIATION
Antonio B DoeRussiaBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley P RutaBrazil2024-06-07Buckley Miller Wright QUALIFIED92Asiya Javayant
1001David M GauchoFrance2024-06-10Chemel, James L Cpa PROPOSAL88Elwin Sharvill
1002Faith Y SchemmerUnited Kingdom2024-06-16Rangoni Of Florence UNQUALIFIED35Anna Fali
1003Wickens M BriddickFrance2024-06-06Chapman, Ross E Esq UNQUALIFIED40Bernardo Dominic
1004Jones Z BologniaGermany2024-06-21Benton, John B Jr UNQUALIFIED89Bernardo Dominic
1005Mujtaba Z PoquetteSpain2024-05-23Rangoni Of Florence QUALIFIED29Asiya Javayant
1006Aika E FigeroaFrance2024-06-03Benton, John B Jr PROPOSAL74Onyama Limba
1007Maisha V CampainItaly2024-06-17Feiner Bros UNQUALIFIED51Xuxue Feng
1008Leon X SergiJapan2024-06-06Feltz Printing Service NEGOTIATION24Ivan Magalhaes
1009Kaitlin D MaletUnited Kingdom2024-06-09Chapman, Ross E Esq NEGOTIATION12Onyama Limba
1010Jeanfrancois K BowleyCanada2024-05-24Rangoni Of Florence QUALIFIED65Stephen Shaw
1011James H PaprockiJapan2024-06-09Benton, John B Jr NEW49Anna Fali
1012Octavia J FlosiFrance2024-06-08Benton, John B Jr UNQUALIFIED67Stephen Shaw
1013Claire U RutaFrance2024-06-18Morlong Associates PROPOSAL82Asiya Javayant
1014Emily C IturbideArgentina2024-06-12Chapman, Ross E Esq NEGOTIATION38Ivan Magalhaes
1015Maisha T ShinkoGermany2024-06-11Buckley Miller Wright QUALIFIED17Anna Fali
1016Jennifer T ChuiAustralia2024-06-14Buckley Miller Wright QUALIFIED41Stephen Shaw
1017Isabel L MacleadAustralia2024-06-06Chanay, Jeffrey A Esq PROPOSAL21Ioni Bowcher
1018Clifford V CaldareraUnited Kingdom2024-06-05Chapman, Ross E Esq NEGOTIATION23Xuxue Feng
1019Chavez C CaldareraSpain2024-06-15Morlong Associates QUALIFIED67Ioni Bowcher
1020Emily S CaldareraRussia2024-06-01Dorl, James J Esq NEW3Bernardo Dominic
1021Izzy V KolmetzFrance2024-05-29Benton, John B Jr QUALIFIED36Bernardo Dominic
1022Johnson A BologniaJapan2024-05-29King, Christopher A Esq RENEWAL43Asiya Javayant
1023Jefferson M RulapaughIndia2024-06-17Benton, John B Jr UNQUALIFIED65Onyama Limba
1024Jefferson K PoquetteCanada2024-06-08Printing Dimensions NEGOTIATION30Asiya Javayant
1025Alejandro P FollerUnited Kingdom2024-06-05Dorl, James J Esq RENEWAL85Ioni Bowcher
1026Tony P OldroydArgentina2024-06-12Commercial Press RENEWAL56Asiya Javayant
1027Cody C RulapaughFrance2024-06-03Chanay, Jeffrey A Esq UNQUALIFIED32Ioni Bowcher
1028David J BologniaFrance2024-06-05King, Christopher A Esq RENEWAL42Anna Fali
1029Jeanfrancois V MorascaCanada2024-05-29Chapman, Ross E Esq NEW85Stephen Shaw
1030Arvin X BologniaBrazil2024-06-14Feiner Bros UNQUALIFIED89Amy Elsner
1031Munro V RutaIndia2024-06-20King, Christopher A Esq NEGOTIATION32Anna Fali
1032Chavez Q DoeIndia2024-06-04Printing Dimensions QUALIFIED49Asiya Javayant
1033Mayumi Q TollnerSpain2024-06-07Truhlar And Truhlar Attys PROPOSAL33Stephen Shaw
1034Jones E MacleadAustralia2024-06-18Feltz Printing Service RENEWAL70Elwin Sharvill
1035Antonio O DarakjyUnited Kingdom2024-06-08Morlong Associates RENEWAL62Xuxue Feng
1036Aditya G SchemmerGermany2024-06-15Feltz Printing Service QUALIFIED93Bernardo Dominic
1037Smith W DilliardCanada2024-06-17Truhlar And Truhlar Attys UNQUALIFIED99Ivan Magalhaes
1038Greenwood I BowleyGermany2024-06-17Commercial Press QUALIFIED41Ioni Bowcher
1039Leon L FollerArgentina2024-06-18Buckley Miller Wright NEW91Xuxue Feng
1040Mujtaba N FlosiGermany2024-06-08King, Christopher A Esq PROPOSAL33Xuxue Feng
1041Salvatore Y PerinUnited Kingdom2024-06-10Buckley Miller Wright QUALIFIED72Ioni Bowcher
1042Cody M SlusarskiJapan2024-06-02Morlong Associates NEGOTIATION85Bernardo Dominic
1043Murillo M FigeroaArgentina2024-05-25Chanay, Jeffrey A Esq PROPOSAL9Stephen Shaw
1044Stacey U CampainUnited Kingdom2024-06-11Buckley Miller Wright QUALIFIED1Asiya Javayant
1045Kaitlin R PoquetteItaly2024-06-03Benton, John B Jr RENEWAL28Bernardo Dominic
1046David J AmigonUnited Kingdom2024-06-09Dorl, James J Esq NEGOTIATION97Stephen Shaw
1047Emily Y KuskoRussia2024-06-15Rousseaux, Michael Esq RENEWAL76Ioni Bowcher
1048Stacey P IturbideItaly2024-06-02Buckley Miller Wright NEGOTIATION15Onyama Limba
1049Darci C FollerIndia2024-05-30Truhlar And Truhlar Attys PROPOSAL71Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues N RulapaughUnited KingdomOnyama Limba RENEWAL
Ivar M AlbaresJapanAnna Fali NEW
Johnson T VocelkaCanadaAsiya Javayant NEW
Julie W StockhamBrazilXuxue Feng RENEWAL
Aruna W FollerSpainIoni Bowcher RENEWAL
Leon F WieserRussiaIoni Bowcher RENEWAL
Kaitlin D FerenczCanadaIvan Magalhaes QUALIFIED
Clifford A SchemmerSpainBernardo Dominic QUALIFIED
Arvin P MaletJapanIoni Bowcher UNQUALIFIED
Morrow G MaletJapanElwin Sharvill PROPOSAL
Octavia Q MaletRussiaAsiya Javayant UNQUALIFIED
Alejandro Y MaletRussiaIvan Magalhaes QUALIFIED
Deepesh D OstroskyItalyElwin Sharvill PROPOSAL
Misaki O FigeroaGermanyAmy Elsner NEW
Jones I SaylorsRussiaAsiya Javayant RENEWAL
Ivar F GauchoItalyElwin Sharvill RENEWAL
Greenwood M GillianIndiaAnna Fali RENEWAL
Smith I GlickCanadaIvan Magalhaes PROPOSAL
James N NestleRussiaXuxue Feng NEW
Mujtaba X AlbaresSpainIoni Bowcher PROPOSAL
Aditya G MaletUnited KingdomIoni Bowcher NEGOTIATION
Jennifer J ChuiIndiaXuxue Feng UNQUALIFIED
Alejandro L IturbideJapanOnyama Limba QUALIFIED
Clifford E TollnerGermanyElwin Sharvill RENEWAL
Isabel T RulapaughBrazilElwin Sharvill NEGOTIATION
Wickens P FigeroaFranceStephen Shaw PROPOSAL
James K GlickArgentinaXuxue Feng RENEWAL
Ricardo D CampainFranceStephen Shaw NEW
Emily B StensethAustraliaStephen Shaw PROPOSAL
Silvio H ShinkoBrazilStephen Shaw NEW
Wickens S SlusarskiIndiaBernardo Dominic QUALIFIED
Faith R IturbideSpainStephen Shaw NEW
Faith R MarrierSpainElwin Sharvill QUALIFIED
Greenwood R WhobreyArgentinaElwin Sharvill UNQUALIFIED
Ashley N BologniaGermanyAsiya Javayant UNQUALIFIED
Octavia L MaletItalyAsiya Javayant UNQUALIFIED
Isabel Q ShinkoJapanAmy Elsner NEW
Munro T FigeroaSpainIoni Bowcher RENEWAL
Isabel E SchemmerSpainOnyama Limba QUALIFIED
Costa Z FigeroaFranceAmy Elsner QUALIFIED
Aruna W MaletCanadaBernardo Dominic NEW
Darci J GarufiIndiaXuxue Feng RENEWAL
Jefferson P WieserBrazilIvan Magalhaes RENEWAL
Julie B SlusarskiGermanyOnyama Limba UNQUALIFIED
Jefferson H GauchoAustraliaIoni Bowcher RENEWAL
Nicolas N VenereJapanAnna Fali PROPOSAL
Munro L DarakjyArgentinaIoni Bowcher RENEWAL
Leja B GlickAustraliaBernardo Dominic NEGOTIATION
Rodrigues G GauchoRussiaAnna Fali RENEWAL
Maisha T FlosiCanadaXuxue Feng RENEWAL
Frozen Columns
Name
Maria T Albares
Murillo G Kolmetz
Silvio A Tollner
Cody D Poquette
Jennifer E Bolognia
Arvin S Malet
Emily A Briddick
Murillo E Nestle
Juan T Rim
Greenwood F Waycott
Cody Z Iturbide
Deepesh P Venere
Kadeem U Kusko
Isabel Q Shinko
Alejandro G Iturbide
Nicolas E Malet
Adams I Garufi
Jones A Ruta
Faith I Kusko
Darci C Malet
Aruna D Shinko
Darci S Darakjy
Ivar R Bowley
Stacey T Caldarera
Izzy Q Maclead
Sinclair S Garufi
Claire M Glick
Morrow A Tollner
Tony X Poquette
Chavez N Paprocki
Clifford M Figeroa
Isabel M Chui
Rodrigues L Caldarera
Stacey U Tollner
Ivar Y Sergi
Juan C Paprocki
Smith Y Waycott
Adams K Inouye
Costa U Figeroa
Smith D Doe
Deepesh S Doe
Ivar I Oldroyd
Silvio A Bowley
Clifford N Figeroa
Aruna Z Doe
Emily V Wieser
Chavez K Dilliard
Arvin F Bolognia
Jones N Oldroyd
Jennifer F Stenseth
IdCountryDate
1000Argentina2024-06-11
1001India2024-05-24
1002United Kingdom2024-06-09
1003India2024-06-16
1004Germany2024-06-06
1005Argentina2024-05-31
1006Russia2024-06-18
1007Argentina2024-06-10
1008Germany2024-06-12
1009Canada2024-06-01
1010France2024-06-04
1011Spain2024-05-25
1012Germany2024-05-28
1013Canada2024-06-15
1014United Kingdom2024-06-16
1015Germany2024-05-23
1016Australia2024-05-23
1017Brazil2024-06-02
1018India2024-06-20
1019India2024-06-06
1020India2024-06-13
1021Canada2024-06-11
1022Japan2024-05-27
1023Canada2024-06-07
1024United Kingdom2024-06-06
1025Spain2024-05-23
1026Australia2024-06-21
1027India2024-06-02
1028Russia2024-06-03
1029Canada2024-05-27
1030Russia2024-06-10
1031France2024-06-13
1032France2024-05-26
1033India2024-06-14
1034Spain2024-06-01
1035France2024-06-18
1036Japan2024-06-21
1037Canada2024-06-04
1038France2024-06-17
1039Spain2024-06-02
1040Russia2024-06-08
1041Germany2024-05-23
1042Brazil2024-05-28
1043Russia2024-05-24
1044France2024-06-20
1045Spain2024-06-12
1046Australia2024-06-13
1047Italy2024-06-04
1048Australia2024-06-21
1049Canada2024-06-15

On-Demand Data

NameIdCountryDate
Sinclair Y Gillian1000Russia2024-06-02
Aruna N Wieser1001France2024-05-26
Clifford K Stenseth1002India2024-06-21
Kadeem Q Albares1003Canada2024-06-20
Wickens W Marrier1004Canada2024-06-05
Aika G Rim1005Japan2024-06-03
Darci E Waycott1006Italy2024-06-01
Jeanfrancois M Gillian1007Argentina2024-05-28
Murillo Y Caudy1008Italy2024-06-16
Jeanfrancois O Saylors1009India2024-06-05
Deepesh Y Briddick1010Canada2024-06-16
Nicolas L Glick1011Russia2024-06-13
Jefferson A Gillian1012Russia2024-05-31
Aditya V Stockham1013Japan2024-06-11
Faith G Doe1014Australia2024-06-01
Izzy X Nicka1015Brazil2024-05-30
Jeanfrancois V Figeroa1016Brazil2024-06-05
Faith F Caudy1017Germany2024-06-17
Juan F Figeroa1018Spain2024-06-06
Rodrigues D Foller1019Italy2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja E WhobreyRussiaAnna Fali NEGOTIATION
Maria N OstroskyFranceStephen Shaw QUALIFIED
Aruna P FerenczUnited KingdomBernardo Dominic NEGOTIATION
James B KolmetzAustraliaStephen Shaw PROPOSAL
Aruna E BologniaAustraliaIoni Bowcher NEGOTIATION
James A WaycottFranceAmy Elsner NEW
Aruna R VenereFranceStephen Shaw NEGOTIATION
Izzy H ButtIndiaAsiya Javayant NEGOTIATION
Silvio B SaylorsBrazilIvan Magalhaes UNQUALIFIED
David E MaletUnited KingdomIvan Magalhaes UNQUALIFIED
Murillo I MarrierCanadaElwin Sharvill UNQUALIFIED
James L RimRussiaBernardo Dominic NEGOTIATION
Chavez Y WhobreyCanadaAmy Elsner NEGOTIATION
Murillo M BowleyUnited KingdomElwin Sharvill PROPOSAL
Alejandro U MacleadIndiaElwin Sharvill PROPOSAL
Francesco K GlickRussiaAsiya Javayant PROPOSAL
Kaitlin L WieserArgentinaIvan Magalhaes NEW
Alejandro Y OldroydAustraliaOnyama Limba QUALIFIED
Jones J FlosiFranceBernardo Dominic QUALIFIED
Jennifer Y VenereAustraliaOnyama Limba PROPOSAL
Jones V GauchoIndiaIoni Bowcher RENEWAL
Deepesh R InouyeSpainIoni Bowcher NEGOTIATION
Nicolas H FigeroaFranceStephen Shaw NEW
Leon M WieserFranceElwin Sharvill UNQUALIFIED
Arvin Q RulapaughGermanyAsiya Javayant QUALIFIED
Rodrigues M DilliardItalyAnna Fali NEW
Julie H RutaArgentinaOnyama Limba RENEWAL
David V PaprockiArgentinaElwin Sharvill NEGOTIATION
Salvatore D GauchoGermanyAsiya Javayant QUALIFIED
Kaitlin S VenereBrazilIvan Magalhaes QUALIFIED
Aruna E RutaFranceBernardo Dominic RENEWAL
Leja J DarakjyRussiaIoni Bowcher NEW
Aika Y VocelkaUnited KingdomOnyama Limba NEW
Nicolas N GillianBrazilStephen Shaw QUALIFIED
Murillo Y BriddickRussiaXuxue Feng PROPOSAL
Isabel A CaldareraSpainXuxue Feng UNQUALIFIED
Octavia R StockhamBrazilAmy Elsner QUALIFIED
Aruna V SchemmerCanadaIvan Magalhaes UNQUALIFIED
Aruna Q PerinRussiaAsiya Javayant RENEWAL
Cody R FigeroaIndiaIoni Bowcher 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>