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
Izzy S BologniaCanadaBernardo Dominic PROPOSAL
Stacey E CampainSpainIvan Magalhaes QUALIFIED
Francesco Y ShinkoItalyBernardo Dominic UNQUALIFIED
Darci K RimItalyXuxue Feng RENEWAL
Mujtaba P FlosiRussiaXuxue Feng NEGOTIATION
Adams E TollnerJapanIvan Magalhaes NEW
Isabel J RutaArgentinaBernardo Dominic RENEWAL
Isabel M OldroydItalyIvan Magalhaes UNQUALIFIED
Antonio W DilliardIndiaAnna Fali UNQUALIFIED
James K DarakjyRussiaIvan Magalhaes NEW
Johnson G TollnerJapanElwin Sharvill NEW
Johnson C VocelkaFranceXuxue Feng QUALIFIED
Rodrigues E SlusarskiFranceAmy Elsner QUALIFIED
Claire W SergiItalyAsiya Javayant QUALIFIED
Faith L CaudyItalyStephen Shaw NEW
Alejandro X RutaAustraliaIoni Bowcher NEW
Deepesh Q CaudyArgentinaXuxue Feng UNQUALIFIED
Leja U RimIndiaElwin Sharvill QUALIFIED
Murillo U PaprockiArgentinaAmy Elsner PROPOSAL
Wickens G AmigonUnited KingdomIvan Magalhaes RENEWAL
Octavia R ButtRussiaBernardo Dominic NEGOTIATION
Ivar X ShinkoIndiaIoni Bowcher UNQUALIFIED
Misaki F FollerAustraliaIvan Magalhaes NEW
Cody N AmigonAustraliaIoni Bowcher PROPOSAL
Murillo D GauchoBrazilIoni Bowcher RENEWAL
Maria Y BologniaFranceStephen Shaw QUALIFIED
Jennifer V MaletUnited KingdomXuxue Feng UNQUALIFIED
Smith U PoquetteSpainBernardo Dominic UNQUALIFIED
Chavez R PerinJapanElwin Sharvill RENEWAL
Jeanfrancois L MaletUnited KingdomXuxue Feng RENEWAL
Leja M VocelkaSpainElwin Sharvill NEGOTIATION
Misaki B InouyeUnited KingdomXuxue Feng RENEWAL
Deepesh X FigeroaJapanIoni Bowcher PROPOSAL
Silvio M ShinkoSpainOnyama Limba NEGOTIATION
Costa T RutaGermanyIvan Magalhaes PROPOSAL
Jefferson C SchemmerAustraliaXuxue Feng UNQUALIFIED
Alejandro M PaprockiAustraliaAnna Fali PROPOSAL
Alejandro G VenereSpainIvan Magalhaes NEW
Costa Q SergiSpainElwin Sharvill NEGOTIATION
Tony J FigeroaBrazilXuxue Feng NEW
Ashley O BologniaItalyXuxue Feng NEW
Tony U GarufiGermanyIoni Bowcher RENEWAL
Julie O DilliardRussiaXuxue Feng PROPOSAL
Maisha Q ShinkoJapanAmy Elsner PROPOSAL
Antonio P DilliardItalyBernardo Dominic RENEWAL
Maisha E FerenczUnited KingdomAsiya Javayant QUALIFIED
Maria H FollerRussiaStephen Shaw PROPOSAL
Antonio U DoeSpainOnyama Limba NEW
Jefferson C PoquetteFranceBernardo Dominic RENEWAL
Ivar T BowleyAustraliaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Cody N AmigonGermanyAnna Fali UNQUALIFIED
Ivar H MacleadSpainAsiya Javayant RENEWAL
Alejandro U FollerIndiaIoni Bowcher UNQUALIFIED
Faith D RoysterJapanOnyama Limba UNQUALIFIED
Alejandro L SergiItalyAnna Fali NEGOTIATION
Arvin R RulapaughJapanIoni Bowcher PROPOSAL
Mujtaba H FollerItalyAsiya Javayant NEW
Kadeem F GlickArgentinaStephen Shaw RENEWAL
Darci J SaylorsSpainElwin Sharvill NEGOTIATION
Smith J FerenczJapanBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jefferson N StensethArgentina2024-05-12Buckley Miller Wright QUALIFIED57Ivan Magalhaes
1001Chavez J ChuiSpain2024-05-26Rangoni Of Florence QUALIFIED93Elwin Sharvill
1002Emily F FollerBrazil2024-05-12Buckley Miller Wright RENEWAL14Asiya Javayant
1003Jeanfrancois X WaycottCanada2024-04-28Chapman, Ross E Esq QUALIFIED71Bernardo Dominic
1004Aruna I RutaBrazil2024-05-23Chemel, James L Cpa NEGOTIATION75Ioni Bowcher
1005James D ButtJapan2024-05-12King, Christopher A Esq PROPOSAL39Elwin Sharvill
1006Greenwood I BriddickIndia2024-04-30Rangoni Of Florence NEW12Onyama Limba
1007Juan V FollerSpain2024-05-19Chapman, Ross E Esq QUALIFIED93Anna Fali
1008Smith T VocelkaAustralia2024-04-30Rousseaux, Michael Esq RENEWAL13Bernardo Dominic
1009Nicolas K VocelkaItaly2024-05-15Dorl, James J Esq UNQUALIFIED1Onyama Limba
1010Julie D PerinCanada2024-05-07Morlong Associates UNQUALIFIED35Onyama Limba
1011Arvin F BriddickSpain2024-05-21Feiner Bros RENEWAL15Ivan Magalhaes
1012Francesco G DarakjySpain2024-05-21Printing Dimensions QUALIFIED96Asiya Javayant
1013Octavia Q SchemmerArgentina2024-05-20Rousseaux, Michael Esq NEW49Amy Elsner
1014Chavez K FollerBrazil2024-05-02Feiner Bros PROPOSAL47Ivan Magalhaes
1015Julie C WaycottSpain2024-05-20Printing Dimensions QUALIFIED3Onyama Limba
1016Greenwood Y BowleySpain2024-05-26Chapman, Ross E Esq RENEWAL0Onyama Limba
1017Kaitlin O VenereJapan2024-05-24King, Christopher A Esq QUALIFIED89Asiya Javayant
1018Adams X ButtFrance2024-05-01Commercial Press PROPOSAL90Stephen Shaw
1019Wickens H IturbideItaly2024-05-14Commercial Press PROPOSAL52Ivan Magalhaes
1020Izzy T WaycottAustralia2024-05-05Chapman, Ross E Esq PROPOSAL29Elwin Sharvill
1021Smith L SergiSpain2024-05-15Dorl, James J Esq RENEWAL55Asiya Javayant
1022Mayumi V AmigonRussia2024-05-27Morlong Associates PROPOSAL32Stephen Shaw
1023Jeanfrancois T AmigonCanada2024-05-07Feiner Bros UNQUALIFIED47Onyama Limba
1024Maisha D CaudyGermany2024-05-09Chapman, Ross E Esq NEGOTIATION4Xuxue Feng
1025Octavia A NickaJapan2024-05-27Benton, John B Jr RENEWAL42Ivan Magalhaes
1026Jefferson F DarakjyItaly2024-05-23Rousseaux, Michael Esq RENEWAL41Ivan Magalhaes
1027Arvin H SchemmerAustralia2024-05-09Morlong Associates RENEWAL50Asiya Javayant
1028Stacey K DoeFrance2024-04-29Rangoni Of Florence RENEWAL14Anna Fali
1029Salvatore H GlickAustralia2024-05-07King, Christopher A Esq PROPOSAL24Ivan Magalhaes
1030James P WaycottItaly2024-05-15Benton, John B Jr RENEWAL69Xuxue Feng
1031Johnson A OldroydCanada2024-05-24Chapman, Ross E Esq RENEWAL68Bernardo Dominic
1032Wickens Z FlosiCanada2024-05-26Feiner Bros UNQUALIFIED60Elwin Sharvill
1033Chavez Y WhobreyJapan2024-05-16Morlong Associates PROPOSAL55Ivan Magalhaes
1034Clifford S PerinRussia2024-05-12Truhlar And Truhlar Attys NEGOTIATION30Elwin Sharvill
1035Maisha O NickaFrance2024-05-24Benton, John B Jr PROPOSAL66Bernardo Dominic
1036Smith Q FigeroaItaly2024-05-01Feltz Printing Service UNQUALIFIED89Ioni Bowcher
1037Adams T FerenczIndia2024-05-12Truhlar And Truhlar Attys RENEWAL13Amy Elsner
1038Jennifer H PaprockiSpain2024-05-20Truhlar And Truhlar Attys QUALIFIED17Xuxue Feng
1039Darci J CampainGermany2024-05-16Printing Dimensions UNQUALIFIED36Amy Elsner
1040Jeanfrancois V CaldareraUnited Kingdom2024-05-23Truhlar And Truhlar Attys NEGOTIATION15Onyama Limba
1041Greenwood R OldroydBrazil2024-05-13Chapman, Ross E Esq QUALIFIED33Xuxue Feng
1042Antonio L RulapaughFrance2024-05-05Chanay, Jeffrey A Esq UNQUALIFIED54Stephen Shaw
1043Deepesh L FerenczAustralia2024-05-04Rousseaux, Michael Esq UNQUALIFIED9Xuxue Feng
1044Aruna T KolmetzBrazil2024-05-12Commercial Press NEW51Stephen Shaw
1045Johnson D CaldareraSpain2024-05-16Rousseaux, Michael Esq NEGOTIATION27Elwin Sharvill
1046Misaki V MaletRussia2024-05-15Rangoni Of Florence QUALIFIED78Elwin Sharvill
1047Isabel Y CampainJapan2024-05-26Feiner Bros QUALIFIED74Elwin Sharvill
1048Morrow J NickaSpain2024-05-12Truhlar And Truhlar Attys RENEWAL90Xuxue Feng
1049Misaki Q WaycottUnited Kingdom2024-05-25Rangoni Of Florence QUALIFIED82Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Isabel R PerinJapanAsiya Javayant NEW
Nicolas W WhobreySpainIoni Bowcher PROPOSAL
Chavez R GillianRussiaAsiya Javayant NEGOTIATION
Chavez N KolmetzArgentinaXuxue Feng UNQUALIFIED
Kaitlin W DoeArgentinaXuxue Feng NEW
Cody M BriddickGermanyAmy Elsner NEGOTIATION
Aditya X DoeFranceStephen Shaw UNQUALIFIED
Isabel G DarakjyRussiaAnna Fali QUALIFIED
Arvin I RoysterArgentinaElwin Sharvill RENEWAL
Claire C StockhamUnited KingdomIvan Magalhaes PROPOSAL
Misaki T DoeUnited KingdomOnyama Limba NEW
Jefferson Z FlosiItalyOnyama Limba UNQUALIFIED
Juan Z AmigonFranceIoni Bowcher UNQUALIFIED
Jennifer H AmigonArgentinaStephen Shaw PROPOSAL
Leon C AlbaresJapanAnna Fali NEGOTIATION
Adams P MarrierArgentinaAsiya Javayant NEGOTIATION
Johnson U VenereIndiaAsiya Javayant NEGOTIATION
Maisha V DarakjyGermanyStephen Shaw NEW
Costa G CaudyIndiaBernardo Dominic NEGOTIATION
Emily I SchemmerFranceBernardo Dominic NEW
Ricardo P InouyeRussiaXuxue Feng RENEWAL
Isabel Z PoquetteSpainAsiya Javayant UNQUALIFIED
Costa Z DilliardUnited KingdomOnyama Limba NEGOTIATION
Juan I VocelkaFranceElwin Sharvill QUALIFIED
Rodrigues D SchemmerCanadaIoni Bowcher NEGOTIATION
Rodrigues A BowleyGermanyElwin Sharvill UNQUALIFIED
Faith I IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Morrow B SchemmerBrazilAsiya Javayant QUALIFIED
Greenwood C StensethArgentinaXuxue Feng PROPOSAL
Ricardo O VenereFranceAnna Fali UNQUALIFIED
Izzy O IturbideGermanyElwin Sharvill UNQUALIFIED
Salvatore A RoysterBrazilXuxue Feng NEGOTIATION
Misaki K FlosiBrazilBernardo Dominic NEGOTIATION
Clifford V NestleSpainAmy Elsner RENEWAL
Arvin N KolmetzArgentinaAsiya Javayant UNQUALIFIED
Kadeem T MacleadIndiaStephen Shaw RENEWAL
Kadeem P ShinkoArgentinaOnyama Limba PROPOSAL
Misaki W StockhamSpainAnna Fali PROPOSAL
Salvatore D ShinkoJapanIvan Magalhaes QUALIFIED
Emily X CampainFranceXuxue Feng NEGOTIATION
Nicolas T OstroskyItalyAmy Elsner NEW
Aika L MorascaUnited KingdomAmy Elsner NEGOTIATION
Silvio Q SaylorsUnited KingdomIvan Magalhaes PROPOSAL
Leon V SergiSpainOnyama Limba NEW
Isabel N BologniaGermanyElwin Sharvill UNQUALIFIED
Aruna F ButtJapanXuxue Feng RENEWAL
Izzy T PerinGermanyAsiya Javayant UNQUALIFIED
Clifford F RulapaughCanadaXuxue Feng UNQUALIFIED
Jones G OldroydUnited KingdomIoni Bowcher RENEWAL
Leja X RulapaughAustraliaAnna Fali RENEWAL
Frozen Columns
Name
Smith U Chui
Aditya O Ferencz
Nicolas N Perin
Cody L Perin
David H Chui
Misaki G Figeroa
Silvio J Paprocki
Tony Y Venere
Munro Q Ferencz
Tony T Maclead
Salvatore W Stockham
Jeanfrancois B Malet
Juan Y Doe
Julie H Amigon
Octavia B Royster
Adams G Glick
Aditya B Malet
Ashley M Morasca
Ricardo O Wieser
Leon V Figeroa
Emily H Maclead
Mujtaba W Morasca
Jennifer H Slusarski
Nicolas O Wieser
Mujtaba C Gillian
Leon Z Garufi
Cody C Bolognia
Greenwood Z Amigon
Greenwood S Oldroyd
Arvin W Rim
Kadeem B Oldroyd
Costa C Albares
Tony O Oldroyd
Claire C Gaucho
Sinclair J Inouye
Cody M Poquette
Silvio T Poquette
Deepesh C Doe
Julie K Briddick
James K Doe
Kaitlin I Malet
Kaitlin N Flosi
Jeanfrancois P Ruta
Aika O Ostrosky
Munro R Gillian
Adams Z Tollner
Smith J Marrier
Leon O Wieser
Smith M Kolmetz
Darci G Kusko
IdCountryDate
1000Australia2024-04-30
1001Russia2024-05-03
1002Australia2024-05-06
1003Germany2024-05-22
1004Canada2024-05-16
1005Canada2024-05-23
1006India2024-05-05
1007Argentina2024-05-08
1008India2024-05-21
1009Canada2024-05-11
1010United Kingdom2024-05-03
1011United Kingdom2024-05-05
1012Argentina2024-05-11
1013Spain2024-05-26
1014Spain2024-05-01
1015France2024-05-25
1016Australia2024-05-03
1017Japan2024-05-04
1018France2024-05-18
1019Canada2024-05-20
1020Argentina2024-05-04
1021United Kingdom2024-05-21
1022Spain2024-05-10
1023Japan2024-05-03
1024India2024-05-17
1025Canada2024-05-24
1026Argentina2024-05-02
1027Italy2024-05-20
1028United Kingdom2024-04-29
1029India2024-05-13
1030Italy2024-05-21
1031Germany2024-05-24
1032Brazil2024-05-27
1033India2024-05-22
1034Argentina2024-04-30
1035Japan2024-04-28
1036France2024-05-02
1037Brazil2024-05-01
1038Australia2024-05-07
1039Japan2024-05-07
1040India2024-05-27
1041Brazil2024-05-10
1042Brazil2024-05-27
1043Spain2024-05-15
1044Brazil2024-05-25
1045United Kingdom2024-05-15
1046Italy2024-05-13
1047Spain2024-05-23
1048Argentina2024-05-11
1049Russia2024-05-16

