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
Mujtaba U StensethBrazilIvan Magalhaes NEGOTIATION
Aika P DilliardGermanyStephen Shaw UNQUALIFIED
Cody V PaprockiIndiaAnna Fali NEGOTIATION
Mayumi I AlbaresRussiaAnna Fali UNQUALIFIED
Misaki X ShinkoBrazilIoni Bowcher RENEWAL
Misaki H AlbaresItalyElwin Sharvill NEW
Kadeem K DarakjySpainStephen Shaw NEW
Salvatore O VenereCanadaAsiya Javayant RENEWAL
Smith R MorascaFranceBernardo Dominic QUALIFIED
Cody X StensethJapanXuxue Feng NEW
Smith D DoeCanadaOnyama Limba RENEWAL
Cody X RulapaughArgentinaIvan Magalhaes UNQUALIFIED
Misaki V TollnerArgentinaIoni Bowcher NEGOTIATION
Silvio E TollnerCanadaAmy Elsner NEGOTIATION
Mujtaba T OldroydAustraliaAnna Fali PROPOSAL
Tony I GlickSpainAnna Fali QUALIFIED
Maisha M KolmetzCanadaAmy Elsner PROPOSAL
Smith R GlickAustraliaAmy Elsner RENEWAL
Octavia A ChuiAustraliaXuxue Feng RENEWAL
Emily T MaletBrazilIvan Magalhaes RENEWAL
Adams B RulapaughIndiaBernardo Dominic PROPOSAL
Maisha Q RimItalyElwin Sharvill RENEWAL
David X SchemmerSpainBernardo Dominic UNQUALIFIED
Salvatore T FollerArgentinaIvan Magalhaes NEW
Rodrigues N GarufiItalyXuxue Feng RENEWAL
Alejandro H BologniaBrazilIvan Magalhaes QUALIFIED
Ivar E StockhamFranceOnyama Limba QUALIFIED
Chavez I WaycottUnited KingdomBernardo Dominic QUALIFIED
Jennifer Y WhobreyFranceStephen Shaw PROPOSAL
Deepesh W FollerGermanyStephen Shaw UNQUALIFIED
Murillo V InouyeArgentinaBernardo Dominic UNQUALIFIED
Nicolas E KolmetzGermanyStephen Shaw QUALIFIED
Murillo C PaprockiFranceIoni Bowcher NEGOTIATION
Leja H DilliardFranceStephen Shaw PROPOSAL
Tony O SergiAustraliaElwin Sharvill RENEWAL
Maisha Z ShinkoCanadaBernardo Dominic PROPOSAL
Misaki T MarrierUnited KingdomXuxue Feng NEGOTIATION
Nicolas G GillianGermanyOnyama Limba PROPOSAL
Jones S IturbideBrazilOnyama Limba PROPOSAL
Jennifer I RutaArgentinaXuxue Feng UNQUALIFIED
Arvin N GauchoCanadaOnyama Limba QUALIFIED
Jefferson I CaudyArgentinaAmy Elsner UNQUALIFIED
Costa D NickaItalyOnyama Limba PROPOSAL
Aruna K GillianCanadaXuxue Feng QUALIFIED
Ricardo O GarufiAustraliaBernardo Dominic UNQUALIFIED
Ricardo T BriddickSpainStephen Shaw UNQUALIFIED
Faith I ButtGermanyIoni Bowcher RENEWAL
Mujtaba K BologniaFranceXuxue Feng UNQUALIFIED
Isabel D SlusarskiUnited KingdomStephen Shaw QUALIFIED
Julie I RoysterAustraliaStephen Shaw NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Tony U MacleadFranceAnna Fali PROPOSAL
Costa J BologniaUnited KingdomElwin Sharvill QUALIFIED
Clifford J CampainArgentinaBernardo Dominic QUALIFIED
Johnson Q FigeroaIndiaElwin Sharvill QUALIFIED
Nicolas Y PoquetteAustraliaOnyama Limba RENEWAL
Salvatore S MaletAustraliaOnyama Limba RENEWAL
Izzy W BologniaArgentinaIoni Bowcher UNQUALIFIED
Jennifer U AmigonGermanyIvan Magalhaes RENEWAL
Francesco N CaldareraSpainXuxue Feng UNQUALIFIED
Munro V RimItalyAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro X GillianBrazil2024-06-14Rangoni Of Florence RENEWAL38Xuxue Feng
1001Ashley U ChuiGermany2024-06-01Dorl, James J Esq UNQUALIFIED9Ioni Bowcher
1002Ivar A GlickBrazil2024-05-26Feltz Printing Service NEGOTIATION77Anna Fali
1003Aruna F ButtFrance2024-06-11Buckley Miller Wright PROPOSAL63Bernardo Dominic
1004Murillo I GarufiRussia2024-05-23Chapman, Ross E Esq QUALIFIED33Asiya Javayant
1005Smith K SlusarskiJapan2024-06-05Feltz Printing Service QUALIFIED83Xuxue Feng
1006Maria P BriddickItaly2024-06-09Feiner Bros UNQUALIFIED58Ioni Bowcher
1007Kaitlin C BologniaFrance2024-06-13King, Christopher A Esq NEGOTIATION8Asiya Javayant
1008Smith Q CaudyFrance2024-05-21Feiner Bros UNQUALIFIED94Anna Fali
1009Ricardo Y SergiUnited Kingdom2024-06-03Chemel, James L Cpa RENEWAL45Xuxue Feng
1010Ricardo H SergiBrazil2024-05-20Printing Dimensions NEGOTIATION71Amy Elsner
1011Stacey H OldroydIndia2024-06-11King, Christopher A Esq UNQUALIFIED81Onyama Limba
1012Maria E ChuiCanada2024-06-10King, Christopher A Esq RENEWAL14Ioni Bowcher
1013Mayumi D RulapaughArgentina2024-06-07Feiner Bros RENEWAL27Xuxue Feng
1014Alejandro K RimIndia2024-05-19Chemel, James L Cpa NEGOTIATION15Ivan Magalhaes
1015Faith M WaycottUnited Kingdom2024-06-07Chanay, Jeffrey A Esq RENEWAL16Xuxue Feng
1016Juan X MorascaUnited Kingdom2024-05-16Feiner Bros NEGOTIATION64Xuxue Feng
1017Octavia O GarufiJapan2024-05-29Chapman, Ross E Esq NEGOTIATION16Amy Elsner
1018Stacey N AlbaresGermany2024-06-02King, Christopher A Esq RENEWAL21Ioni Bowcher
1019Misaki V ButtSpain2024-05-20King, Christopher A Esq QUALIFIED45Anna Fali
1020Rodrigues K DarakjyFrance2024-06-08Truhlar And Truhlar Attys PROPOSAL80Xuxue Feng
1021Munro F PoquetteItaly2024-05-24Truhlar And Truhlar Attys NEGOTIATION13Asiya Javayant
1022Maisha S VenereArgentina2024-05-21Benton, John B Jr QUALIFIED28Amy Elsner
1023Deepesh S CaudyCanada2024-06-05Benton, John B Jr NEGOTIATION41Xuxue Feng
1024Wickens E GarufiBrazil2024-06-12Rangoni Of Florence PROPOSAL51Stephen Shaw
1025Alejandro D FollerCanada2024-05-19Truhlar And Truhlar Attys RENEWAL28Elwin Sharvill
1026Faith T SergiJapan2024-06-08Rousseaux, Michael Esq NEGOTIATION85Amy Elsner
1027Julie I SchemmerArgentina2024-05-27Dorl, James J Esq PROPOSAL72Stephen Shaw
1028Clifford E SergiArgentina2024-06-11Buckley Miller Wright RENEWAL89Anna Fali
1029Kaitlin V WaycottRussia2024-05-30Truhlar And Truhlar Attys RENEWAL50Ioni Bowcher
1030Juan Y ButtIndia2024-06-07Benton, John B Jr PROPOSAL92Xuxue Feng
1031Stacey A SchemmerJapan2024-06-13Chanay, Jeffrey A Esq NEGOTIATION98Anna Fali
1032Maisha L SlusarskiFrance2024-06-07Dorl, James J Esq PROPOSAL63Anna Fali
1033Francesco M ShinkoItaly2024-05-30Dorl, James J Esq RENEWAL4Bernardo Dominic
1034Mayumi N KolmetzUnited Kingdom2024-05-24Feltz Printing Service QUALIFIED87Bernardo Dominic
1035Misaki K MaletArgentina2024-05-28Truhlar And Truhlar Attys UNQUALIFIED40Elwin Sharvill
1036Aditya D ShinkoCanada2024-05-28Rousseaux, Michael Esq RENEWAL82Xuxue Feng
1037Jennifer N IturbideFrance2024-05-28King, Christopher A Esq NEW45Stephen Shaw
1038Maisha G StensethFrance2024-06-08Rousseaux, Michael Esq NEW92Ioni Bowcher
1039Alejandro O RoysterFrance2024-06-05Commercial Press NEW76Elwin Sharvill
1040Smith D DarakjyGermany2024-05-17Rangoni Of Florence QUALIFIED72Xuxue Feng
1041Octavia W ButtItaly2024-05-31Printing Dimensions UNQUALIFIED3Asiya Javayant
1042Sinclair E GillianIndia2024-05-19Morlong Associates QUALIFIED90Amy Elsner
1043Aditya L CaldareraSpain2024-06-06Rangoni Of Florence RENEWAL89Anna Fali
1044Murillo S NickaAustralia2024-05-17Buckley Miller Wright RENEWAL45Stephen Shaw
1045Kadeem F CaldareraSpain2024-05-25Morlong Associates UNQUALIFIED20Xuxue Feng
1046Ricardo Z WhobreyArgentina2024-05-18Chemel, James L Cpa RENEWAL19Bernardo Dominic
1047Jones B MaletRussia2024-05-26Feiner Bros UNQUALIFIED68Elwin Sharvill
1048Deepesh I WhobreyCanada2024-05-24Printing Dimensions UNQUALIFIED21Amy Elsner
1049Wickens B PerinArgentina2024-06-05Truhlar And Truhlar Attys NEW43Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Aruna L CaldareraItalyIvan Magalhaes NEGOTIATION
Emily H MaletJapanBernardo Dominic UNQUALIFIED
Stacey K GillianFranceBernardo Dominic NEGOTIATION
Arvin V StensethFranceIoni Bowcher RENEWAL
Kaitlin G GillianIndiaAnna Fali NEW
Rodrigues C WieserItalyBernardo Dominic QUALIFIED
Nicolas M AmigonAustraliaElwin Sharvill NEW
Leja D MaletFranceIoni Bowcher RENEWAL
Mayumi G SergiFranceBernardo Dominic RENEWAL
Antonio Q MacleadIndiaAmy Elsner NEGOTIATION
Juan Z SlusarskiCanadaAsiya Javayant QUALIFIED
Maria X MarrierGermanyXuxue Feng UNQUALIFIED
Johnson V RutaJapanStephen Shaw PROPOSAL
Morrow Y BriddickBrazilAnna Fali NEW
Jennifer F KuskoUnited KingdomXuxue Feng PROPOSAL
Alejandro F NestleItalyBernardo Dominic RENEWAL
Maisha N MacleadIndiaXuxue Feng NEGOTIATION
Salvatore O MaletGermanyAnna Fali UNQUALIFIED
Tony V BologniaBrazilStephen Shaw RENEWAL
Sinclair D PoquetteSpainXuxue Feng RENEWAL
Julie P BriddickGermanyIvan Magalhaes NEGOTIATION
Deepesh U RutaSpainIoni Bowcher NEW
Antonio O PerinRussiaStephen Shaw PROPOSAL
Alejandro I PerinFranceAnna Fali QUALIFIED
Ricardo G PaprockiGermanyIoni Bowcher NEGOTIATION
Jennifer Q ShinkoGermanyXuxue Feng RENEWAL
Jefferson R WaycottJapanElwin Sharvill NEGOTIATION
Mayumi K BriddickArgentinaIvan Magalhaes NEGOTIATION
Jeanfrancois D MorascaCanadaElwin Sharvill QUALIFIED
Murillo O GlickJapanAsiya Javayant PROPOSAL
Leon U BowleyUnited KingdomAsiya Javayant NEW
Kadeem N GillianJapanIoni Bowcher QUALIFIED
Octavia T VenereIndiaAsiya Javayant QUALIFIED
Izzy G GauchoSpainStephen Shaw RENEWAL
Rodrigues K MacleadSpainIvan Magalhaes QUALIFIED
Faith Z StensethArgentinaAmy Elsner PROPOSAL
Deepesh P CaldareraIndiaAmy Elsner NEGOTIATION
Juan I FigeroaFranceOnyama Limba UNQUALIFIED
Antonio C OstroskyAustraliaAmy Elsner UNQUALIFIED
Maisha Z NickaRussiaIvan Magalhaes NEGOTIATION
Jones I StensethCanadaXuxue Feng QUALIFIED
Jones W ButtRussiaXuxue Feng NEW
Mujtaba X CaldareraJapanIoni Bowcher UNQUALIFIED
Tony T WhobreyRussiaAnna Fali RENEWAL
Arvin Y TollnerCanadaStephen Shaw UNQUALIFIED
Silvio S GarufiBrazilAnna Fali NEGOTIATION
Salvatore I PaprockiJapanIoni Bowcher UNQUALIFIED
Greenwood I ButtJapanStephen Shaw UNQUALIFIED
Salvatore S KolmetzItalyIvan Magalhaes UNQUALIFIED
Clifford W FigeroaJapanXuxue Feng QUALIFIED
Frozen Columns
Name
Mayumi T Amigon
Ricardo R Amigon
Mujtaba A Maclead
Octavia H Gaucho
Misaki E Wieser
Rodrigues D Royster
Morrow X Vocelka
Murillo J Vocelka
Silvio U Sergi
Mujtaba E Dilliard
Chavez L Waycott
Ivar H Slusarski
Aruna N Ferencz
Sinclair E Shinko
Salvatore Z Amigon
Juan O Paprocki
Francesco H Rim
Izzy C Kusko
Jefferson Z Vocelka
Ricardo L Oldroyd
Faith X Waycott
Faith E Doe
Isabel G Vocelka
James U Paprocki
Antonio Y Albares
Aika U Kolmetz
Leon S Inouye
Ivar K Doe
Emily Z Malet
Darci L Oldroyd
Rodrigues U Venere
Munro P Iturbide
Munro H Oldroyd
Faith G Venere
Ashley U Iturbide
Clifford T Wieser
Adams M Sergi
Aika B Albares
Juan A Saylors
Maisha D Caldarera
Deepesh A Waycott
Clifford J Marrier
Octavia T Oldroyd
Izzy M Oldroyd
Sinclair U Shinko
Cody H Oldroyd
Ivar Q Wieser
Ricardo D Ruta
Nicolas H Rim
Alejandro W Bolognia
IdCountryDate
1000Brazil2024-05-28
1001Germany2024-06-10
1002Brazil2024-06-03
1003Germany2024-05-17
1004Brazil2024-06-01
1005Germany2024-06-03
1006Germany2024-05-16
1007India2024-06-14
1008United Kingdom2024-05-30
1009Germany2024-05-29
1010Russia2024-06-14
1011Brazil2024-06-03
1012Argentina2024-05-22
1013Japan2024-05-27
1014France2024-05-26
1015India2024-06-11
1016Australia2024-06-12
1017Russia2024-05-27
1018Russia2024-06-03
1019Spain2024-05-20
1020Canada2024-06-07
1021India2024-05-29
1022Italy2024-06-06
1023Germany2024-06-11
1024Russia2024-05-25
1025United Kingdom2024-06-14
1026Russia2024-05-25
1027Italy2024-06-05
1028Russia2024-06-12
1029Russia2024-05-18
1030Italy2024-06-13
1031Argentina2024-05-22
1032Russia2024-06-10
1033Australia2024-06-13
1034India2024-05-16
1035Germany2024-05-27
1036Japan2024-06-10
1037Germany2024-05-25
1038Spain2024-05-27
1039Brazil2024-06-13
1040Germany2024-06-14
1041Italy2024-06-08
1042France2024-06-13
1043Italy2024-06-06
1044Germany2024-06-02
1045Brazil2024-05-24
1046Japan2024-06-08
1047Canada2024-06-02
1048France2024-06-11
1049Spain2024-05-16

