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
David X RutaIndiaIoni Bowcher PROPOSAL
Ashley K MaletIndiaAnna Fali PROPOSAL
Adams D GarufiAustraliaIvan Magalhaes QUALIFIED
Aruna E CaldareraAustraliaOnyama Limba NEGOTIATION
David T DarakjyGermanyIoni Bowcher UNQUALIFIED
Murillo W DarakjyIndiaAsiya Javayant QUALIFIED
Johnson Q DoeBrazilBernardo Dominic NEW
Ashley M InouyeRussiaOnyama Limba NEW
Ricardo V RutaJapanBernardo Dominic NEW
Smith N FerenczArgentinaElwin Sharvill QUALIFIED
Antonio O BologniaGermanyElwin Sharvill PROPOSAL
Emily G GillianFranceAnna Fali RENEWAL
Julie H RutaRussiaAmy Elsner UNQUALIFIED
Stacey I PaprockiIndiaXuxue Feng UNQUALIFIED
Aika X SaylorsCanadaAnna Fali RENEWAL
Clifford P BologniaIndiaXuxue Feng PROPOSAL
Aruna Z RutaGermanyIoni Bowcher QUALIFIED
Clifford B WhobreyGermanyStephen Shaw QUALIFIED
Kadeem Z BowleySpainElwin Sharvill RENEWAL
Aika Y IturbideCanadaXuxue Feng PROPOSAL
Johnson B RimUnited KingdomIoni Bowcher UNQUALIFIED
David E ButtRussiaBernardo Dominic UNQUALIFIED
Arvin U RutaBrazilAsiya Javayant NEGOTIATION
Munro V CampainArgentinaAsiya Javayant NEW
Sinclair B FlosiGermanyIoni Bowcher UNQUALIFIED
Tony U InouyeJapanAsiya Javayant NEGOTIATION
Julie D KolmetzJapanBernardo Dominic UNQUALIFIED
Deepesh U StensethFranceAsiya Javayant NEW
Deepesh I SlusarskiArgentinaBernardo Dominic RENEWAL
Morrow C DilliardRussiaIvan Magalhaes NEGOTIATION
Wickens K SlusarskiBrazilAmy Elsner UNQUALIFIED
Morrow R KuskoSpainIvan Magalhaes NEW
Salvatore B OstroskyUnited KingdomStephen Shaw QUALIFIED
Aditya N CaldareraFranceXuxue Feng QUALIFIED
Maria I MarrierJapanAmy Elsner NEW
Jefferson C PaprockiCanadaOnyama Limba UNQUALIFIED
Kaitlin V MacleadIndiaBernardo Dominic NEGOTIATION
Deepesh V RimAustraliaAmy Elsner UNQUALIFIED
Leon D OstroskyCanadaStephen Shaw RENEWAL
Ricardo P BologniaRussiaAnna Fali UNQUALIFIED
Clifford L TollnerGermanyIvan Magalhaes NEGOTIATION
Munro Y MaletFranceIvan Magalhaes UNQUALIFIED
Deepesh M BologniaGermanyIvan Magalhaes NEGOTIATION
Nicolas F BowleyCanadaIoni Bowcher NEW
Aditya D BologniaFranceOnyama Limba PROPOSAL
Claire K MaletRussiaXuxue Feng UNQUALIFIED
Cody O SchemmerCanadaXuxue Feng UNQUALIFIED
Aika M FlosiBrazilIvan Magalhaes NEGOTIATION
Adams A NestleUnited KingdomBernardo Dominic NEW
James C StockhamRussiaAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Antonio X BowleyCanadaXuxue Feng UNQUALIFIED
Stacey K PoquetteUnited KingdomIvan Magalhaes PROPOSAL
Morrow O StensethFranceElwin Sharvill UNQUALIFIED
Maria C SchemmerJapanIoni Bowcher QUALIFIED
Francesco F DilliardUnited KingdomIoni Bowcher PROPOSAL
Clifford L KolmetzFranceAmy Elsner QUALIFIED
Nicolas V BowleyArgentinaBernardo Dominic NEW
Ricardo Y SaylorsCanadaXuxue Feng NEW
Isabel D IturbideAustraliaBernardo Dominic QUALIFIED
Johnson J BologniaGermanyAnna Fali PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy C PaprockiUnited Kingdom2024-05-28Truhlar And Truhlar Attys QUALIFIED52Amy Elsner
1001Sinclair Y SaylorsIndia2024-06-12Buckley Miller Wright QUALIFIED27Ivan Magalhaes
1002Clifford H RulapaughJapan2024-06-07Chapman, Ross E Esq UNQUALIFIED14Anna Fali
1003Tony L MorascaRussia2024-06-11Truhlar And Truhlar Attys PROPOSAL25Asiya Javayant
1004Aruna T BologniaJapan2024-06-14Benton, John B Jr UNQUALIFIED21Amy Elsner
1005Nicolas Y IturbideJapan2024-06-04Chanay, Jeffrey A Esq NEGOTIATION10Ivan Magalhaes
1006Tony V FollerFrance2024-06-12Chapman, Ross E Esq UNQUALIFIED53Onyama Limba
1007Jennifer L RulapaughSpain2024-05-23Rousseaux, Michael Esq UNQUALIFIED57Anna Fali
1008Chavez P MacleadSpain2024-06-08Dorl, James J Esq UNQUALIFIED80Elwin Sharvill
1009Emily D ChuiJapan2024-05-30Rousseaux, Michael Esq NEGOTIATION23Anna Fali
1010Jennifer C CampainBrazil2024-05-30Commercial Press PROPOSAL63Asiya Javayant
1011Emily U SchemmerUnited Kingdom2024-05-28Rangoni Of Florence PROPOSAL34Stephen Shaw
1012Aruna L MacleadAustralia2024-06-11King, Christopher A Esq PROPOSAL84Elwin Sharvill
1013Cody W CaldareraFrance2024-06-11Chanay, Jeffrey A Esq UNQUALIFIED27Bernardo Dominic
1014Aditya D BologniaBrazil2024-06-08Printing Dimensions RENEWAL30Amy Elsner
1015Greenwood R MarrierUnited Kingdom2024-06-12Morlong Associates PROPOSAL67Ioni Bowcher
1016Ashley N GillianArgentina2024-05-27Truhlar And Truhlar Attys UNQUALIFIED61Ioni Bowcher
1017Rodrigues M InouyeIndia2024-05-22Dorl, James J Esq NEW46Ivan Magalhaes
1018Ivar O GarufiGermany2024-05-24Buckley Miller Wright QUALIFIED15Elwin Sharvill
1019Jennifer H WieserUnited Kingdom2024-06-14Feiner Bros PROPOSAL34Anna Fali
1020Deepesh V BowleyIndia2024-05-24Commercial Press UNQUALIFIED8Ivan Magalhaes
1021Smith V OldroydItaly2024-05-29Benton, John B Jr QUALIFIED47Elwin Sharvill
1022Tony A StockhamItaly2024-05-30Dorl, James J Esq UNQUALIFIED68Anna Fali
1023Alejandro S MarrierJapan2024-06-18Printing Dimensions PROPOSAL63Elwin Sharvill
1024James O SaylorsAustralia2024-06-02Feltz Printing Service PROPOSAL78Bernardo Dominic
1025Johnson T FerenczBrazil2024-05-26Chanay, Jeffrey A Esq PROPOSAL38Onyama Limba
1026Sinclair D KuskoGermany2024-06-18Printing Dimensions QUALIFIED80Onyama Limba
1027Maisha N NestleAustralia2024-06-12Chapman, Ross E Esq RENEWAL53Stephen Shaw
1028Juan L GauchoGermany2024-06-08Commercial Press RENEWAL49Elwin Sharvill
1029Aruna I GillianJapan2024-05-24Chanay, Jeffrey A Esq UNQUALIFIED62Xuxue Feng
1030Jeanfrancois A WieserRussia2024-05-30Benton, John B Jr NEGOTIATION53Asiya Javayant
1031Faith Q FollerJapan2024-06-01Chemel, James L Cpa QUALIFIED34Ioni Bowcher
1032Claire F BologniaItaly2024-05-27Commercial Press RENEWAL24Bernardo Dominic
1033Costa X CampainJapan2024-06-16Printing Dimensions UNQUALIFIED83Onyama Limba
1034Misaki J NestleAustralia2024-05-25Chanay, Jeffrey A Esq PROPOSAL87Bernardo Dominic
1035Antonio Q BriddickSpain2024-06-16King, Christopher A Esq NEGOTIATION45Stephen Shaw
1036Ricardo B PoquetteJapan2024-06-14Commercial Press NEW96Elwin Sharvill
1037Antonio D MacleadCanada2024-06-17Dorl, James J Esq UNQUALIFIED48Stephen Shaw
1038Julie H FlosiAustralia2024-06-04Commercial Press NEGOTIATION67Ivan Magalhaes
1039Alejandro B SergiRussia2024-06-10Truhlar And Truhlar Attys RENEWAL16Elwin Sharvill
1040Arvin S IturbideArgentina2024-05-20Dorl, James J Esq UNQUALIFIED19Asiya Javayant
1041Juan V CampainSpain2024-06-08Chanay, Jeffrey A Esq NEGOTIATION40Xuxue Feng
1042Silvio X RutaIndia2024-05-22Chapman, Ross E Esq NEW99Ivan Magalhaes
1043Octavia J AlbaresUnited Kingdom2024-06-18Truhlar And Truhlar Attys NEGOTIATION59Amy Elsner
1044Misaki I DoeAustralia2024-06-01Feltz Printing Service NEW67Xuxue Feng
1045Nicolas C WhobreyBrazil2024-06-07Commercial Press NEGOTIATION18Amy Elsner
1046Emily H ShinkoFrance2024-06-05Feiner Bros UNQUALIFIED15Onyama Limba
1047Kadeem Y OstroskyAustralia2024-05-21Truhlar And Truhlar Attys PROPOSAL45Xuxue Feng
1048Clifford T StensethCanada2024-06-06Feiner Bros RENEWAL21Ivan Magalhaes
1049Julie P SchemmerFrance2024-06-04Buckley Miller Wright NEW50Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Francesco M PerinIndiaAmy Elsner PROPOSAL
Deepesh Y PoquetteFranceBernardo Dominic RENEWAL
Jones S GillianFranceOnyama Limba UNQUALIFIED
Arvin P MacleadArgentinaElwin Sharvill NEW
David Q CaldareraRussiaIoni Bowcher RENEWAL
Claire I RimCanadaOnyama Limba QUALIFIED
Francesco R AlbaresFranceElwin Sharvill NEGOTIATION
Maria K SaylorsSpainBernardo Dominic PROPOSAL
Murillo A MorascaFranceIvan Magalhaes UNQUALIFIED
Octavia R InouyeRussiaAsiya Javayant QUALIFIED
Alejandro B VocelkaCanadaXuxue Feng NEGOTIATION
Ashley W MacleadArgentinaAmy Elsner RENEWAL
Rodrigues M CaldareraGermanyOnyama Limba QUALIFIED
Jennifer H PoquetteSpainAnna Fali QUALIFIED
Stacey A SaylorsAustraliaIvan Magalhaes NEW
Claire S StensethRussiaAmy Elsner NEGOTIATION
Clifford B KolmetzBrazilIvan Magalhaes NEGOTIATION
Francesco M WaycottItalyIvan Magalhaes PROPOSAL
Clifford R KolmetzSpainIoni Bowcher QUALIFIED
Silvio V RutaGermanyOnyama Limba PROPOSAL
Aika B WieserBrazilBernardo Dominic RENEWAL
James N CaudyIndiaOnyama Limba NEGOTIATION
Izzy W GlickRussiaAnna Fali UNQUALIFIED
Ricardo K NestleSpainElwin Sharvill RENEWAL
Arvin W BriddickIndiaAnna Fali PROPOSAL
Antonio R WaycottFranceXuxue Feng QUALIFIED
Emily V GarufiFranceAnna Fali UNQUALIFIED
Juan R GlickArgentinaXuxue Feng NEW
Kadeem N DilliardJapanStephen Shaw RENEWAL
Salvatore K MarrierItalyXuxue Feng QUALIFIED
Deepesh P GauchoRussiaOnyama Limba RENEWAL
Stacey T MarrierFranceAmy Elsner RENEWAL
Maisha F FigeroaItalyBernardo Dominic RENEWAL
Leon P OldroydGermanyAmy Elsner UNQUALIFIED
Jefferson Z CaudyIndiaStephen Shaw UNQUALIFIED
Costa F CampainIndiaElwin Sharvill NEGOTIATION
James E VocelkaFranceXuxue Feng NEGOTIATION
Juan F OstroskyRussiaStephen Shaw PROPOSAL
Deepesh W BologniaSpainBernardo Dominic UNQUALIFIED
Maisha S MacleadRussiaAsiya Javayant UNQUALIFIED
Tony H NestleGermanyIvan Magalhaes NEW
Adams M FerenczAustraliaOnyama Limba UNQUALIFIED
Chavez E ChuiIndiaXuxue Feng QUALIFIED
Jones I KolmetzCanadaBernardo Dominic QUALIFIED
Ivar Z AmigonSpainIoni Bowcher QUALIFIED
Isabel J DilliardFranceIoni Bowcher UNQUALIFIED
Jones T RoysterIndiaBernardo Dominic RENEWAL
Misaki Y InouyeArgentinaOnyama Limba PROPOSAL
Aditya G SchemmerAustraliaAsiya Javayant NEGOTIATION
Munro P BriddickCanadaAmy Elsner RENEWAL
Frozen Columns
Name
Maria W Whobrey
Smith X Nestle
Alejandro W Shinko
Arvin H Tollner
Maisha G Rulapaugh
Johnson M Flosi
Tony A Rim
Darci P Waycott
Juan U Dilliard
Arvin O Caldarera
Mujtaba F Ferencz
Arvin A Garufi
Deepesh C Royster
Ashley X Tollner
Morrow K Saylors
Mayumi P Marrier
Arvin V Caudy
Julie T Royster
Cody Z Amigon
Claire U Ostrosky
Ashley W Chui
Munro C Kolmetz
Jennifer E Royster
Ricardo N Malet
Munro Q Amigon
Juan B Maclead
Wickens K Inouye
Leja L Whobrey
Izzy V Figeroa
Munro G Sergi
Rodrigues J Kolmetz
Mujtaba U Flosi
Antonio Z Poquette
Maisha J Garufi
Johnson A Foller
Costa T Chui
Aruna Z Perin
Chavez M Rim
Misaki O Amigon
Adams U Bowley
Johnson H Gillian
Leja P Maclead
Kaitlin U Glick
James I Stenseth
Wickens T Flosi
Munro S Rulapaugh
Maria O Rulapaugh
Nicolas T Wieser
Salvatore S Butt
Kaitlin Q Darakjy
IdCountryDate
1000Russia2024-06-15
1001Japan2024-05-20
1002Spain2024-05-23
1003Australia2024-06-16
1004Russia2024-05-29
1005Italy2024-06-15
1006Australia2024-05-31
1007Brazil2024-05-30
1008India2024-05-27
1009India2024-06-14
1010Australia2024-05-27
1011Germany2024-05-20
1012United Kingdom2024-06-18
1013France2024-06-03
1014Spain2024-06-12
1015Brazil2024-06-12
1016Canada2024-06-07
1017Australia2024-06-11
1018Spain2024-06-17
1019Russia2024-05-23
1020Russia2024-06-02
1021India2024-05-31
1022France2024-06-08
1023Italy2024-06-05
1024Australia2024-06-10
1025Russia2024-06-16
1026Japan2024-06-10
1027India2024-05-22
1028India2024-05-25
1029Italy2024-06-11
1030Japan2024-05-31
1031Canada2024-06-16
1032Spain2024-06-15
1033Japan2024-05-24
1034Brazil2024-06-02
1035Germany2024-06-03
1036Russia2024-05-30
1037United Kingdom2024-06-09
1038United Kingdom2024-06-06
1039Russia2024-05-20
1040Italy2024-06-16
1041Australia2024-06-06
1042France2024-05-28
1043India2024-05-23
1044Germany2024-05-29
1045Brazil2024-06-08
1046Russia2024-05-30
1047Russia2024-06-09
1048France2024-06-09
1049France2024-05-24

