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
Jeanfrancois G MarrierGermanyAsiya Javayant UNQUALIFIED
Ivar D RimIndiaIoni Bowcher UNQUALIFIED
Rodrigues S MaletItalyAmy Elsner NEW
Costa I FigeroaUnited KingdomElwin Sharvill NEW
Juan I FerenczSpainAsiya Javayant NEW
Isabel G GarufiJapanAsiya Javayant NEW
Leja H ShinkoIndiaIvan Magalhaes QUALIFIED
Johnson M RulapaughItalyXuxue Feng UNQUALIFIED
Faith O TollnerFranceOnyama Limba UNQUALIFIED
Munro P GlickAustraliaIvan Magalhaes RENEWAL
James X MaletGermanyAnna Fali RENEWAL
Ricardo J DoeCanadaXuxue Feng PROPOSAL
Jeanfrancois U BriddickUnited KingdomXuxue Feng RENEWAL
Morrow H MarrierGermanyXuxue Feng QUALIFIED
Kaitlin Z FollerAustraliaAnna Fali RENEWAL
Claire L SergiGermanyIvan Magalhaes NEW
Octavia O GlickBrazilAnna Fali RENEWAL
Stacey E ShinkoIndiaStephen Shaw QUALIFIED
Maisha U InouyeRussiaXuxue Feng UNQUALIFIED
Mayumi E GauchoArgentinaStephen Shaw RENEWAL
Adams Z CampainIndiaBernardo Dominic UNQUALIFIED
Alejandro G GarufiIndiaIoni Bowcher UNQUALIFIED
Izzy S GarufiFranceOnyama Limba NEW
Nicolas T WieserIndiaXuxue Feng NEW
Rodrigues O OstroskyIndiaBernardo Dominic QUALIFIED
Smith P FlosiFranceAnna Fali NEGOTIATION
Silvio M MaletFranceIvan Magalhaes NEGOTIATION
Chavez F ChuiItalyBernardo Dominic NEGOTIATION
Arvin D MorascaBrazilIoni Bowcher NEGOTIATION
Kaitlin Q InouyeUnited KingdomAmy Elsner NEW
Kadeem S SchemmerBrazilAmy Elsner UNQUALIFIED
Jefferson E StockhamIndiaIvan Magalhaes NEGOTIATION
Sinclair S TollnerGermanyXuxue Feng NEGOTIATION
Izzy U WhobreyUnited KingdomAsiya Javayant QUALIFIED
Francesco N KuskoCanadaIvan Magalhaes PROPOSAL
Stacey V CampainGermanyXuxue Feng RENEWAL
Chavez S GlickCanadaElwin Sharvill RENEWAL
Silvio S MorascaIndiaBernardo Dominic RENEWAL
Leon A FlosiBrazilBernardo Dominic PROPOSAL
Tony G DoeArgentinaIvan Magalhaes UNQUALIFIED
Ivar R BologniaSpainAsiya Javayant QUALIFIED
Mujtaba X MaletBrazilBernardo Dominic NEW
Cody N KolmetzRussiaAsiya Javayant RENEWAL
Isabel D ShinkoUnited KingdomXuxue Feng PROPOSAL
Jefferson X DilliardUnited KingdomXuxue Feng NEW
Adams H MaletGermanyBernardo Dominic QUALIFIED
James T AlbaresIndiaOnyama Limba PROPOSAL
Clifford C GillianItalyXuxue Feng NEGOTIATION
Misaki C StensethFranceAnna Fali NEW
Ivar E PerinJapanAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Smith R FollerJapanIvan Magalhaes NEGOTIATION
Misaki J StockhamBrazilStephen Shaw QUALIFIED
Chavez L MacleadAustraliaAsiya Javayant NEGOTIATION
Ricardo I VocelkaGermanyStephen Shaw NEW
Sinclair A MorascaItalyXuxue Feng QUALIFIED
Nicolas D BriddickFranceIvan Magalhaes NEGOTIATION
Kaitlin V MorascaIndiaAmy Elsner PROPOSAL
Mayumi D RoysterBrazilAmy Elsner QUALIFIED
Mayumi X StockhamSpainIoni Bowcher NEW
Isabel I KuskoAustraliaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley J FerenczGermany2024-06-20Feltz Printing Service RENEWAL70Ioni Bowcher
1001Maria N KuskoSpain2024-05-29Dorl, James J Esq PROPOSAL60Onyama Limba
1002Misaki O AmigonItaly2024-06-10Truhlar And Truhlar Attys QUALIFIED66Bernardo Dominic
1003Sinclair D DarakjyUnited Kingdom2024-05-27Rousseaux, Michael Esq RENEWAL49Stephen Shaw
1004Juan D FerenczArgentina2024-06-22Feiner Bros RENEWAL7Ioni Bowcher
1005Aditya R FigeroaGermany2024-06-17Buckley Miller Wright QUALIFIED49Ivan Magalhaes
1006Ashley Q PaprockiUnited Kingdom2024-06-01Benton, John B Jr RENEWAL20Bernardo Dominic
1007Leon F KuskoAustralia2024-06-17Commercial Press NEW3Elwin Sharvill
1008Aditya B MarrierIndia2024-05-29Benton, John B Jr PROPOSAL41Stephen Shaw
1009Rodrigues Z PaprockiJapan2024-06-19Feiner Bros NEW10Elwin Sharvill
1010Julie O GarufiSpain2024-05-30Chemel, James L Cpa QUALIFIED2Asiya Javayant
1011Ivar G GauchoGermany2024-05-30Chanay, Jeffrey A Esq QUALIFIED20Anna Fali
1012Jones M InouyeGermany2024-05-30Chapman, Ross E Esq NEGOTIATION60Elwin Sharvill
1013James E CaldareraBrazil2024-06-07Morlong Associates PROPOSAL86Ivan Magalhaes
1014Darci Q MarrierArgentina2024-05-27Truhlar And Truhlar Attys UNQUALIFIED23Elwin Sharvill
1015Faith S VenereIndia2024-06-01Rangoni Of Florence QUALIFIED77Stephen Shaw
1016Mayumi D StensethGermany2024-06-03King, Christopher A Esq NEGOTIATION4Elwin Sharvill
1017Faith Q InouyeFrance2024-06-19Truhlar And Truhlar Attys RENEWAL40Ioni Bowcher
1018Adams N OldroydGermany2024-06-22Benton, John B Jr QUALIFIED52Onyama Limba
1019Cody I DilliardRussia2024-06-23Morlong Associates QUALIFIED60Ioni Bowcher
1020Claire J SchemmerSpain2024-06-02Feiner Bros UNQUALIFIED39Elwin Sharvill
1021Izzy F FlosiFrance2024-05-28Feltz Printing Service UNQUALIFIED32Amy Elsner
1022David M BowleyUnited Kingdom2024-06-08Buckley Miller Wright NEGOTIATION88Ioni Bowcher
1023Darci N OstroskyRussia2024-06-15Commercial Press RENEWAL88Stephen Shaw
1024Emily N MarrierItaly2024-06-09King, Christopher A Esq UNQUALIFIED82Stephen Shaw
1025Faith P FerenczGermany2024-06-19Rangoni Of Florence NEGOTIATION80Asiya Javayant
1026Juan W NickaAustralia2024-06-10Printing Dimensions QUALIFIED71Ivan Magalhaes
1027Maria N RutaGermany2024-06-01Dorl, James J Esq UNQUALIFIED9Xuxue Feng
1028Costa E VenereArgentina2024-06-20Feiner Bros QUALIFIED30Asiya Javayant
1029Emily V SergiSpain2024-06-18Commercial Press PROPOSAL93Xuxue Feng
1030Rodrigues W BowleyItaly2024-06-19Chemel, James L Cpa UNQUALIFIED35Ivan Magalhaes
1031Wickens O GlickItaly2024-06-10Chanay, Jeffrey A Esq PROPOSAL44Anna Fali
1032Arvin Z WhobreyBrazil2024-05-29Chemel, James L Cpa NEW25Bernardo Dominic
1033Maisha B GlickFrance2024-06-21Dorl, James J Esq RENEWAL27Amy Elsner
1034Ivar P BowleyBrazil2024-06-12Chemel, James L Cpa QUALIFIED34Ivan Magalhaes
1035David Q OstroskyUnited Kingdom2024-06-16Rousseaux, Michael Esq NEW83Amy Elsner
1036Emily E OldroydArgentina2024-05-31Dorl, James J Esq QUALIFIED65Xuxue Feng
1037Ivar K SergiSpain2024-05-26Rousseaux, Michael Esq QUALIFIED81Anna Fali
1038Alejandro N RoysterRussia2024-06-08Feiner Bros QUALIFIED8Xuxue Feng
1039Aruna I MaletUnited Kingdom2024-06-01Chanay, Jeffrey A Esq NEW84Bernardo Dominic
1040Ricardo C MaletIndia2024-06-10King, Christopher A Esq QUALIFIED56Onyama Limba
1041Francesco G AlbaresCanada2024-06-09Truhlar And Truhlar Attys RENEWAL54Amy Elsner
1042Johnson P PerinFrance2024-06-22Feiner Bros UNQUALIFIED68Anna Fali
1043Morrow Y StockhamItaly2024-05-29Morlong Associates QUALIFIED32Onyama Limba
1044Leja U MaletUnited Kingdom2024-06-13Rousseaux, Michael Esq RENEWAL96Anna Fali
1045Silvio Z PerinItaly2024-06-23Feltz Printing Service NEGOTIATION36Xuxue Feng
1046Maria C AlbaresFrance2024-06-11Truhlar And Truhlar Attys NEGOTIATION17Onyama Limba
1047Faith D WieserUnited Kingdom2024-06-18Rousseaux, Michael Esq PROPOSAL88Xuxue Feng
1048Aditya W VocelkaItaly2024-05-26Truhlar And Truhlar Attys NEW51Anna Fali
1049Faith Q SaylorsBrazil2024-06-18Chemel, James L Cpa PROPOSAL45Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Johnson C CaldareraFranceAmy Elsner RENEWAL
Ricardo A PoquetteCanadaAmy Elsner RENEWAL
Deepesh C BologniaUnited KingdomAmy Elsner NEW
Cody B WaycottArgentinaElwin Sharvill RENEWAL
Tony I ShinkoItalyElwin Sharvill NEW
Kadeem Z BowleyRussiaElwin Sharvill QUALIFIED
Chavez A FlosiJapanIvan Magalhaes NEGOTIATION
Darci V InouyeFranceIvan Magalhaes QUALIFIED
Darci Q VenereGermanyOnyama Limba PROPOSAL
Greenwood Q RoysterIndiaOnyama Limba NEW
Maria H IturbideSpainAmy Elsner QUALIFIED
Alejandro J MacleadArgentinaBernardo Dominic NEGOTIATION
Murillo U SaylorsFranceIoni Bowcher UNQUALIFIED
Ivar T GlickUnited KingdomAmy Elsner NEGOTIATION
Tony C SchemmerIndiaStephen Shaw PROPOSAL
Aditya X MaletIndiaStephen Shaw QUALIFIED
Ashley D RulapaughRussiaStephen Shaw NEW
Wickens H MaletIndiaBernardo Dominic NEGOTIATION
Morrow O KolmetzArgentinaOnyama Limba UNQUALIFIED
Aditya M GillianJapanAsiya Javayant NEW
Arvin G WaycottCanadaAnna Fali RENEWAL
Morrow R ShinkoIndiaStephen Shaw NEGOTIATION
Arvin C CaudyBrazilXuxue Feng UNQUALIFIED
Ashley L WhobreyCanadaStephen Shaw PROPOSAL
Cody B BologniaFranceElwin Sharvill RENEWAL
Ivar B CaldareraAustraliaAmy Elsner QUALIFIED
Jones J GillianBrazilIoni Bowcher NEGOTIATION
Maria R OstroskyBrazilAmy Elsner NEW
Octavia B CampainIndiaIvan Magalhaes PROPOSAL
Isabel N FlosiRussiaElwin Sharvill UNQUALIFIED
Tony G PaprockiArgentinaBernardo Dominic NEW
Stacey W IturbideItalyOnyama Limba NEGOTIATION
Morrow D GillianRussiaBernardo Dominic NEW
Aika B GarufiRussiaElwin Sharvill NEW
Claire K ShinkoIndiaIoni Bowcher PROPOSAL
Kaitlin T StensethAustraliaIvan Magalhaes NEW
Cody V ChuiUnited KingdomAnna Fali RENEWAL
Jennifer I VenereBrazilIvan Magalhaes PROPOSAL
Maisha T RutaFranceIoni Bowcher QUALIFIED
Salvatore W NestleRussiaXuxue Feng NEGOTIATION
Sinclair P CaldareraArgentinaAmy Elsner QUALIFIED
Johnson N RutaJapanAsiya Javayant UNQUALIFIED
Emily F PoquetteArgentinaElwin Sharvill UNQUALIFIED
Silvio Z NestleRussiaBernardo Dominic PROPOSAL
Costa O GillianArgentinaOnyama Limba QUALIFIED
Costa T NickaGermanyXuxue Feng NEGOTIATION
Sinclair C SaylorsArgentinaElwin Sharvill NEGOTIATION
Kaitlin H StensethItalyStephen Shaw RENEWAL
Murillo E ChuiUnited KingdomIoni Bowcher NEW
Kadeem V GarufiItalyAnna Fali NEGOTIATION
Frozen Columns
Name
Emily O Tollner
Ivar Q Amigon
Jennifer V Wieser
Claire E Dilliard
Juan F Kolmetz
Jones J Stockham
Misaki P Doe
Tony O Malet
Johnson Q Poquette
Aditya M Oldroyd
Cody E Iturbide
Cody D Waycott
Costa Z Royster
David V Dilliard
Maisha E Schemmer
Leon J Rim
Francesco S Ruta
Jennifer T Saylors
Francesco D Gillian
Maisha B Stockham
Aruna F Perin
Sinclair Z Paprocki
Rodrigues H Chui
Kadeem S Maclead
Jennifer P Foller
Aika A Inouye
Aditya I Flosi
Antonio T Ferencz
Greenwood V Iturbide
Maria A Figeroa
Kadeem O Rim
Mayumi M Doe
Maria I Tollner
Mayumi X Kusko
Ivar V Amigon
Adams X Figeroa
Mujtaba U Paprocki
Faith N Ferencz
Morrow D Wieser
Stacey U Nicka
Mujtaba W Flosi
Chavez Z Stockham
Cody U Gaucho
Jennifer J Ferencz
Jennifer X Perin
Ricardo T Oldroyd
Aika Q Tollner
Chavez T Caudy
Jennifer T Dilliard
Alejandro X Butt
IdCountryDate
1000Russia2024-06-20
1001Argentina2024-05-26
1002Germany2024-05-29
1003Brazil2024-06-23
1004Germany2024-06-19
1005France2024-06-17
1006Japan2024-06-05
1007Argentina2024-06-13
1008United Kingdom2024-06-17
1009Spain2024-06-20
1010United Kingdom2024-06-10
1011France2024-06-13
1012Spain2024-06-23
1013Brazil2024-06-16
1014Russia2024-05-27
1015Canada2024-06-20
1016Italy2024-06-14
1017Spain2024-06-24
1018France2024-06-01
1019Brazil2024-06-18
1020Italy2024-06-05
1021Japan2024-06-19
1022Spain2024-06-10
1023Canada2024-06-04
1024Russia2024-06-21
1025India2024-06-21
1026Germany2024-06-01
1027Brazil2024-06-23
1028Australia2024-06-18
1029United Kingdom2024-05-28
1030United Kingdom2024-06-23
1031Russia2024-05-28
1032Russia2024-05-30
1033France2024-06-24
1034Russia2024-05-31
1035France2024-06-01
1036India2024-06-16
1037France2024-05-29
1038Brazil2024-06-24
1039Japan2024-06-11
1040Australia2024-05-26
1041Argentina2024-06-04
1042Canada2024-05-26
1043Italy2024-06-22
1044France2024-05-26
1045Italy2024-06-13
1046Germany2024-05-30
1047Brazil2024-06-14
1048Brazil2024-06-02
1049Argentina2024-06-01