On-Demand Data

NameIdCountryDate
Ashley W Malet1000Spain2024-06-02
Cody Z Nicka1001Japan2024-05-20
Kadeem J Paprocki1002Italy2024-06-05
James R Briddick1003Japan2024-05-17
Claire W Paprocki1004Italy2024-05-31
Jones J Royster1005Italy2024-05-19
Aika O Caldarera1006United Kingdom2024-05-26
Cody G Ostrosky1007Japan2024-05-19
Ricardo U Chui1008Italy2024-05-25
Jefferson N Rim1009Argentina2024-05-26
Octavia C Ruta1010France2024-05-18
Adams O Doe1011Italy2024-06-11
Darci G Slusarski1012Australia2024-05-18
Johnson P Figeroa1013India2024-05-23
Costa H Ferencz1014France2024-05-22
Aditya V Venere1015Spain2024-05-28
Kadeem P Briddick1016Canada2024-06-14
Izzy P Garufi1017India2024-05-19
Jefferson X Figeroa1018Italy2024-06-08
Leja L Inouye1019France2024-05-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey V PerinRussiaOnyama Limba NEW
Mujtaba U MarrierRussiaAmy Elsner QUALIFIED
Jennifer P BologniaBrazilAsiya Javayant RENEWAL
Kadeem S DoeArgentinaIoni Bowcher QUALIFIED
Isabel V NestleRussiaStephen Shaw PROPOSAL
Mujtaba I CampainArgentinaIoni Bowcher RENEWAL
Leja B DoeIndiaStephen Shaw PROPOSAL
Mayumi X OldroydRussiaStephen Shaw RENEWAL
Munro Y ShinkoSpainElwin Sharvill UNQUALIFIED
Aditya E KolmetzAustraliaStephen Shaw NEGOTIATION
Darci C SlusarskiAustraliaAsiya Javayant NEGOTIATION
Ashley I SergiSpainIvan Magalhaes NEW
Nicolas V OldroydGermanyIoni Bowcher QUALIFIED
Misaki V OldroydArgentinaBernardo Dominic NEW
Alejandro R KuskoUnited KingdomBernardo Dominic NEGOTIATION
Mayumi U AlbaresUnited KingdomAnna Fali PROPOSAL
Francesco P MaletBrazilAnna Fali QUALIFIED
Johnson S DarakjyAustraliaIoni Bowcher NEGOTIATION
Julie U CaudyFranceStephen Shaw QUALIFIED
Clifford Q GauchoRussiaOnyama Limba NEW
Johnson I MarrierGermanyStephen Shaw NEW
Clifford S FigeroaItalyOnyama Limba NEGOTIATION
Jones K NestleRussiaXuxue Feng NEW
Darci Z IturbideFranceStephen Shaw UNQUALIFIED
Kadeem I MaletArgentinaIvan Magalhaes PROPOSAL
Deepesh P WaycottSpainOnyama Limba UNQUALIFIED
Aditya N MorascaIndiaStephen Shaw QUALIFIED
Francesco N WaycottUnited KingdomXuxue Feng RENEWAL
Maisha A BriddickCanadaAnna Fali NEGOTIATION
Silvio R KuskoSpainAnna Fali UNQUALIFIED
Stacey T GauchoIndiaAsiya Javayant NEGOTIATION
Darci N ButtRussiaAmy Elsner NEGOTIATION
Mayumi G AlbaresCanadaStephen Shaw QUALIFIED
Wickens M ButtBrazilIvan Magalhaes QUALIFIED
Silvio Q ShinkoCanadaAmy Elsner QUALIFIED
Silvio T GlickIndiaAsiya Javayant QUALIFIED
Jeanfrancois E BowleyUnited KingdomStephen Shaw QUALIFIED
Chavez P VocelkaArgentinaXuxue Feng UNQUALIFIED
Cody O ButtArgentinaOnyama Limba UNQUALIFIED
James M FollerItalyIvan Magalhaes NEGOTIATION

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