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
Sinclair Y StensethJapanAnna Fali RENEWAL
Kaitlin F ChuiRussiaAnna Fali QUALIFIED
Nicolas R RutaArgentinaAsiya Javayant NEGOTIATION
Claire D PoquetteGermanyIvan Magalhaes NEGOTIATION
Smith Z FerenczCanadaIoni Bowcher QUALIFIED
Smith K GauchoAustraliaXuxue Feng QUALIFIED
Murillo C PoquetteUnited KingdomElwin Sharvill RENEWAL
James Z RoysterCanadaBernardo Dominic UNQUALIFIED
Morrow B ShinkoGermanyIoni Bowcher NEW
Ivar Z CampainArgentinaAnna Fali RENEWAL
Juan O GlickRussiaAsiya Javayant QUALIFIED
Aditya V StockhamGermanyElwin Sharvill QUALIFIED
Clifford V FollerSpainBernardo Dominic UNQUALIFIED
Leja N AmigonItalyOnyama Limba UNQUALIFIED
Sinclair L PerinItalyOnyama Limba RENEWAL
Maria N ButtRussiaAnna Fali UNQUALIFIED
Julie J DilliardFranceAmy Elsner UNQUALIFIED
Ashley U RoysterArgentinaIvan Magalhaes PROPOSAL
Arvin J WieserBrazilAmy Elsner NEW
Smith Y KuskoRussiaIoni Bowcher QUALIFIED
Tony U VenereGermanyOnyama Limba RENEWAL
Ashley G FollerFranceIvan Magalhaes PROPOSAL
Misaki Q IturbideFranceXuxue Feng PROPOSAL
Emily T GlickCanadaElwin Sharvill UNQUALIFIED
Izzy Q KolmetzSpainStephen Shaw NEW
Kaitlin B WaycottItalyIvan Magalhaes UNQUALIFIED
Izzy G CaldareraArgentinaStephen Shaw PROPOSAL
Aruna Y ShinkoCanadaStephen Shaw NEGOTIATION
Adams U BologniaUnited KingdomAmy Elsner PROPOSAL
Antonio C VenereRussiaAnna Fali NEGOTIATION
Emily G WhobreyIndiaIvan Magalhaes PROPOSAL
Ashley G NickaAustraliaXuxue Feng PROPOSAL
Silvio U GauchoRussiaOnyama Limba NEW
Sinclair A SlusarskiBrazilStephen Shaw NEGOTIATION
Costa Y VenereUnited KingdomAnna Fali NEGOTIATION
Costa G SchemmerJapanElwin Sharvill NEW
David A RoysterBrazilIoni Bowcher NEGOTIATION
Ashley E RutaSpainIoni Bowcher RENEWAL
Tony P FigeroaIndiaAsiya Javayant QUALIFIED
Smith F KolmetzIndiaXuxue Feng PROPOSAL
Izzy N GauchoFranceBernardo Dominic RENEWAL
Ivar E InouyeSpainIvan Magalhaes PROPOSAL
Clifford J TollnerItalyBernardo Dominic NEW
Silvio F CampainRussiaBernardo Dominic QUALIFIED
Mayumi Y ChuiCanadaBernardo Dominic QUALIFIED
Nicolas T RutaBrazilBernardo Dominic RENEWAL
Aika H OldroydRussiaAmy Elsner QUALIFIED
Aruna E InouyeArgentinaAmy Elsner QUALIFIED
Izzy U FlosiIndiaBernardo Dominic PROPOSAL
Alejandro W GauchoCanadaAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Wickens H NickaGermanyAsiya Javayant RENEWAL
Emily S IturbideFranceIoni Bowcher PROPOSAL
Chavez Z AlbaresSpainElwin Sharvill NEW
Octavia X BologniaAustraliaXuxue Feng NEGOTIATION
Ashley L FollerJapanStephen Shaw UNQUALIFIED
Tony D PoquetteSpainOnyama Limba QUALIFIED
Francesco R RulapaughBrazilElwin Sharvill QUALIFIED
Emily H SaylorsFranceAsiya Javayant NEW
Wickens U RoysterUnited KingdomAmy Elsner PROPOSAL
Johnson L ButtIndiaIoni Bowcher QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley N WieserItaly2024-05-27Feiner Bros RENEWAL30Bernardo Dominic
1001Antonio U WaycottRussia2024-04-29Chanay, Jeffrey A Esq NEW83Bernardo Dominic
1002Jennifer N NickaFrance2024-05-22Dorl, James J Esq UNQUALIFIED31Elwin Sharvill
1003Morrow C PerinJapan2024-05-09Benton, John B Jr UNQUALIFIED81Ioni Bowcher
1004Greenwood V MaletSpain2024-05-03King, Christopher A Esq UNQUALIFIED67Ioni Bowcher
1005Maria Q ButtSpain2024-05-04Dorl, James J Esq QUALIFIED26Asiya Javayant
1006Kadeem O SergiCanada2024-05-25Morlong Associates NEGOTIATION16Bernardo Dominic
1007Aruna W TollnerUnited Kingdom2024-05-04Buckley Miller Wright PROPOSAL88Anna Fali
1008Jeanfrancois K IturbideBrazil2024-05-26Rousseaux, Michael Esq PROPOSAL2Bernardo Dominic
1009Murillo M FlosiRussia2024-05-01Feiner Bros NEW38Bernardo Dominic
1010James N SergiItaly2024-05-05Truhlar And Truhlar Attys PROPOSAL41Stephen Shaw
1011Jennifer V NickaArgentina2024-05-18Benton, John B Jr PROPOSAL30Amy Elsner
1012Morrow G AlbaresFrance2024-05-19Rangoni Of Florence RENEWAL90Bernardo Dominic
1013Leja G DoeRussia2024-04-28Feiner Bros UNQUALIFIED92Anna Fali
1014Deepesh M MorascaIndia2024-05-08Printing Dimensions UNQUALIFIED48Elwin Sharvill
1015Antonio M OldroydSpain2024-05-09Commercial Press RENEWAL69Amy Elsner
1016Greenwood Y VenereSpain2024-04-29Chapman, Ross E Esq PROPOSAL84Xuxue Feng
1017Greenwood Q RoysterCanada2024-05-16Rangoni Of Florence NEGOTIATION18Ioni Bowcher
1018Ivar V RulapaughJapan2024-05-21Rangoni Of Florence NEW68Stephen Shaw
1019Ivar I BologniaIndia2024-05-18Benton, John B Jr PROPOSAL11Elwin Sharvill
1020Jefferson S WhobreyCanada2024-05-24Rangoni Of Florence UNQUALIFIED83Amy Elsner
1021Mayumi U WaycottCanada2024-05-04King, Christopher A Esq PROPOSAL73Amy Elsner
1022Nicolas W MaletSpain2024-05-12Feltz Printing Service QUALIFIED78Amy Elsner
1023Kadeem C NickaBrazil2024-05-14Truhlar And Truhlar Attys QUALIFIED38Ivan Magalhaes
1024Isabel G WaycottCanada2024-04-29Buckley Miller Wright UNQUALIFIED75Xuxue Feng
1025Maria V GauchoRussia2024-05-11Chapman, Ross E Esq NEW37Bernardo Dominic
1026Sinclair H SlusarskiCanada2024-04-30Printing Dimensions UNQUALIFIED33Ivan Magalhaes
1027Cody X TollnerUnited Kingdom2024-05-14Feiner Bros NEGOTIATION68Stephen Shaw
1028Faith C RimRussia2024-05-19Dorl, James J Esq NEGOTIATION57Amy Elsner
1029Ashley A KuskoItaly2024-05-03Truhlar And Truhlar Attys QUALIFIED67Onyama Limba
1030Octavia W CampainArgentina2024-05-15Rangoni Of Florence RENEWAL26Bernardo Dominic
1031Nicolas X ShinkoAustralia2024-05-13Chanay, Jeffrey A Esq QUALIFIED79Bernardo Dominic
1032Aika W TollnerRussia2024-05-02Rousseaux, Michael Esq PROPOSAL96Asiya Javayant
1033Salvatore X SaylorsBrazil2024-05-27Feltz Printing Service NEW86Asiya Javayant
1034Smith V KuskoArgentina2024-05-05King, Christopher A Esq NEW71Ivan Magalhaes
1035Johnson D WaycottFrance2024-05-06Chemel, James L Cpa PROPOSAL59Stephen Shaw
1036Darci B DarakjyCanada2024-05-19Rangoni Of Florence UNQUALIFIED72Anna Fali
1037Munro Y BriddickCanada2024-05-14Printing Dimensions PROPOSAL35Ioni Bowcher
1038Emily S MaletSpain2024-05-25Dorl, James J Esq NEW72Ivan Magalhaes
1039Juan C SaylorsArgentina2024-05-18Feiner Bros NEGOTIATION91Ivan Magalhaes
1040Aditya K SaylorsItaly2024-05-12Truhlar And Truhlar Attys RENEWAL22Anna Fali
1041Costa Q NickaItaly2024-05-17Rangoni Of Florence NEGOTIATION82Ivan Magalhaes
1042Octavia V MacleadUnited Kingdom2024-05-15Buckley Miller Wright NEGOTIATION77Ivan Magalhaes
1043David A OstroskyGermany2024-05-10Dorl, James J Esq UNQUALIFIED71Ioni Bowcher
1044Maisha O FigeroaAustralia2024-05-03Benton, John B Jr NEGOTIATION84Elwin Sharvill
1045Jennifer X RutaUnited Kingdom2024-05-25Rangoni Of Florence PROPOSAL34Onyama Limba
1046Silvio N RutaRussia2024-05-17Feiner Bros QUALIFIED11Amy Elsner
1047Isabel X WhobreyAustralia2024-05-08Morlong Associates QUALIFIED86Asiya Javayant
1048Munro L NestleAustralia2024-05-15Buckley Miller Wright PROPOSAL74Bernardo Dominic
1049Francesco D BriddickGermany2024-05-01Buckley Miller Wright PROPOSAL56Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues S VocelkaBrazilXuxue Feng NEW
Kadeem A MacleadArgentinaIvan Magalhaes QUALIFIED
Jones K FerenczJapanAnna Fali UNQUALIFIED
Maria T DilliardAustraliaAnna Fali UNQUALIFIED
Octavia S TollnerAustraliaAnna Fali PROPOSAL
Maisha P OldroydUnited KingdomAsiya Javayant PROPOSAL
Jeanfrancois W RulapaughArgentinaOnyama Limba UNQUALIFIED
Cody J SchemmerItalyStephen Shaw NEW
Jeanfrancois A FollerSpainIvan Magalhaes RENEWAL
Aditya B RimItalyStephen Shaw QUALIFIED
Morrow I BriddickArgentinaAmy Elsner QUALIFIED
Rodrigues L NickaCanadaOnyama Limba QUALIFIED
Kaitlin T AmigonBrazilAsiya Javayant PROPOSAL
Silvio C DoeUnited KingdomElwin Sharvill UNQUALIFIED
James P KolmetzSpainAmy Elsner NEGOTIATION
Octavia N GarufiRussiaElwin Sharvill RENEWAL
Murillo S DarakjyArgentinaOnyama Limba QUALIFIED
Mujtaba G CaudyGermanyIoni Bowcher PROPOSAL
Morrow S MacleadArgentinaElwin Sharvill RENEWAL
Alejandro U CaldareraUnited KingdomBernardo Dominic RENEWAL
Chavez Q ChuiFranceOnyama Limba UNQUALIFIED
Claire C FerenczAustraliaAnna Fali PROPOSAL
Wickens F MarrierFranceIoni Bowcher PROPOSAL
Maisha M WaycottSpainXuxue Feng NEW
Isabel G CaudyFranceXuxue Feng NEGOTIATION
Isabel R DarakjyFranceAmy Elsner QUALIFIED
Mujtaba M CaudyBrazilStephen Shaw PROPOSAL
Silvio T NickaIndiaStephen Shaw RENEWAL
Smith F MaletJapanIvan Magalhaes NEW
Emily U OstroskyBrazilAmy Elsner RENEWAL
Wickens T WaycottUnited KingdomElwin Sharvill QUALIFIED
Isabel K NestleGermanyAmy Elsner QUALIFIED
Deepesh L AmigonFranceIoni Bowcher UNQUALIFIED
James J GillianFranceAnna Fali QUALIFIED
Salvatore N MacleadIndiaOnyama Limba UNQUALIFIED
Emily J MorascaItalyOnyama Limba NEGOTIATION
Misaki R SlusarskiRussiaXuxue Feng RENEWAL
James G BologniaSpainOnyama Limba NEGOTIATION
Cody J StensethGermanyElwin Sharvill NEW
Ivar X StensethBrazilIoni Bowcher RENEWAL
Munro I SchemmerAustraliaOnyama Limba QUALIFIED
Ricardo B FerenczBrazilAsiya Javayant NEGOTIATION
Aruna V WaycottBrazilXuxue Feng RENEWAL
Jeanfrancois X RimArgentinaAnna Fali NEW
Antonio E MorascaCanadaXuxue Feng NEGOTIATION
Misaki W FollerAustraliaIvan Magalhaes NEGOTIATION
Jennifer Q FigeroaJapanAmy Elsner UNQUALIFIED
Stacey L IturbideGermanyAsiya Javayant NEGOTIATION
Silvio E KolmetzItalyAnna Fali UNQUALIFIED
Jones T ShinkoRussiaIvan Magalhaes NEW
Frozen Columns
Name
Murillo Z Garufi
Darci M Maclead
Costa C Perin
Jennifer U Malet
Izzy D Gillian
Johnson N Stenseth
Octavia E Malet
Faith F Poquette
Sinclair R Marrier
Rodrigues N Garufi
Morrow Z Ferencz
Kaitlin E Amigon
Emily Z Chui
Claire H Iturbide
Misaki B Marrier
Wickens C Dilliard
Antonio L Shinko
Salvatore F Figeroa
Smith B Ruta
Maisha Z Gillian
Murillo F Inouye
Arvin B Darakjy
Emily L Rulapaugh
Darci B Figeroa
Wickens Q Gaucho
Smith Q Royster
Tony O Venere
Munro A Campain
Maria Q Ostrosky
Aika R Schemmer
Rodrigues V Iturbide
Wickens W Foller
Antonio B Foller
Maria L Marrier
Mujtaba R Tollner
Adams V Campain
Nicolas T Amigon
Nicolas H Ostrosky
James D Campain
Isabel I Venere
Rodrigues M Paprocki
Murillo P Ferencz
Julie J Iturbide
Ashley E Morasca
David D Stenseth
Octavia N Perin
Deepesh G Bowley
Ivar K Doe
Leon T Paprocki
Greenwood Y Butt
IdCountryDate
1000Spain2024-05-10
1001Italy2024-05-04
1002India2024-04-28
1003Canada2024-05-22
1004France2024-05-14
1005Japan2024-05-22
1006Russia2024-05-01
1007Canada2024-05-19
1008Canada2024-05-20
1009Japan2024-04-30
1010Argentina2024-05-27
1011Italy2024-05-08
1012Germany2024-05-06
1013Brazil2024-05-07
1014Japan2024-05-19
1015Spain2024-05-09
1016Spain2024-05-21
1017Italy2024-05-13
1018Canada2024-05-11
1019Brazil2024-05-06
1020Brazil2024-04-28
1021Canada2024-05-13
1022India2024-05-04
1023France2024-05-26
1024Brazil2024-05-27
1025United Kingdom2024-05-08
1026Spain2024-05-17
1027India2024-04-28
1028Canada2024-05-18
1029Italy2024-04-30
1030United Kingdom2024-05-25
1031Brazil2024-05-18
1032Russia2024-05-04
1033Brazil2024-05-22
1034France2024-05-19
1035Japan2024-05-23
1036Argentina2024-05-03
1037Japan2024-04-30
1038Italy2024-05-22
1039Spain2024-05-21
1040India2024-05-02
1041Japan2024-05-02
1042Argentina2024-05-11
1043Germany2024-05-03
1044Brazil2024-05-14
1045Japan2024-04-28
1046United Kingdom2024-05-18
1047Japan2024-05-26
1048France2024-04-29
1049Argentina2024-05-01