On-Demand Data

NameIdCountryDate
Aika F Nicka1000India2024-05-23
Julie K Figeroa1001Australia2024-04-29
Francesco V Slusarski1002Brazil2024-05-11
Aika Q Malet1003Spain2024-05-10
Mayumi G Amigon1004Canada2024-05-11
Kadeem S Dilliard1005Spain2024-05-05
Silvio I Waycott1006Argentina2024-05-09
Munro L Caudy1007Spain2024-04-28
Costa A Saylors1008Spain2024-04-28
Mujtaba R Tollner1009United Kingdom2024-05-27
Tony K Venere1010Spain2024-05-13
Juan P Vocelka1011France2024-05-13
Claire A Bolognia1012Russia2024-05-16
Salvatore H Ruta1013France2024-05-22
Leon A Rulapaugh1014France2024-05-16
Juan G Sergi1015United Kingdom2024-04-28
Ivar S Oldroyd1016Brazil2024-05-25
Nicolas B Whobrey1017Japan2024-05-02
Jones U Gaucho1018Spain2024-04-30
Aika M Chui1019Japan2024-05-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba V SchemmerJapanAsiya Javayant NEGOTIATION
Alejandro V VocelkaArgentinaStephen Shaw NEW
Wickens W CampainRussiaBernardo Dominic RENEWAL
Julie M ShinkoAustraliaStephen Shaw QUALIFIED
Jefferson Y RutaAustraliaAsiya Javayant PROPOSAL
James R CaldareraFranceOnyama Limba QUALIFIED
Smith B MarrierUnited KingdomStephen Shaw NEGOTIATION
Alejandro H CampainUnited KingdomStephen Shaw QUALIFIED
Nicolas B FollerGermanyOnyama Limba QUALIFIED
Aruna F CaudyJapanIvan Magalhaes PROPOSAL
Leon N CaudySpainIoni Bowcher RENEWAL
Aika H BologniaIndiaXuxue Feng NEGOTIATION
Deepesh Q MarrierIndiaElwin Sharvill UNQUALIFIED
Kadeem Y StockhamFranceIvan Magalhaes RENEWAL
Isabel G IturbideCanadaAnna Fali NEW
Leja E InouyeGermanyStephen Shaw NEW
Ivar L PoquetteItalyXuxue Feng PROPOSAL
Octavia W KolmetzRussiaStephen Shaw NEW
Alejandro X OstroskyCanadaXuxue Feng NEGOTIATION
Rodrigues R OldroydCanadaBernardo Dominic RENEWAL
Octavia T ButtAustraliaElwin Sharvill QUALIFIED
Claire U OldroydRussiaAsiya Javayant UNQUALIFIED
Antonio T FollerJapanStephen Shaw PROPOSAL
Deepesh C WieserGermanyAsiya Javayant PROPOSAL
Aruna G BowleyArgentinaAsiya Javayant NEW
Johnson T BriddickFranceXuxue Feng RENEWAL
Silvio N RutaFranceAnna Fali NEGOTIATION
Munro C PerinCanadaBernardo Dominic QUALIFIED
Isabel L GlickArgentinaIoni Bowcher PROPOSAL
Antonio U WhobreyItalyStephen Shaw UNQUALIFIED
Emily K OldroydAustraliaAmy Elsner NEGOTIATION
Smith M InouyeCanadaIoni Bowcher PROPOSAL
Izzy G DoeFranceStephen Shaw PROPOSAL
Aika N InouyeItalyStephen Shaw RENEWAL
Murillo F OstroskyGermanyXuxue Feng PROPOSAL
Arvin V IturbideSpainElwin Sharvill QUALIFIED
Clifford I MarrierAustraliaIoni Bowcher NEGOTIATION
Morrow I GlickItalyAmy Elsner UNQUALIFIED
Kaitlin A OldroydJapanOnyama Limba PROPOSAL
Aruna S IturbideGermanyBernardo Dominic 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>