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 X MaletAustraliaElwin Sharvill RENEWAL
Leja O MaletGermanyElwin Sharvill UNQUALIFIED
Aditya F ChuiGermanyIvan Magalhaes NEW
Maria Y BowleyItalyElwin Sharvill PROPOSAL
Wickens L KuskoGermanyXuxue Feng UNQUALIFIED
Antonio X VocelkaAustraliaBernardo Dominic NEW
Jeanfrancois Z ShinkoArgentinaXuxue Feng UNQUALIFIED
Wickens U BowleyFranceXuxue Feng NEGOTIATION
Alejandro M NestleItalyOnyama Limba NEW
Jeanfrancois P CampainSpainIvan Magalhaes PROPOSAL
Izzy F SergiBrazilAmy Elsner NEW
Jeanfrancois G FollerCanadaAnna Fali NEGOTIATION
Kaitlin Q StensethCanadaBernardo Dominic NEW
Aika G BologniaCanadaAnna Fali NEW
Cody O SchemmerItalyElwin Sharvill RENEWAL
Ivar K NestleCanadaXuxue Feng PROPOSAL
Cody U GlickSpainXuxue Feng NEW
Julie J RulapaughUnited KingdomBernardo Dominic QUALIFIED
Octavia S VocelkaSpainXuxue Feng PROPOSAL
Costa N GauchoItalyIvan Magalhaes QUALIFIED
Jeanfrancois N AlbaresGermanyOnyama Limba NEW
Jennifer W MaletBrazilStephen Shaw QUALIFIED
Kaitlin D MaletRussiaXuxue Feng PROPOSAL
Juan U RutaUnited KingdomAnna Fali NEW
James Q AmigonCanadaStephen Shaw NEW
David Q GarufiCanadaElwin Sharvill UNQUALIFIED
Aika D MacleadArgentinaXuxue Feng QUALIFIED
Kadeem K SaylorsRussiaAsiya Javayant NEW
Deepesh R RimGermanyElwin Sharvill PROPOSAL
Ivar F DilliardArgentinaAnna Fali RENEWAL
Izzy B FerenczBrazilBernardo Dominic UNQUALIFIED
Aditya F SchemmerCanadaIvan Magalhaes QUALIFIED
Emily S KuskoCanadaAnna Fali PROPOSAL
Silvio Y FerenczBrazilAsiya Javayant RENEWAL
Jones B ShinkoArgentinaAsiya Javayant PROPOSAL
Munro F NickaAustraliaBernardo Dominic UNQUALIFIED
Greenwood I FerenczGermanyBernardo Dominic PROPOSAL
Arvin S BriddickIndiaIoni Bowcher UNQUALIFIED
Costa V SchemmerGermanyIvan Magalhaes NEW
Antonio L RimCanadaAsiya Javayant NEW
Arvin O StockhamUnited KingdomIoni Bowcher NEW
Costa J PoquetteRussiaAmy Elsner NEW
Juan K DarakjyCanadaIvan Magalhaes NEW
Rodrigues O BologniaFranceAsiya Javayant PROPOSAL
Jeanfrancois U CampainJapanStephen Shaw PROPOSAL
Julie X MaletGermanyOnyama Limba RENEWAL
Octavia P RulapaughCanadaIvan Magalhaes NEGOTIATION
Greenwood I BologniaCanadaIoni Bowcher UNQUALIFIED
Mujtaba A RulapaughArgentinaAmy Elsner NEW
Jeanfrancois F IturbideUnited KingdomXuxue Feng QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan W MorascaFranceIoni Bowcher PROPOSAL
Maisha F VocelkaCanadaIvan Magalhaes UNQUALIFIED
Munro P VenereItalyBernardo Dominic UNQUALIFIED
Ashley I FlosiUnited KingdomElwin Sharvill NEGOTIATION
Ricardo G KuskoItalyOnyama Limba NEW
Misaki B VenereRussiaBernardo Dominic PROPOSAL
Misaki Z GlickGermanyAsiya Javayant NEW
Deepesh B RimSpainStephen Shaw RENEWAL
Claire Y WhobreyAustraliaAsiya Javayant NEGOTIATION
Adams K CaldareraSpainXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ricardo X DilliardRussia2024-06-17Truhlar And Truhlar Attys NEGOTIATION74Bernardo Dominic
1001Clifford H FollerCanada2024-05-30Truhlar And Truhlar Attys PROPOSAL2Amy Elsner
1002Isabel V FigeroaSpain2024-05-26Buckley Miller Wright RENEWAL16Stephen Shaw
1003Mayumi R WaycottBrazil2024-06-15Chemel, James L Cpa QUALIFIED30Stephen Shaw
1004Juan M GauchoAustralia2024-06-04Rangoni Of Florence NEW79Elwin Sharvill
1005Leon O KolmetzArgentina2024-06-16Feltz Printing Service UNQUALIFIED81Bernardo Dominic
1006Isabel W RoysterRussia2024-06-04Commercial Press RENEWAL46Anna Fali
1007Misaki U WieserArgentina2024-05-28Morlong Associates PROPOSAL7Ivan Magalhaes
1008Francesco P VocelkaFrance2024-05-30Buckley Miller Wright QUALIFIED87Xuxue Feng
1009Deepesh L InouyeArgentina2024-06-04Commercial Press NEW69Amy Elsner
1010Tony M FigeroaUnited Kingdom2024-06-12Chanay, Jeffrey A Esq QUALIFIED74Stephen Shaw
1011Kadeem C ShinkoGermany2024-06-07Feiner Bros QUALIFIED4Xuxue Feng
1012Silvio M NestleItaly2024-06-01Feiner Bros UNQUALIFIED18Xuxue Feng
1013Faith J GauchoSpain2024-06-05Morlong Associates UNQUALIFIED67Xuxue Feng
1014Maisha Z FigeroaGermany2024-06-11Feiner Bros NEW46Ivan Magalhaes
1015Kadeem E RoysterCanada2024-06-09Morlong Associates NEGOTIATION31Stephen Shaw
1016Clifford U OldroydIndia2024-06-12Printing Dimensions NEGOTIATION93Asiya Javayant
1017Chavez D IturbideUnited Kingdom2024-06-08Feiner Bros PROPOSAL58Asiya Javayant
1018Juan D FollerCanada2024-06-06Morlong Associates NEW63Xuxue Feng
1019Alejandro P BowleyGermany2024-06-19Chapman, Ross E Esq NEW92Elwin Sharvill
1020Francesco F OldroydUnited Kingdom2024-06-11Chapman, Ross E Esq PROPOSAL68Ivan Magalhaes
1021David Q MaletAustralia2024-05-29Chanay, Jeffrey A Esq NEGOTIATION66Onyama Limba
1022Darci T MaletArgentina2024-06-21King, Christopher A Esq RENEWAL96Ivan Magalhaes
1023Greenwood R GillianSpain2024-06-10Feltz Printing Service PROPOSAL52Asiya Javayant
1024Kadeem Q DilliardSpain2024-06-19Morlong Associates RENEWAL29Anna Fali
1025Chavez M CampainAustralia2024-06-18King, Christopher A Esq QUALIFIED97Ivan Magalhaes
1026Salvatore O InouyeBrazil2024-06-05King, Christopher A Esq PROPOSAL92Bernardo Dominic
1027David D BowleyUnited Kingdom2024-06-01Feiner Bros UNQUALIFIED28Asiya Javayant
1028David H SergiFrance2024-05-29Morlong Associates RENEWAL58Stephen Shaw
1029James M GarufiArgentina2024-06-10Chemel, James L Cpa QUALIFIED47Anna Fali
1030Leon C BriddickSpain2024-06-20Morlong Associates PROPOSAL65Onyama Limba
1031Aruna M ShinkoIndia2024-06-18Commercial Press NEW59Bernardo Dominic
1032Rodrigues Z NickaSpain2024-06-23Morlong Associates RENEWAL72Xuxue Feng
1033Antonio I DarakjyUnited Kingdom2024-06-11Printing Dimensions RENEWAL68Ioni Bowcher
1034Nicolas R MacleadSpain2024-06-23Chapman, Ross E Esq RENEWAL21Anna Fali
1035Ivar K RoysterArgentina2024-06-10Chapman, Ross E Esq PROPOSAL49Elwin Sharvill
1036Johnson A BologniaIndia2024-05-27Chanay, Jeffrey A Esq RENEWAL58Bernardo Dominic
1037Murillo S PaprockiIndia2024-06-22Printing Dimensions PROPOSAL6Stephen Shaw
1038Tony G BriddickUnited Kingdom2024-06-03Buckley Miller Wright QUALIFIED56Asiya Javayant
1039Ivar L GillianIndia2024-06-21Feiner Bros NEW69Xuxue Feng
1040Rodrigues M TollnerItaly2024-06-11Dorl, James J Esq PROPOSAL28Bernardo Dominic
1041Izzy A MaletFrance2024-05-29Chanay, Jeffrey A Esq RENEWAL59Anna Fali
1042Juan O MorascaIndia2024-06-08King, Christopher A Esq PROPOSAL10Ioni Bowcher
1043Antonio P FigeroaFrance2024-06-19Feltz Printing Service UNQUALIFIED90Bernardo Dominic
1044Aika R SaylorsBrazil2024-05-27Buckley Miller Wright QUALIFIED1Asiya Javayant
1045Leon I CaudyUnited Kingdom2024-06-12Buckley Miller Wright NEGOTIATION51Stephen Shaw
1046Maisha Z GauchoJapan2024-06-02Printing Dimensions NEW16Amy Elsner
1047Izzy W RutaFrance2024-06-20Morlong Associates NEGOTIATION15Ivan Magalhaes
1048Alejandro K GlickUnited Kingdom2024-06-21Feiner Bros QUALIFIED41Elwin Sharvill
1049James H GlickRussia2024-05-26Chemel, James L Cpa NEW36Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Ricardo C RulapaughItalyAsiya Javayant NEGOTIATION
Misaki M FollerAustraliaElwin Sharvill NEW
Munro D PaprockiRussiaIvan Magalhaes QUALIFIED
Munro I MaletRussiaAnna Fali NEW
Aika W AmigonArgentinaAmy Elsner QUALIFIED
Mayumi R DoeGermanyAsiya Javayant QUALIFIED
Emily S PaprockiAustraliaIoni Bowcher NEGOTIATION
Clifford R DarakjyBrazilAsiya Javayant QUALIFIED
Arvin J PoquetteUnited KingdomBernardo Dominic QUALIFIED
Julie O BriddickSpainAnna Fali PROPOSAL
Adams L PerinCanadaIoni Bowcher RENEWAL
Faith B BologniaRussiaXuxue Feng PROPOSAL
Mujtaba C MarrierCanadaXuxue Feng NEGOTIATION
Wickens H RoysterSpainAsiya Javayant NEW
Antonio A RimCanadaIvan Magalhaes NEW
Jefferson O ShinkoBrazilAmy Elsner UNQUALIFIED
David F SergiFranceAmy Elsner NEW
Darci B NickaBrazilIoni Bowcher NEW
Clifford Y AmigonUnited KingdomIvan Magalhaes QUALIFIED
Kadeem K BriddickGermanyOnyama Limba QUALIFIED
Leja S PerinAustraliaAnna Fali RENEWAL
Emily B FollerItalyAnna Fali QUALIFIED
Maisha I ButtSpainOnyama Limba PROPOSAL
Kadeem E AlbaresSpainAnna Fali NEW
Adams L MaletBrazilXuxue Feng QUALIFIED
Aruna K ButtUnited KingdomAnna Fali NEGOTIATION
Silvio V FollerFranceIoni Bowcher NEW
Claire K MacleadFranceAnna Fali RENEWAL
Murillo Q PerinArgentinaXuxue Feng UNQUALIFIED
Ashley O KolmetzArgentinaAsiya Javayant NEW
Smith H GarufiSpainXuxue Feng NEGOTIATION
Jeanfrancois X SergiArgentinaAmy Elsner NEW
Jennifer N PoquetteGermanyAmy Elsner NEGOTIATION
Octavia O VocelkaJapanStephen Shaw UNQUALIFIED
Munro A InouyeFranceBernardo Dominic UNQUALIFIED
Rodrigues G IturbideJapanIvan Magalhaes QUALIFIED
Leja Q ButtIndiaIoni Bowcher NEW
Jeanfrancois M SergiCanadaOnyama Limba NEW
Murillo F WhobreyCanadaIvan Magalhaes NEW
Rodrigues P OldroydAustraliaElwin Sharvill PROPOSAL
Isabel E VenereRussiaOnyama Limba NEGOTIATION
Leon M RimArgentinaStephen Shaw UNQUALIFIED
Morrow I RutaAustraliaIvan Magalhaes UNQUALIFIED
Leja L MaletRussiaIoni Bowcher NEW
James D WhobreyFranceXuxue Feng NEW
Jeanfrancois F MaletSpainIvan Magalhaes QUALIFIED
Ivar D FigeroaBrazilAmy Elsner NEGOTIATION
Deepesh G BowleyAustraliaStephen Shaw UNQUALIFIED
Sinclair E VenereCanadaAnna Fali NEW
Tony G FerenczIndiaStephen Shaw QUALIFIED
Frozen Columns
Name
Costa K Tollner
Jones F Gillian
James F Schemmer
Juan W Wieser
Francesco T Caudy
Aruna E Rulapaugh
Kaitlin Y Flosi
Emily F Sergi
Darci L Morasca
Greenwood A Garufi
Emily A Saylors
Stacey A Maclead
Rodrigues M Venere
Alejandro X Waycott
Maria P Albares
Emily J Oldroyd
Leon C Kusko
Jones Z Darakjy
Rodrigues V Waycott
Ivar P Briddick
Izzy Q Whobrey
Silvio X Foller
James B Sergi
Morrow R Rulapaugh
Morrow E Ferencz
Salvatore G Nestle
Clifford P Ostrosky
Julie H Butt
Octavia U Kusko
Isabel K Butt
Clifford M Schemmer
Alejandro R Gaucho
Francesco O Ferencz
Isabel W Paprocki
Julie P Campain
Aditya L Dilliard
Jones Z Poquette
Claire L Stockham
Adams D Malet
Alejandro B Nestle
Wickens B Ferencz
Nicolas A Chui
Murillo N Flosi
Julie Q Royster
Deepesh J Saylors
Isabel G Bowley
Aika P Waycott
Jennifer U Flosi
Nicolas M Garufi
Darci Q Bolognia
IdCountryDate
1000Italy2024-06-20
1001Argentina2024-06-04
1002Australia2024-06-04
1003Japan2024-06-22
1004Germany2024-05-27
1005Germany2024-06-18
1006Germany2024-06-23
1007Russia2024-06-14
1008Argentina2024-06-03
1009Australia2024-05-28
1010Germany2024-05-26
1011Brazil2024-06-22
1012United Kingdom2024-06-04
1013Russia2024-06-18
1014France2024-06-09
1015United Kingdom2024-05-28
1016India2024-06-08
1017Germany2024-06-14
1018France2024-06-03
1019Italy2024-06-18
1020India2024-05-31
1021Japan2024-06-23
1022France2024-06-15
1023Russia2024-06-22
1024Brazil2024-06-14
1025Brazil2024-06-23
1026Argentina2024-06-13
1027Canada2024-06-08
1028Canada2024-06-23
1029Japan2024-06-22
1030Russia2024-06-23
1031France2024-06-11
1032United Kingdom2024-05-29
1033Argentina2024-06-12
1034Russia2024-06-15
1035United Kingdom2024-06-10
1036Japan2024-06-13
1037Brazil2024-06-14
1038Russia2024-06-07
1039United Kingdom2024-06-18
1040Germany2024-06-13
1041India2024-05-31
1042Spain2024-06-03
1043Brazil2024-06-17
1044United Kingdom2024-06-09
1045Italy2024-06-01
1046Australia2024-06-24
1047Canada2024-06-14
1048Argentina2024-05-29
1049Germany2024-06-14