On-Demand Data

NameIdCountryDate
Adams J Wieser1000Italy2024-06-09
James E Garufi1001Japan2024-05-31
Antonio X Rulapaugh1002Germany2024-05-29
Aruna J Flosi1003Argentina2024-06-02
Salvatore R Figeroa1004Australia2024-06-10
Salvatore A Ferencz1005Brazil2024-05-26
Mayumi M Paprocki1006Australia2024-05-29
Maisha M Maclead1007Canada2024-06-03
Mayumi S Marrier1008Canada2024-06-04
Maisha J Saylors1009Germany2024-06-01
Munro F Vocelka1010United Kingdom2024-06-21
Salvatore G Darakjy1011Australia2024-06-04
Stacey P Wieser1012United Kingdom2024-06-21
Leon G Nestle1013India2024-06-18
Ricardo T Darakjy1014France2024-06-14
Greenwood D Whobrey1015India2024-05-27
Deepesh V Poquette1016Australia2024-05-26
Maria T Kolmetz1017United Kingdom2024-06-11
Misaki K Iturbide1018United Kingdom2024-06-17
David B Flosi1019Germany2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Cody S AmigonFranceOnyama Limba NEGOTIATION
Julie T VenereRussiaElwin Sharvill PROPOSAL
Leon X FigeroaJapanXuxue Feng UNQUALIFIED
Faith Y SaylorsJapanXuxue Feng PROPOSAL
Nicolas C PerinFranceXuxue Feng PROPOSAL
Alejandro B GillianIndiaBernardo Dominic NEW
Emily R ShinkoFranceXuxue Feng QUALIFIED
Clifford T CampainCanadaAsiya Javayant QUALIFIED
Costa B GillianCanadaElwin Sharvill NEW
James Q SchemmerIndiaAsiya Javayant RENEWAL
Smith Z WieserSpainStephen Shaw PROPOSAL
Francesco F CampainArgentinaAsiya Javayant PROPOSAL
Darci Z CaudyItalyStephen Shaw RENEWAL
Emily P SergiArgentinaOnyama Limba RENEWAL
Kaitlin O DarakjyGermanyIoni Bowcher RENEWAL
Kadeem N MorascaJapanAsiya Javayant NEW
Jennifer X AmigonFranceIvan Magalhaes QUALIFIED
Jones S ButtArgentinaAnna Fali PROPOSAL
Jeanfrancois O BriddickJapanIvan Magalhaes NEGOTIATION
Tony E FerenczRussiaIoni Bowcher QUALIFIED
Julie E VocelkaUnited KingdomAsiya Javayant QUALIFIED
Morrow H AmigonBrazilElwin Sharvill PROPOSAL
James V PaprockiAustraliaAmy Elsner NEGOTIATION
Francesco T SlusarskiGermanyAsiya Javayant PROPOSAL
Ricardo B FollerItalyAsiya Javayant NEW
Kaitlin L PoquetteRussiaIoni Bowcher RENEWAL
Ashley K KolmetzItalyAmy Elsner PROPOSAL
Salvatore N BologniaArgentinaAmy Elsner NEGOTIATION
Misaki Q AmigonGermanyIvan Magalhaes RENEWAL
Smith B RoysterItalyAmy Elsner NEGOTIATION
Isabel Q BowleyBrazilIvan Magalhaes NEGOTIATION
Misaki Z SlusarskiBrazilXuxue Feng QUALIFIED
Sinclair I OstroskyFranceXuxue Feng RENEWAL
Kaitlin Q DarakjyGermanyOnyama Limba RENEWAL
Claire K ChuiSpainAnna Fali PROPOSAL
Francesco C CampainCanadaElwin Sharvill PROPOSAL
Antonio Y DilliardArgentinaIvan Magalhaes UNQUALIFIED
Wickens Q SaylorsArgentinaAnna Fali RENEWAL
David H SchemmerItalyOnyama Limba PROPOSAL
Deepesh J RulapaughRussiaAnna Fali NEW

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