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
Johnson F BowleyAustraliaStephen Shaw PROPOSAL
Silvio B MacleadGermanyAsiya Javayant RENEWAL
Jeanfrancois A KuskoItalyBernardo Dominic PROPOSAL
Tony B DilliardJapanIoni Bowcher PROPOSAL
Wickens B GauchoFranceIoni Bowcher QUALIFIED
Arvin S FlosiArgentinaIoni Bowcher QUALIFIED
Juan P AlbaresGermanyAmy Elsner RENEWAL
Salvatore L StockhamJapanStephen Shaw NEW
Isabel O OstroskySpainIoni Bowcher QUALIFIED
Maria Y SchemmerAustraliaIvan Magalhaes NEGOTIATION
Cody R VenereItalyAnna Fali NEGOTIATION
Murillo P OldroydBrazilXuxue Feng UNQUALIFIED
Misaki X OldroydGermanyAnna Fali UNQUALIFIED
Aika L WaycottIndiaIoni Bowcher RENEWAL
Silvio Y DilliardBrazilIoni Bowcher NEGOTIATION
Rodrigues H VocelkaCanadaAnna Fali RENEWAL
Antonio W RimJapanElwin Sharvill NEGOTIATION
Silvio U MaletGermanyIoni Bowcher NEGOTIATION
Stacey Z GlickSpainAsiya Javayant RENEWAL
Tony D SlusarskiItalyElwin Sharvill RENEWAL
Cody T NickaArgentinaAnna Fali QUALIFIED
Jeanfrancois J NickaCanadaIoni Bowcher QUALIFIED
Octavia Y VocelkaIndiaElwin Sharvill RENEWAL
Aditya W BowleyBrazilIoni Bowcher NEGOTIATION
Cody R DarakjyGermanyAnna Fali UNQUALIFIED
Misaki U MaletCanadaIoni Bowcher RENEWAL
Isabel L MacleadSpainAsiya Javayant NEW
Leon Q AmigonFranceStephen Shaw UNQUALIFIED
Murillo S SaylorsFranceAmy Elsner QUALIFIED
Aruna Z CaldareraArgentinaBernardo Dominic NEGOTIATION
Ashley C IturbideIndiaIoni Bowcher RENEWAL
Deepesh Y ChuiFranceIoni Bowcher RENEWAL
Stacey H NickaItalyBernardo Dominic NEW
Stacey X RulapaughSpainStephen Shaw NEGOTIATION
Misaki M AlbaresItalyXuxue Feng NEW
Ricardo U MaletItalyElwin Sharvill PROPOSAL
Wickens Q AmigonAustraliaOnyama Limba PROPOSAL
Jeanfrancois J GillianCanadaStephen Shaw RENEWAL
Rodrigues I KolmetzItalyIvan Magalhaes NEGOTIATION
Morrow I NestleUnited KingdomIvan Magalhaes RENEWAL
Arvin D MarrierRussiaStephen Shaw NEW
Mayumi B MorascaFranceStephen Shaw PROPOSAL
Leja O DoeIndiaStephen Shaw NEW
David R MarrierFranceElwin Sharvill RENEWAL
Ashley G KolmetzArgentinaIvan Magalhaes UNQUALIFIED
Maisha Y TollnerJapanBernardo Dominic NEGOTIATION
Morrow P CampainIndiaAsiya Javayant PROPOSAL
Aika I FerenczIndiaStephen Shaw NEW
Rodrigues U MaletCanadaIoni Bowcher QUALIFIED
Arvin P BologniaItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams C MaletAustraliaIvan Magalhaes QUALIFIED
Nicolas T VenereCanadaAsiya Javayant UNQUALIFIED
Jefferson K SaylorsAustraliaIvan Magalhaes UNQUALIFIED
Deepesh P RimFranceAnna Fali NEW
Jennifer H FerenczIndiaIoni Bowcher QUALIFIED
Ivar N GarufiCanadaStephen Shaw NEGOTIATION
Costa T WieserFranceBernardo Dominic PROPOSAL
Claire U RulapaughItalyStephen Shaw UNQUALIFIED
Stacey J TollnerUnited KingdomOnyama Limba NEW
Antonio J FlosiGermanyAmy Elsner UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro Q FigeroaJapan2024-05-18Printing Dimensions NEGOTIATION26Elwin Sharvill
1001Maria C MorascaUnited Kingdom2024-05-14Truhlar And Truhlar Attys UNQUALIFIED88Bernardo Dominic
1002Isabel O FerenczIndia2024-05-03King, Christopher A Esq RENEWAL31Ivan Magalhaes
1003Adams E GlickJapan2024-05-10Chemel, James L Cpa QUALIFIED91Anna Fali
1004Jefferson L CampainSpain2024-05-06Truhlar And Truhlar Attys QUALIFIED58Stephen Shaw
1005Ashley D GillianAustralia2024-05-13Chemel, James L Cpa NEGOTIATION11Ivan Magalhaes
1006Munro M FigeroaUnited Kingdom2024-05-15Printing Dimensions QUALIFIED50Ivan Magalhaes
1007Salvatore S KolmetzItaly2024-05-13Commercial Press QUALIFIED23Stephen Shaw
1008Rodrigues A DilliardAustralia2024-05-10Rousseaux, Michael Esq RENEWAL52Elwin Sharvill
1009Claire Y DarakjyAustralia2024-05-21Rousseaux, Michael Esq UNQUALIFIED89Amy Elsner
1010Ricardo T NestleSpain2024-05-15Dorl, James J Esq NEGOTIATION96Amy Elsner
1011Johnson E GlickUnited Kingdom2024-05-10Printing Dimensions RENEWAL33Onyama Limba
1012Jeanfrancois D AlbaresAustralia2024-05-18Benton, John B Jr PROPOSAL98Ioni Bowcher
1013Smith L GlickRussia2024-04-29Rousseaux, Michael Esq PROPOSAL12Ivan Magalhaes
1014Chavez N MarrierGermany2024-05-05Chapman, Ross E Esq PROPOSAL77Asiya Javayant
1015Alejandro U PerinGermany2024-05-11Morlong Associates UNQUALIFIED91Stephen Shaw
1016Antonio C DilliardJapan2024-05-01Morlong Associates PROPOSAL68Stephen Shaw
1017Arvin X VocelkaSpain2024-05-24Feiner Bros UNQUALIFIED40Ivan Magalhaes
1018Jeanfrancois L FollerAustralia2024-04-28Chemel, James L Cpa NEW94Xuxue Feng
1019Greenwood U OstroskyItaly2024-05-26Morlong Associates NEGOTIATION75Anna Fali
1020Jones O RimUnited Kingdom2024-05-06Dorl, James J Esq RENEWAL1Elwin Sharvill
1021Aruna I SergiAustralia2024-05-06Morlong Associates QUALIFIED80Anna Fali
1022Sinclair A PaprockiCanada2024-05-09Dorl, James J Esq QUALIFIED71Onyama Limba
1023Juan K WaycottUnited Kingdom2024-05-24Printing Dimensions NEW58Elwin Sharvill
1024Antonio N OstroskyAustralia2024-05-19Dorl, James J Esq QUALIFIED19Amy Elsner
1025Kaitlin Q GauchoIndia2024-05-12Morlong Associates NEW41Amy Elsner
1026Octavia R WieserFrance2024-05-03Truhlar And Truhlar Attys NEW82Ioni Bowcher
1027Salvatore L VenereUnited Kingdom2024-05-17Printing Dimensions QUALIFIED2Elwin Sharvill
1028Clifford P StensethArgentina2024-05-10Dorl, James J Esq NEW58Onyama Limba
1029Sinclair H NestleItaly2024-05-20Truhlar And Truhlar Attys PROPOSAL72Bernardo Dominic
1030Darci M WieserBrazil2024-05-07King, Christopher A Esq RENEWAL61Asiya Javayant
1031Mayumi I CampainUnited Kingdom2024-05-03Feiner Bros NEW30Elwin Sharvill
1032Antonio S CaldareraSpain2024-04-30Dorl, James J Esq RENEWAL41Bernardo Dominic
1033Cody Z SaylorsFrance2024-05-07Rousseaux, Michael Esq PROPOSAL30Xuxue Feng
1034Adams T GlickItaly2024-05-09Chapman, Ross E Esq NEW41Asiya Javayant
1035Misaki K RimUnited Kingdom2024-05-02Rousseaux, Michael Esq NEGOTIATION39Ivan Magalhaes
1036Jones R MaletCanada2024-05-03Feltz Printing Service PROPOSAL54Stephen Shaw
1037Munro U DarakjyGermany2024-05-08Rousseaux, Michael Esq UNQUALIFIED66Xuxue Feng
1038Arvin A SchemmerUnited Kingdom2024-04-28Chemel, James L Cpa QUALIFIED17Anna Fali
1039Stacey W OldroydBrazil2024-05-16Morlong Associates NEW37Ivan Magalhaes
1040Kaitlin P ShinkoJapan2024-05-01Commercial Press QUALIFIED71Onyama Limba
1041Johnson A MarrierAustralia2024-05-23King, Christopher A Esq RENEWAL99Anna Fali
1042James L IturbideUnited Kingdom2024-05-02Commercial Press PROPOSAL93Anna Fali
1043Leja W VenereItaly2024-05-24Rangoni Of Florence NEGOTIATION62Elwin Sharvill
1044Deepesh U FigeroaUnited Kingdom2024-05-21Feiner Bros QUALIFIED56Stephen Shaw
1045Tony N WhobreyRussia2024-05-03Rangoni Of Florence NEGOTIATION19Elwin Sharvill
1046Aditya Z PaprockiIndia2024-05-06Rousseaux, Michael Esq NEGOTIATION91Xuxue Feng
1047Cody B DoeRussia2024-05-13Dorl, James J Esq RENEWAL15Xuxue Feng
1048David A AlbaresIndia2024-05-26Chanay, Jeffrey A Esq PROPOSAL53Stephen Shaw
1049Kaitlin B GillianGermany2024-04-28Rousseaux, Michael Esq NEGOTIATION74Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois I PaprockiJapanAsiya Javayant PROPOSAL
Julie B AmigonRussiaOnyama Limba UNQUALIFIED
Jennifer Q OldroydIndiaAmy Elsner NEW
Aruna K FollerBrazilElwin Sharvill PROPOSAL
Jeanfrancois O ChuiJapanStephen Shaw QUALIFIED
Leja G DarakjyItalyStephen Shaw UNQUALIFIED
Rodrigues J BowleyItalyXuxue Feng NEGOTIATION
Isabel M FigeroaCanadaIvan Magalhaes NEGOTIATION
Wickens M SergiIndiaXuxue Feng UNQUALIFIED
Arvin V GillianFranceOnyama Limba RENEWAL
Murillo R CaudyArgentinaBernardo Dominic NEGOTIATION
Antonio X AmigonJapanElwin Sharvill NEW
Julie U DilliardUnited KingdomElwin Sharvill PROPOSAL
David C BowleyBrazilAsiya Javayant NEGOTIATION
Mayumi S RimBrazilOnyama Limba QUALIFIED
Kadeem I DoeCanadaStephen Shaw NEW
Ivar X MacleadBrazilAsiya Javayant UNQUALIFIED
Nicolas K SlusarskiGermanyXuxue Feng PROPOSAL
Francesco F DilliardSpainStephen Shaw NEGOTIATION
Jones M GauchoRussiaIvan Magalhaes NEGOTIATION
Octavia X DarakjyUnited KingdomStephen Shaw UNQUALIFIED
Deepesh X ButtRussiaXuxue Feng QUALIFIED
Silvio A RimAustraliaStephen Shaw NEW
Jefferson S SchemmerFranceStephen Shaw RENEWAL
Antonio C FollerIndiaElwin Sharvill NEGOTIATION
Alejandro O MaletFranceAmy Elsner PROPOSAL
Izzy R DarakjyCanadaIvan Magalhaes UNQUALIFIED
Ashley E MarrierIndiaOnyama Limba NEW
Misaki A WhobreyFranceOnyama Limba NEGOTIATION
Murillo E NestleArgentinaIvan Magalhaes UNQUALIFIED
Wickens C CaldareraUnited KingdomAsiya Javayant NEGOTIATION
Aika F OstroskyFranceAsiya Javayant RENEWAL
Isabel X RoysterCanadaElwin Sharvill NEW
Johnson T VocelkaJapanStephen Shaw NEW
Aruna X NestleBrazilOnyama Limba NEW
Ivar O WhobreyCanadaElwin Sharvill QUALIFIED
Nicolas Y MorascaRussiaBernardo Dominic NEGOTIATION
James U RimGermanyAsiya Javayant PROPOSAL
Silvio H OldroydGermanyAnna Fali NEGOTIATION
Misaki J VenereRussiaStephen Shaw NEW
Adams H VocelkaJapanBernardo Dominic UNQUALIFIED
Julie S BowleyAustraliaAmy Elsner QUALIFIED
Emily B FlosiFranceBernardo Dominic NEW
Leon G DoeCanadaIvan Magalhaes PROPOSAL
Kadeem R DoeSpainOnyama Limba RENEWAL
Smith R BologniaIndiaAnna Fali NEW
Ivar U CaldareraCanadaOnyama Limba RENEWAL
Wickens A DoeJapanBernardo Dominic NEGOTIATION
Adams O SchemmerFranceAmy Elsner UNQUALIFIED
Francesco P BowleyIndiaAmy Elsner NEGOTIATION
Frozen Columns
Name
Costa R Bowley
Juan S Morasca
Jeanfrancois M Stenseth
Juan C Campain
David O Poquette
Maisha E Inouye
Morrow J Ostrosky
Smith O Albares
Stacey A Rulapaugh
Emily U Foller
Juan B Bowley
Juan K Sergi
Maria Y Glick
Mujtaba M Oldroyd
Aditya X Flosi
Mujtaba X Ferencz
Clifford A Caudy
Cody V Venere
Julie Q Chui
Jones R Maclead
James K Amigon
Kaitlin U Maclead
Faith B Albares
James D Briddick
James C Bolognia
Aditya Y Briddick
Darci R Rulapaugh
Jennifer Z Waycott
Chavez V Figeroa
Mayumi P Slusarski
Octavia X Wieser
Greenwood L Morasca
Salvatore Y Tollner
Deepesh U Kusko
Aditya B Nestle
Smith M Royster
Silvio H Rulapaugh
Wickens D Darakjy
Alejandro A Slusarski
Smith W Malet
Johnson X Figeroa
Izzy S Kolmetz
Antonio J Darakjy
Salvatore G Shinko
Chavez P Poquette
Silvio V Poquette
Jennifer J Bolognia
Jeanfrancois V Figeroa
Munro X Poquette
Jefferson O Ruta
IdCountryDate
1000Spain2024-05-20
1001France2024-05-25
1002India2024-05-25
1003Spain2024-05-13
1004Canada2024-05-07
1005Canada2024-05-06
1006Canada2024-05-11
1007Japan2024-04-30
1008Japan2024-04-28
1009Canada2024-05-25
1010Spain2024-05-14
1011Japan2024-04-28
1012Spain2024-05-15
1013Germany2024-05-26
1014Spain2024-05-12
1015India2024-04-30
1016Russia2024-05-08
1017Germany2024-04-27
1018Germany2024-05-20
1019Germany2024-05-07
1020Germany2024-05-26
1021Spain2024-05-13
1022Italy2024-05-19
1023India2024-05-19
1024France2024-05-20
1025France2024-05-04
1026France2024-05-20
1027Argentina2024-05-09
1028Argentina2024-05-21
1029Australia2024-05-24
1030Argentina2024-05-12
1031United Kingdom2024-05-17
1032Spain2024-05-05
1033Australia2024-04-30
1034Spain2024-05-03
1035Japan2024-05-07
1036Italy2024-05-11
1037Japan2024-05-17
1038India2024-05-17
1039France2024-05-12
1040Germany2024-05-25
1041Japan2024-04-29
1042India2024-05-06
1043Canada2024-05-04
1044France2024-05-14
1045Australia2024-05-18
1046United Kingdom2024-05-12
1047Japan2024-05-11
1048United Kingdom2024-05-07
1049Argentina2024-05-16