On-Demand Data

NameIdCountryDate
Emily W Shinko1000Argentina2024-06-24
Chavez U Caldarera1001Spain2024-06-10
Leon D Stenseth1002Germany2024-05-31
Cody D Maclead1003Brazil2024-06-03
Ivar W Dilliard1004France2024-06-02
Francesco I Stenseth1005Australia2024-06-11
Kaitlin C Glick1006Argentina2024-06-08
Alejandro G Foller1007Argentina2024-06-16
Clifford Z Foller1008Japan2024-06-14
Kadeem Y Glick1009United Kingdom2024-05-31
Jeanfrancois O Albares1010Canada2024-05-30
Juan F Iturbide1011Japan2024-05-28
Chavez T Flosi1012Australia2024-06-21
Claire Y Flosi1013Germany2024-05-30
Isabel R Darakjy1014France2024-06-11
Smith T Kusko1015Canada2024-05-27
Wickens F Maclead1016India2024-05-28
Faith R Caudy1017Italy2024-06-15
Isabel N Poquette1018India2024-06-12
Cody R Shinko1019Italy2024-06-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco B CaldareraAustraliaAmy Elsner NEW
Tony I BologniaItalyStephen Shaw NEGOTIATION
Mayumi X SchemmerJapanAnna Fali PROPOSAL
Ricardo C GillianCanadaOnyama Limba NEGOTIATION
Misaki B ButtCanadaAmy Elsner NEW
Nicolas V SaylorsArgentinaAnna Fali QUALIFIED
Mujtaba B WhobreyRussiaAnna Fali NEW
Morrow O StockhamItalyXuxue Feng NEGOTIATION
Darci Q PaprockiGermanyElwin Sharvill RENEWAL
Maria D MacleadBrazilAmy Elsner NEW
Munro B MaletJapanAnna Fali UNQUALIFIED
Jefferson Y VocelkaJapanAmy Elsner QUALIFIED
Ricardo I OldroydBrazilAsiya Javayant UNQUALIFIED
Darci B InouyeSpainAmy Elsner PROPOSAL
David L KolmetzIndiaBernardo Dominic RENEWAL
Arvin Q DoeUnited KingdomXuxue Feng PROPOSAL
Deepesh C GillianFranceBernardo Dominic NEGOTIATION
Jefferson Y FerenczAustraliaBernardo Dominic RENEWAL
Stacey N NickaArgentinaElwin Sharvill NEW
Maisha A DilliardSpainAmy Elsner RENEWAL
Mayumi O CaudySpainIvan Magalhaes QUALIFIED
Jefferson K IturbideRussiaElwin Sharvill NEGOTIATION
Jones O FigeroaSpainAsiya Javayant NEW
Faith W FigeroaUnited KingdomElwin Sharvill QUALIFIED
Juan W RulapaughBrazilXuxue Feng RENEWAL
Ivar K MorascaAustraliaXuxue Feng QUALIFIED
Deepesh T MaletBrazilAnna Fali UNQUALIFIED
Francesco A BriddickAustraliaStephen Shaw RENEWAL
Chavez C DoeBrazilIvan Magalhaes PROPOSAL
Kadeem D CaldareraArgentinaAnna Fali NEGOTIATION
Rodrigues J AlbaresSpainAnna Fali UNQUALIFIED
Antonio L StensethGermanyAnna Fali NEW
Ricardo K RulapaughFranceOnyama Limba RENEWAL
Alejandro Z CampainBrazilElwin Sharvill UNQUALIFIED
Kadeem W MorascaAustraliaAsiya Javayant NEGOTIATION
Kaitlin U AmigonFranceAnna Fali NEW
Leon F ChuiSpainOnyama Limba RENEWAL
Stacey D SchemmerSpainAnna Fali RENEWAL
Francesco A SergiSpainOnyama Limba UNQUALIFIED
Deepesh D SergiSpainIoni Bowcher 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>