On-Demand Data

NameIdCountryDate
David M Bowley1000Argentina2024-05-06
Arvin U Gillian1001Germany2024-05-02
Claire M Sergi1002Argentina2024-05-26
Stacey T Ferencz1003Canada2024-05-13
Salvatore R Morasca1004Japan2024-05-21
Alejandro W Darakjy1005United Kingdom2024-05-14
Aruna O Garufi1006Argentina2024-05-07
Sinclair T Bowley1007Italy2024-05-04
Greenwood M Nestle1008Canada2024-05-22
Mayumi N Malet1009Brazil2024-05-02
Ricardo U Rim1010United Kingdom2024-05-04
Tony J Dilliard1011Canada2024-05-04
Clifford M Oldroyd1012Russia2024-05-02
Antonio P Nestle1013Brazil2024-05-26
Aditya H Nicka1014Russia2024-05-23
Francesco H Marrier1015India2024-05-16
Maisha R Saylors1016Germany2024-05-23
Ivar Z Maclead1017Russia2024-05-23
Aditya F Amigon1018India2024-05-03
Julie H Amigon1019Brazil2024-05-18
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer V DilliardBrazilAsiya Javayant NEW
Chavez L GauchoArgentinaStephen Shaw RENEWAL
Ashley F WieserIndiaBernardo Dominic NEW
Francesco G GlickIndiaXuxue Feng NEW
Deepesh K SchemmerRussiaOnyama Limba QUALIFIED
Isabel O GauchoBrazilOnyama Limba PROPOSAL
Isabel O PaprockiArgentinaXuxue Feng PROPOSAL
Munro R DilliardIndiaAnna Fali NEGOTIATION
Julie T OstroskyCanadaElwin Sharvill NEW
Munro I DoeUnited KingdomBernardo Dominic UNQUALIFIED
Ricardo D BowleyBrazilOnyama Limba RENEWAL
Isabel D GarufiRussiaOnyama Limba NEW
Morrow D GillianRussiaOnyama Limba RENEWAL
Greenwood B RimAustraliaOnyama Limba NEGOTIATION
Morrow T RimUnited KingdomElwin Sharvill QUALIFIED
Claire H GauchoAustraliaBernardo Dominic NEGOTIATION
Aditya F AmigonFranceBernardo Dominic QUALIFIED
Isabel W PaprockiFranceBernardo Dominic RENEWAL
Sinclair T TollnerBrazilBernardo Dominic PROPOSAL
Claire I SchemmerJapanAsiya Javayant QUALIFIED
Adams A FigeroaSpainAnna Fali NEW
Salvatore H SergiCanadaStephen Shaw RENEWAL
David X WieserRussiaBernardo Dominic UNQUALIFIED
Clifford H OstroskyUnited KingdomAnna Fali PROPOSAL
Aika T BologniaJapanStephen Shaw QUALIFIED
Rodrigues V FlosiSpainIvan Magalhaes PROPOSAL
Silvio D GarufiFranceIoni Bowcher NEGOTIATION
David V WaycottArgentinaStephen Shaw RENEWAL
Maisha L DilliardBrazilAmy Elsner UNQUALIFIED
Chavez D VocelkaUnited KingdomIoni Bowcher QUALIFIED
Juan E PoquetteJapanOnyama Limba NEW
Ashley C MacleadSpainIvan Magalhaes PROPOSAL
Izzy Y GillianArgentinaAsiya Javayant UNQUALIFIED
Mujtaba G MorascaSpainXuxue Feng UNQUALIFIED
Alejandro A ButtSpainIvan Magalhaes PROPOSAL
Johnson Q ChuiItalyOnyama Limba QUALIFIED
Aditya N RutaArgentinaStephen Shaw PROPOSAL
Adams M RulapaughArgentinaXuxue Feng QUALIFIED
Stacey P FollerCanadaElwin Sharvill NEW
Claire E DarakjyBrazilIvan Magalhaes 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>