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
Jennifer E PaprockiBrazilAnna Fali NEW
Claire F PaprockiRussiaIvan Magalhaes NEW
Silvio Z MacleadArgentinaIvan Magalhaes RENEWAL
Murillo A BologniaCanadaElwin Sharvill UNQUALIFIED
Cody A KuskoArgentinaIoni Bowcher NEW
Clifford L WhobreyUnited KingdomXuxue Feng NEW
Jeanfrancois F TollnerFranceBernardo Dominic NEW
Sinclair M DilliardCanadaAsiya Javayant RENEWAL
Leon H DoeIndiaXuxue Feng UNQUALIFIED
David Q FerenczItalyAsiya Javayant QUALIFIED
Murillo N OstroskyUnited KingdomStephen Shaw PROPOSAL
Salvatore A StockhamBrazilElwin Sharvill QUALIFIED
Isabel Q AmigonItalyXuxue Feng RENEWAL
Sinclair F SaylorsUnited KingdomAnna Fali UNQUALIFIED
Maria G BowleySpainIoni Bowcher QUALIFIED
Jefferson U DilliardJapanAsiya Javayant PROPOSAL
Aditya Z MorascaIndiaElwin Sharvill QUALIFIED
Octavia I StockhamAustraliaXuxue Feng PROPOSAL
Ricardo G GarufiRussiaAsiya Javayant UNQUALIFIED
Claire D ShinkoCanadaIoni Bowcher RENEWAL
Deepesh F KolmetzSpainXuxue Feng PROPOSAL
Clifford C PerinFranceIvan Magalhaes NEW
Johnson K BologniaFranceIoni Bowcher PROPOSAL
David Q BologniaItalyElwin Sharvill NEGOTIATION
Arvin D BologniaItalyAsiya Javayant UNQUALIFIED
Claire X FlosiJapanXuxue Feng RENEWAL
Jones U BriddickUnited KingdomAnna Fali QUALIFIED
Wickens M AlbaresFranceIvan Magalhaes NEGOTIATION
David W MaletFranceAnna Fali QUALIFIED
Chavez T RoysterArgentinaAmy Elsner UNQUALIFIED
Juan O InouyeCanadaElwin Sharvill RENEWAL
Johnson S DilliardCanadaBernardo Dominic PROPOSAL
Silvio O SergiRussiaIoni Bowcher NEW
Kaitlin R NickaJapanIvan Magalhaes PROPOSAL
Jeanfrancois R WieserItalyBernardo Dominic UNQUALIFIED
Nicolas L PerinRussiaAnna Fali RENEWAL
Octavia T KolmetzJapanElwin Sharvill RENEWAL
Chavez N MarrierItalyAsiya Javayant RENEWAL
Misaki D RoysterSpainIoni Bowcher QUALIFIED
Greenwood E NestleBrazilBernardo Dominic QUALIFIED
Julie E GillianIndiaAmy Elsner UNQUALIFIED
Aruna P AlbaresIndiaElwin Sharvill UNQUALIFIED
Faith X CampainBrazilXuxue Feng UNQUALIFIED
Wickens J AmigonGermanyIvan Magalhaes PROPOSAL
Misaki T IturbideAustraliaBernardo Dominic NEGOTIATION
Cody A WaycottArgentinaBernardo Dominic NEGOTIATION
Aditya E RutaSpainAsiya Javayant QUALIFIED
Morrow O GillianGermanyXuxue Feng NEGOTIATION
Izzy T DilliardBrazilStephen Shaw NEGOTIATION
Cody T MaletCanadaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Octavia L PoquetteSpainIoni Bowcher PROPOSAL
Jennifer T NestleCanadaIvan Magalhaes UNQUALIFIED
Alejandro F BowleyAustraliaAmy Elsner UNQUALIFIED
Jeanfrancois A SlusarskiGermanyXuxue Feng NEGOTIATION
Wickens Y NestleAustraliaElwin Sharvill UNQUALIFIED
Deepesh M WieserJapanXuxue Feng NEW
Darci G VocelkaAustraliaElwin Sharvill NEGOTIATION
Munro T MarrierRussiaXuxue Feng NEW
Jennifer F PoquetteUnited KingdomIoni Bowcher PROPOSAL
Smith B AlbaresIndiaElwin Sharvill UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leja H DarakjyFrance2024-06-15Rangoni Of Florence PROPOSAL55Bernardo Dominic
1001Mujtaba P PerinFrance2024-06-09Chemel, James L Cpa PROPOSAL54Xuxue Feng
1002Aika H KuskoAustralia2024-06-23Printing Dimensions NEGOTIATION74Bernardo Dominic
1003Alejandro T TollnerAustralia2024-06-01Dorl, James J Esq NEGOTIATION44Xuxue Feng
1004Leja C KolmetzItaly2024-06-22Printing Dimensions NEGOTIATION58Stephen Shaw
1005Jones X NestleSpain2024-06-02Rangoni Of Florence NEGOTIATION5Ivan Magalhaes
1006Antonio Y BowleyIndia2024-06-05Morlong Associates NEW83Elwin Sharvill
1007Alejandro E DilliardIndia2024-06-09Benton, John B Jr RENEWAL54Stephen Shaw
1008James S PaprockiFrance2024-06-10Chapman, Ross E Esq PROPOSAL7Asiya Javayant
1009Kadeem E VenereGermany2024-05-25Morlong Associates UNQUALIFIED66Onyama Limba
1010Rodrigues S IturbideBrazil2024-06-17Feiner Bros UNQUALIFIED88Elwin Sharvill
1011Ashley I PaprockiFrance2024-06-21Printing Dimensions PROPOSAL96Stephen Shaw
1012Ashley V MorascaAustralia2024-06-15Printing Dimensions NEW54Ioni Bowcher
1013Mayumi G CaudyAustralia2024-06-06Feiner Bros UNQUALIFIED98Anna Fali
1014Arvin P FigeroaIndia2024-06-20Buckley Miller Wright RENEWAL60Amy Elsner
1015Kadeem G WhobreyItaly2024-06-06Morlong Associates PROPOSAL77Xuxue Feng
1016Juan U SergiGermany2024-06-21Feltz Printing Service NEW22Amy Elsner
1017Mayumi N WhobreySpain2024-06-22Printing Dimensions NEGOTIATION27Amy Elsner
1018Kadeem V WieserItaly2024-05-26Dorl, James J Esq NEW24Stephen Shaw
1019Aika Y InouyeGermany2024-06-18Truhlar And Truhlar Attys NEGOTIATION32Xuxue Feng
1020Aruna Y CampainCanada2024-06-08Dorl, James J Esq QUALIFIED5Anna Fali
1021Arvin E RutaFrance2024-06-15Dorl, James J Esq QUALIFIED49Bernardo Dominic
1022Tony V GauchoJapan2024-06-11Morlong Associates PROPOSAL71Xuxue Feng
1023Mayumi G GarufiIndia2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED18Xuxue Feng
1024Jones X ChuiFrance2024-06-11Truhlar And Truhlar Attys NEW39Onyama Limba
1025Salvatore L IturbideSpain2024-05-31Rousseaux, Michael Esq UNQUALIFIED66Bernardo Dominic
1026Aika H OstroskyJapan2024-06-07Buckley Miller Wright RENEWAL89Amy Elsner
1027Deepesh H SlusarskiBrazil2024-06-05Rousseaux, Michael Esq PROPOSAL41Stephen Shaw
1028Kaitlin O FlosiArgentina2024-06-21Feiner Bros RENEWAL30Stephen Shaw
1029Greenwood F MarrierGermany2024-06-18Chemel, James L Cpa UNQUALIFIED45Xuxue Feng
1030Johnson B WieserFrance2024-06-11Buckley Miller Wright PROPOSAL22Anna Fali
1031Deepesh L TollnerBrazil2024-05-26Commercial Press UNQUALIFIED2Ivan Magalhaes
1032Arvin W PaprockiUnited Kingdom2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED15Xuxue Feng
1033Arvin X SchemmerFrance2024-05-27Benton, John B Jr NEW0Onyama Limba
1034Leon H BriddickGermany2024-06-12Morlong Associates NEW65Elwin Sharvill
1035Maisha W VenereItaly2024-06-13Feltz Printing Service UNQUALIFIED20Anna Fali
1036Leja D DarakjyCanada2024-06-22Rousseaux, Michael Esq UNQUALIFIED17Stephen Shaw
1037Costa T DarakjyRussia2024-06-14Chemel, James L Cpa QUALIFIED5Bernardo Dominic
1038Ashley U KolmetzBrazil2024-05-28Printing Dimensions UNQUALIFIED82Bernardo Dominic
1039Costa D BologniaIndia2024-06-16Chapman, Ross E Esq PROPOSAL42Ioni Bowcher
1040Deepesh H IturbideRussia2024-05-28Feltz Printing Service NEW48Anna Fali
1041Juan P VocelkaBrazil2024-05-29Rangoni Of Florence QUALIFIED94Amy Elsner
1042Isabel X AlbaresFrance2024-06-17King, Christopher A Esq QUALIFIED47Amy Elsner
1043Leja Y KolmetzFrance2024-06-04Buckley Miller Wright UNQUALIFIED92Bernardo Dominic
1044James P NickaSpain2024-05-29Truhlar And Truhlar Attys NEGOTIATION66Bernardo Dominic
1045Jefferson H SergiUnited Kingdom2024-06-21Printing Dimensions UNQUALIFIED2Elwin Sharvill
1046Misaki S NickaJapan2024-05-30Morlong Associates UNQUALIFIED48Asiya Javayant
1047Deepesh M DoeIndia2024-06-03Dorl, James J Esq PROPOSAL50Asiya Javayant
1048Rodrigues Q GlickItaly2024-06-03Rousseaux, Michael Esq QUALIFIED10Ivan Magalhaes
1049Salvatore K NestleRussia2024-06-10Feiner Bros NEW69Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aruna Z CaldareraUnited KingdomIvan Magalhaes PROPOSAL
Silvio T WaycottBrazilStephen Shaw NEGOTIATION
Rodrigues J CaudyRussiaAnna Fali RENEWAL
Murillo P PerinItalyXuxue Feng PROPOSAL
Mayumi L StensethAustraliaAnna Fali QUALIFIED
Munro K BriddickIndiaXuxue Feng NEGOTIATION
Jefferson W MaletGermanyIvan Magalhaes RENEWAL
Chavez Q MacleadGermanyAmy Elsner RENEWAL
Cody Z FlosiArgentinaIoni Bowcher PROPOSAL
Chavez E DilliardGermanyAnna Fali PROPOSAL
Rodrigues G ShinkoFranceXuxue Feng PROPOSAL
James A GlickArgentinaBernardo Dominic UNQUALIFIED
Ashley A AmigonBrazilAmy Elsner UNQUALIFIED
Francesco D SchemmerUnited KingdomIoni Bowcher NEW
Stacey X BriddickArgentinaAnna Fali UNQUALIFIED
Misaki G WieserBrazilStephen Shaw QUALIFIED
Jefferson X GarufiFranceStephen Shaw NEW
Aditya B RoysterGermanyAnna Fali NEW
Maisha W MorascaCanadaAnna Fali RENEWAL
Ivar W VenereRussiaAsiya Javayant PROPOSAL
Alejandro S SergiBrazilElwin Sharvill RENEWAL
Clifford E KuskoItalyAsiya Javayant UNQUALIFIED
Maria T AlbaresRussiaStephen Shaw UNQUALIFIED
Clifford A WieserCanadaXuxue Feng NEGOTIATION
Johnson I GlickArgentinaStephen Shaw UNQUALIFIED
Jefferson S DilliardCanadaXuxue Feng NEGOTIATION
Jefferson P IturbideFranceOnyama Limba UNQUALIFIED
Morrow H WhobreyItalyElwin Sharvill PROPOSAL
James Q RulapaughAustraliaAmy Elsner NEW
Clifford A FollerUnited KingdomAnna Fali PROPOSAL
Tony Q BologniaAustraliaAnna Fali NEGOTIATION
Munro C TollnerIndiaAnna Fali RENEWAL
Rodrigues F MaletJapanElwin Sharvill NEGOTIATION
Ricardo C PoquetteItalyElwin Sharvill NEW
Murillo R BriddickJapanAsiya Javayant RENEWAL
Stacey G InouyeBrazilBernardo Dominic RENEWAL
Rodrigues H MarrierIndiaIoni Bowcher NEW
Ivar W CaudyItalyStephen Shaw NEGOTIATION
Silvio F OstroskyUnited KingdomAnna Fali NEW
Morrow T FerenczAustraliaAmy Elsner PROPOSAL
Nicolas R FerenczUnited KingdomIvan Magalhaes PROPOSAL
Maria Q CaudyRussiaStephen Shaw RENEWAL
Maria L MacleadFranceAsiya Javayant UNQUALIFIED
Antonio E MaletItalyAmy Elsner NEW
Arvin K RulapaughGermanyXuxue Feng PROPOSAL
Ivar U MorascaSpainAsiya Javayant QUALIFIED
Aditya V WieserItalyAmy Elsner NEGOTIATION
Greenwood G CaudySpainIvan Magalhaes RENEWAL
Munro M BowleyJapanAmy Elsner UNQUALIFIED
Jennifer R PaprockiUnited KingdomElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Juan M Inouye
David N Ferencz
Wickens Z Figeroa
Leon N Nicka
Nicolas L Rulapaugh
Kadeem B Iturbide
Stacey V Iturbide
Clifford W Gaucho
Aruna C Kusko
Emily C Kolmetz
Wickens G Briddick
Antonio Z Caldarera
Francesco H Darakjy
Alejandro I Tollner
Ricardo F Butt
Juan G Slusarski
Munro C Paprocki
Cody D Garufi
Claire O Morasca
Chavez V Kolmetz
Silvio U Rulapaugh
Julie U Slusarski
Arvin J Figeroa
Aika I Marrier
Leon D Bolognia
Costa Z Caudy
Tony G Saylors
Isabel K Poquette
Faith U Iturbide
Julie M Saylors
James I Kusko
Julie S Garufi
Clifford H Schemmer
Aruna V Malet
Claire S Doe
Misaki D Darakjy
Silvio M Waycott
Maisha F Caldarera
Jeanfrancois Y Albares
Aditya Q Sergi
Mayumi F Saylors
Jefferson H Glick
Isabel P Morasca
Aika V Vocelka
Sinclair V Stenseth
Francesco K Gillian
Maisha A Garufi
Alejandro T Flosi
Nicolas C Inouye
Chavez Z Stenseth
IdCountryDate
1000France2024-06-18
1001Argentina2024-05-31
1002United Kingdom2024-06-06
1003Brazil2024-06-06
1004Australia2024-05-27
1005Spain2024-06-17
1006Australia2024-05-30
1007Russia2024-06-08
1008Germany2024-06-21
1009Argentina2024-06-18
1010Spain2024-06-06
1011Russia2024-06-05
1012Russia2024-05-29
1013United Kingdom2024-06-07
1014Germany2024-06-02
1015United Kingdom2024-06-19
1016Australia2024-06-20
1017United Kingdom2024-05-25
1018Spain2024-06-07
1019United Kingdom2024-06-17
1020Japan2024-06-15
1021Argentina2024-05-25
1022Australia2024-05-26
1023Germany2024-06-23
1024Japan2024-06-15
1025Brazil2024-06-20
1026Brazil2024-06-14
1027Germany2024-06-18
1028Canada2024-06-19
1029Japan2024-05-26
1030Australia2024-05-28
1031Brazil2024-06-19
1032Japan2024-06-06
1033Brazil2024-06-12
1034Argentina2024-06-01
1035Japan2024-06-03
1036Canada2024-06-12
1037France2024-06-22
1038Canada2024-05-31
1039Brazil2024-05-26
1040Russia2024-06-15
1041Canada2024-06-06
1042Brazil2024-06-20
1043Brazil2024-06-05
1044France2024-06-21
1045Germany2024-05-29
1046Spain2024-06-10
1047Australia2024-06-02
1048Russia2024-06-15
1049Japan2024-06-04