On-Demand Data

NameIdCountryDate
Isabel M Sergi1000Japan2024-05-20
Jeanfrancois W Oldroyd1001Germany2024-05-12
Clifford Q Sergi1002Brazil2024-05-15
Izzy V Malet1003Italy2024-05-25
Adams O Ferencz1004Argentina2024-05-09
Salvatore M Malet1005Argentina2024-05-10
Ashley R Nicka1006India2024-05-13
Jones O Bowley1007Spain2024-04-28
Isabel T Malet1008Japan2024-05-23
Costa Z Shinko1009United Kingdom2024-05-18
Jones G Saylors1010India2024-05-20
Jones K Inouye1011Australia2024-05-07
Francesco D Rulapaugh1012Argentina2024-05-11
Leja V Stockham1013India2024-05-11
Octavia K Briddick1014Italy2024-05-05
Maisha D Wieser1015India2024-05-16
Ashley M Oldroyd1016Spain2024-05-02
Munro E Paprocki1017Japan2024-05-22
Jefferson V Ferencz1018United Kingdom2024-05-20
Jeanfrancois Q Sergi1019Brazil2024-05-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel Y KuskoCanadaIoni Bowcher UNQUALIFIED
Smith I MaletAustraliaXuxue Feng RENEWAL
Deepesh Y FollerBrazilStephen Shaw PROPOSAL
Silvio S FollerIndiaBernardo Dominic QUALIFIED
Clifford W MacleadArgentinaXuxue Feng RENEWAL
Kadeem P OldroydAustraliaXuxue Feng NEW
Greenwood M FigeroaSpainStephen Shaw NEGOTIATION
Morrow I ShinkoItalyXuxue Feng RENEWAL
Jefferson K InouyeItalyAmy Elsner PROPOSAL
David M ChuiRussiaStephen Shaw RENEWAL
Faith B KuskoUnited KingdomIoni Bowcher NEGOTIATION
Jones U RimIndiaIoni Bowcher RENEWAL
Stacey U MorascaRussiaStephen Shaw NEGOTIATION
Faith J StensethSpainStephen Shaw UNQUALIFIED
Octavia D WaycottArgentinaOnyama Limba NEW
Greenwood X InouyeArgentinaIoni Bowcher NEGOTIATION
Aruna B OldroydSpainAnna Fali PROPOSAL
Nicolas B WaycottBrazilAmy Elsner PROPOSAL
Costa C AmigonAustraliaAsiya Javayant NEGOTIATION
Cody S AlbaresJapanIvan Magalhaes QUALIFIED
Aruna Q BologniaBrazilIoni Bowcher NEGOTIATION
Cody Y SaylorsGermanyIvan Magalhaes QUALIFIED
Greenwood L MorascaIndiaAnna Fali RENEWAL
Smith X OstroskyJapanIoni Bowcher UNQUALIFIED
Faith I RoysterItalyStephen Shaw UNQUALIFIED
Aika F KolmetzFranceAnna Fali UNQUALIFIED
Jennifer F DilliardBrazilAmy Elsner PROPOSAL
Tony U FlosiFranceAnna Fali RENEWAL
Johnson D VocelkaGermanyAsiya Javayant QUALIFIED
Leja G PerinSpainAmy Elsner NEW
Aruna R ChuiBrazilStephen Shaw NEW
Kadeem W DilliardSpainElwin Sharvill PROPOSAL
Francesco X VocelkaItalyBernardo Dominic NEW
Smith I OstroskyItalyXuxue Feng QUALIFIED
Aruna I StensethFranceAsiya Javayant QUALIFIED
Aruna M DarakjyAustraliaIoni Bowcher UNQUALIFIED
Jennifer K VenereBrazilElwin Sharvill RENEWAL
Nicolas J OldroydJapanBernardo Dominic NEGOTIATION
Arvin F NickaBrazilStephen Shaw UNQUALIFIED
Adams A SlusarskiItalyAmy Elsner 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>