On-Demand Data

NameIdCountryDate
Octavia E Rim1000Australia2024-05-25
Deepesh V Waycott1001Japan2024-06-05
Ashley Q Ostrosky1002India2024-05-30
Maria V Perin1003France2024-06-11
Greenwood W Amigon1004Russia2024-05-20
Munro T Slusarski1005Russia2024-05-26
Faith T Bolognia1006Italy2024-05-26
Kadeem X Glick1007Spain2024-06-15
Maria X Malet1008Spain2024-05-30
Faith F Rim1009Canada2024-05-25
Mujtaba V Albares1010Italy2024-05-26
Johnson C Wieser1011Japan2024-06-06
Johnson S Doe1012France2024-06-06
Deepesh O Campain1013India2024-06-08
Ashley K Briddick1014Italy2024-06-14
Deepesh X Inouye1015Argentina2024-06-09
Kadeem N Wieser1016Brazil2024-06-12
Ivar Z Stockham1017Argentina2024-05-31
James Q Rim1018Canada2024-06-10
Murillo X Gillian1019Germany2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia B GauchoGermanyIoni Bowcher UNQUALIFIED
Ivar K PoquetteCanadaIvan Magalhaes NEW
Deepesh I SlusarskiGermanyStephen Shaw RENEWAL
Kaitlin P StockhamCanadaStephen Shaw QUALIFIED
Stacey V KuskoFranceAmy Elsner NEGOTIATION
Greenwood F AmigonRussiaElwin Sharvill PROPOSAL
Leon C DilliardAustraliaElwin Sharvill QUALIFIED
Kadeem V AmigonRussiaAsiya Javayant PROPOSAL
Silvio Z BriddickUnited KingdomAnna Fali RENEWAL
Octavia H CampainGermanyIvan Magalhaes RENEWAL
Silvio P BologniaBrazilBernardo Dominic PROPOSAL
Juan Q InouyeArgentinaElwin Sharvill UNQUALIFIED
Leon U WaycottUnited KingdomAnna Fali NEW
David N DarakjyJapanOnyama Limba PROPOSAL
Johnson O ButtCanadaIoni Bowcher UNQUALIFIED
Octavia I CaudyItalyXuxue Feng RENEWAL
Clifford G OldroydAustraliaIoni Bowcher NEW
Leon K CaldareraCanadaElwin Sharvill QUALIFIED
Misaki B GarufiJapanOnyama Limba NEW
Juan Q KuskoJapanOnyama Limba UNQUALIFIED
Clifford R RulapaughFranceAnna Fali RENEWAL
David H ChuiFranceAsiya Javayant RENEWAL
Munro H GauchoRussiaStephen Shaw PROPOSAL
Chavez E CaudyItalyElwin Sharvill NEGOTIATION
Francesco K PaprockiArgentinaAmy Elsner UNQUALIFIED
Kaitlin X InouyeArgentinaAmy Elsner NEW
Johnson H WaycottUnited KingdomOnyama Limba RENEWAL
Greenwood Y RulapaughSpainIvan Magalhaes PROPOSAL
Octavia G FlosiSpainOnyama Limba QUALIFIED
Alejandro Z RulapaughBrazilIvan Magalhaes QUALIFIED
Kadeem M DarakjyIndiaAnna Fali PROPOSAL
Jennifer H OstroskyCanadaIvan Magalhaes NEGOTIATION
Jeanfrancois R DoeRussiaXuxue Feng UNQUALIFIED
Rodrigues U AmigonJapanBernardo Dominic RENEWAL
Maria R SchemmerBrazilAsiya Javayant RENEWAL
Smith Z MaletBrazilBernardo Dominic PROPOSAL
Clifford I FerenczIndiaStephen Shaw NEW
Ricardo S DoeArgentinaElwin Sharvill QUALIFIED
Ricardo V OstroskyFranceXuxue Feng QUALIFIED
Aruna V VocelkaIndiaAnna Fali 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>