On-Demand Data

NameIdCountryDate
Greenwood U Ruta1000United Kingdom2024-06-11
Julie Y Wieser1001France2024-05-31
Jefferson M Briddick1002Brazil2024-06-05
Leja H Morasca1003Brazil2024-05-30
Jefferson V Venere1004Italy2024-06-09
Ricardo Q Schemmer1005Italy2024-06-18
Ricardo S Gaucho1006Japan2024-06-13
Jennifer P Glick1007France2024-06-04
Francesco H Caldarera1008Japan2024-05-29
Deepesh L Butt1009Canada2024-06-20
Aika O Ferencz1010Australia2024-06-20
Murillo L Glick1011Spain2024-05-29
Silvio I Briddick1012Argentina2024-06-15
Leja Y Darakjy1013India2024-05-27
James P Inouye1014India2024-06-07
Jennifer Z Figeroa1015Canada2024-06-08
James T Caudy1016Italy2024-06-07
Faith I Sergi1017Australia2024-06-18
Mayumi U Wieser1018Australia2024-05-28
Stacey X Ferencz1019Italy2024-06-07
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer U CampainCanadaElwin Sharvill RENEWAL
Ricardo D WieserIndiaXuxue Feng UNQUALIFIED
Kadeem J ShinkoFranceXuxue Feng NEGOTIATION
Nicolas D CaldareraUnited KingdomIoni Bowcher QUALIFIED
Costa K CampainFranceStephen Shaw UNQUALIFIED
Morrow B AlbaresArgentinaXuxue Feng NEW
Julie W BriddickJapanStephen Shaw NEW
Ashley S PaprockiArgentinaAsiya Javayant QUALIFIED
Morrow L RimGermanyAnna Fali NEW
Ashley T PoquetteAustraliaAmy Elsner UNQUALIFIED
Deepesh N RulapaughFranceElwin Sharvill QUALIFIED
Jefferson R AmigonAustraliaAmy Elsner NEW
Tony B SlusarskiGermanyAsiya Javayant UNQUALIFIED
Silvio V CampainJapanOnyama Limba NEGOTIATION
Antonio V PoquetteIndiaStephen Shaw NEGOTIATION
Aditya Z MorascaGermanyElwin Sharvill NEW
Jennifer G MaletSpainAmy Elsner NEW
Cody V ChuiBrazilBernardo Dominic QUALIFIED
Maisha I InouyeBrazilAsiya Javayant PROPOSAL
Clifford V OldroydItalyXuxue Feng PROPOSAL
Leon L WieserFranceIoni Bowcher NEGOTIATION
Francesco J FollerCanadaIvan Magalhaes UNQUALIFIED
Antonio B BriddickAustraliaXuxue Feng QUALIFIED
Antonio K BologniaBrazilXuxue Feng NEGOTIATION
Emily Q DarakjyGermanyAmy Elsner NEW
David C DoeSpainAsiya Javayant NEW
Ivar I PoquetteItalyXuxue Feng NEW
Costa E VocelkaAustraliaOnyama Limba UNQUALIFIED
Murillo K GauchoRussiaIoni Bowcher QUALIFIED
Antonio E RoysterFranceXuxue Feng UNQUALIFIED
Greenwood K MaletSpainXuxue Feng NEW
Francesco O GauchoAustraliaIoni Bowcher UNQUALIFIED
Tony T MorascaBrazilIoni Bowcher PROPOSAL
Jennifer Y PoquetteAustraliaOnyama Limba NEW
Ashley T PerinFranceAnna Fali UNQUALIFIED
Claire H PerinFranceAsiya Javayant UNQUALIFIED
Smith U KolmetzJapanBernardo Dominic RENEWAL
Claire P MacleadJapanOnyama Limba QUALIFIED
Chavez A SaylorsArgentinaAnna Fali QUALIFIED
Ricardo W RutaBrazilElwin Sharvill 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>