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
Costa Y CaldareraJapanXuxue Feng QUALIFIED
Ivar U FigeroaFranceAmy Elsner QUALIFIED
David T TollnerArgentinaOnyama Limba RENEWAL
Arvin M RulapaughFranceStephen Shaw QUALIFIED
Greenwood Y PoquetteItalyAmy Elsner UNQUALIFIED
Jeanfrancois S MorascaRussiaAnna Fali RENEWAL
Leja T FerenczUnited KingdomXuxue Feng QUALIFIED
Izzy H CampainFranceIoni Bowcher NEW
Francesco O SaylorsGermanyAsiya Javayant QUALIFIED
Jefferson K GarufiAustraliaElwin Sharvill QUALIFIED
Kadeem F RoysterJapanAmy Elsner NEW
Faith N FerenczBrazilBernardo Dominic UNQUALIFIED
Jeanfrancois N PerinBrazilAmy Elsner UNQUALIFIED
Alejandro R CampainCanadaAsiya Javayant RENEWAL
Jeanfrancois T OstroskyJapanOnyama Limba NEW
Faith U MaletCanadaElwin Sharvill RENEWAL
Darci I NestleGermanyXuxue Feng RENEWAL
Izzy C KolmetzAustraliaElwin Sharvill RENEWAL
Octavia J PaprockiAustraliaXuxue Feng PROPOSAL
Jeanfrancois Y GauchoSpainBernardo Dominic PROPOSAL
Octavia N CampainItalyStephen Shaw NEW
David L MaletCanadaAmy Elsner RENEWAL
Leon F DoeGermanyAnna Fali NEGOTIATION
James O ButtAustraliaAnna Fali NEGOTIATION
Morrow S CaudyCanadaBernardo Dominic NEW
Francesco Y DilliardRussiaAnna Fali NEGOTIATION
Chavez Z MacleadItalyXuxue Feng QUALIFIED
Ivar B CampainSpainXuxue Feng NEGOTIATION
Munro G KolmetzArgentinaBernardo Dominic NEW
Izzy M SchemmerBrazilAmy Elsner NEW
Emily Z FerenczGermanyElwin Sharvill UNQUALIFIED
Jeanfrancois R DoeJapanElwin Sharvill PROPOSAL
Mujtaba C RulapaughGermanyAmy Elsner NEW
Izzy V KuskoIndiaAmy Elsner NEW
Silvio X BologniaAustraliaAmy Elsner NEGOTIATION
Rodrigues P MaletSpainStephen Shaw NEGOTIATION
Johnson M KolmetzSpainBernardo Dominic RENEWAL
Ivar O WieserItalyStephen Shaw NEW
Wickens S WhobreyBrazilIvan Magalhaes PROPOSAL
Silvio W KolmetzIndiaStephen Shaw NEGOTIATION
Maisha R ChuiRussiaStephen Shaw NEW
Faith M BologniaSpainOnyama Limba PROPOSAL
Darci D OldroydRussiaXuxue Feng RENEWAL
Aruna E FerenczJapanStephen Shaw UNQUALIFIED
Adams W SaylorsJapanStephen Shaw NEW
Antonio T SaylorsRussiaOnyama Limba NEW
Aditya N FigeroaFranceIoni Bowcher RENEWAL
Silvio F GillianSpainAnna Fali NEGOTIATION
Leja E VenereJapanAnna Fali QUALIFIED
Kaitlin T MorascaItalyIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Octavia J TollnerUnited KingdomStephen Shaw NEW
Arvin G IturbideBrazilStephen Shaw RENEWAL
Ricardo K NestleFranceAsiya Javayant PROPOSAL
Jones A ShinkoJapanBernardo Dominic RENEWAL
Mujtaba S StockhamGermanyStephen Shaw RENEWAL
Darci M GlickBrazilAmy Elsner PROPOSAL
Adams Q FerenczItalyStephen Shaw PROPOSAL
Chavez K WaycottRussiaOnyama Limba PROPOSAL
Smith E IturbideArgentinaElwin Sharvill UNQUALIFIED
Mayumi E OldroydCanadaXuxue Feng NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia E FerenczRussia2026-07-10Rangoni Of Florence NEW86Xuxue Feng
1001Maria K MaletIndia2026-07-04Commercial Press QUALIFIED48Amy Elsner
1002Kadeem T AlbaresFrance2026-07-05Feiner Bros RENEWAL82Elwin Sharvill
1003Adams Q DoeRussia2026-07-14Chemel, James L Cpa NEGOTIATION21Ivan Magalhaes
1004Clifford W BowleyItaly2026-07-11Chemel, James L Cpa UNQUALIFIED3Ivan Magalhaes
1005Aika Y NestleItaly2026-07-06Chemel, James L Cpa PROPOSAL68Amy Elsner
1006Mujtaba M SaylorsRussia2026-06-30Morlong Associates PROPOSAL72Elwin Sharvill
1007Francesco R VocelkaSpain2026-07-14Truhlar And Truhlar Attys UNQUALIFIED42Ioni Bowcher
1008James H AlbaresCanada2026-07-11Commercial Press QUALIFIED62Asiya Javayant
1009Aditya C FollerRussia2026-07-03Chapman, Ross E Esq QUALIFIED90Ioni Bowcher
1010Leja N ShinkoFrance2026-07-04Rousseaux, Michael Esq PROPOSAL80Onyama Limba
1011Jefferson Y PoquetteItaly2026-07-13Chanay, Jeffrey A Esq UNQUALIFIED65Ioni Bowcher
1012Jones S FlosiArgentina2026-07-06Truhlar And Truhlar Attys QUALIFIED96Ioni Bowcher
1013Murillo S PerinBrazil2026-06-29Commercial Press RENEWAL69Anna Fali
1014Ashley M GarufiArgentina2026-07-04Chanay, Jeffrey A Esq NEW3Xuxue Feng
1015Deepesh X MaletSpain2026-06-27Chanay, Jeffrey A Esq RENEWAL4Xuxue Feng
1016Munro S PoquetteAustralia2026-07-01Chapman, Ross E Esq PROPOSAL50Xuxue Feng
1017Aditya U FigeroaAustralia2026-07-14Chapman, Ross E Esq RENEWAL5Asiya Javayant
1018Aika P StensethFrance2026-07-07Chapman, Ross E Esq PROPOSAL99Ioni Bowcher
1019Ivar Q KuskoSpain2026-06-26Chapman, Ross E Esq NEW93Stephen Shaw
1020Kaitlin R GauchoArgentina2026-06-21Dorl, James J Esq NEGOTIATION40Bernardo Dominic
1021Francesco B MacleadRussia2026-06-25Rousseaux, Michael Esq QUALIFIED69Ivan Magalhaes
1022Izzy O StensethItaly2026-07-11Rangoni Of Florence PROPOSAL20Stephen Shaw
1023Francesco D MacleadRussia2026-06-17Commercial Press QUALIFIED81Asiya Javayant
1024Tony L GillianGermany2026-06-29Benton, John B Jr NEGOTIATION83Bernardo Dominic
1025Ivar G StensethBrazil2026-07-04Rousseaux, Michael Esq NEGOTIATION32Ivan Magalhaes
1026Murillo B StockhamJapan2026-06-27Dorl, James J Esq NEGOTIATION63Xuxue Feng
1027Darci D PoquetteArgentina2026-06-16Chemel, James L Cpa NEGOTIATION16Amy Elsner
1028Aika I InouyeIndia2026-07-06Truhlar And Truhlar Attys RENEWAL91Onyama Limba
1029Maria F FollerItaly2026-07-09Feiner Bros RENEWAL85Stephen Shaw
1030Costa K SchemmerBrazil2026-07-08King, Christopher A Esq NEGOTIATION94Amy Elsner
1031Chavez W DilliardSpain2026-06-20Feltz Printing Service UNQUALIFIED48Stephen Shaw
1032Ricardo C ButtUnited Kingdom2026-07-04Truhlar And Truhlar Attys NEW58Elwin Sharvill
1033Silvio P ButtAustralia2026-07-15Dorl, James J Esq RENEWAL46Xuxue Feng
1034Aditya B AmigonFrance2026-06-21Dorl, James J Esq RENEWAL59Asiya Javayant
1035Costa C WieserGermany2026-06-18Commercial Press RENEWAL35Onyama Limba
1036Jones B FollerSpain2026-06-30Morlong Associates UNQUALIFIED57Asiya Javayant
1037Costa S OstroskyUnited Kingdom2026-06-20Morlong Associates QUALIFIED59Ioni Bowcher
1038Adams U MaletRussia2026-06-26Commercial Press PROPOSAL2Xuxue Feng
1039Cody M GarufiIndia2026-07-14Rangoni Of Florence PROPOSAL43Onyama Limba
1040Nicolas W InouyeItaly2026-07-07Benton, John B Jr NEW67Elwin Sharvill
1041Stacey Q BowleyArgentina2026-06-19Buckley Miller Wright PROPOSAL8Ivan Magalhaes
1042Jennifer W DoeGermany2026-06-28Chapman, Ross E Esq PROPOSAL84Onyama Limba
1043Francesco Y RimFrance2026-07-12Benton, John B Jr PROPOSAL23Elwin Sharvill
1044Greenwood F SergiCanada2026-06-16King, Christopher A Esq QUALIFIED15Asiya Javayant
1045Jefferson M StensethAustralia2026-07-12Feltz Printing Service RENEWAL15Xuxue Feng
1046Deepesh L RoysterJapan2026-06-21Dorl, James J Esq PROPOSAL67Onyama Limba
1047Wickens I InouyeBrazil2026-06-22Morlong Associates PROPOSAL53Ivan Magalhaes
1048Smith D MaletSpain2026-07-07Feltz Printing Service RENEWAL4Anna Fali
1049Kaitlin O SlusarskiSpain2026-06-21Dorl, James J Esq QUALIFIED50Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Silvio G RimIndiaStephen Shaw NEGOTIATION
Deepesh Z CampainGermanyElwin Sharvill NEW
Johnson M NickaAustraliaStephen Shaw QUALIFIED
Salvatore B RimUnited KingdomAnna Fali UNQUALIFIED
Chavez Y DoeAustraliaStephen Shaw PROPOSAL
Mayumi O BriddickCanadaXuxue Feng PROPOSAL
Izzy A RutaArgentinaStephen Shaw UNQUALIFIED
Morrow M CaldareraAustraliaXuxue Feng NEW
Silvio I CaudyItalyAnna Fali NEGOTIATION
Emily Y GarufiAustraliaStephen Shaw UNQUALIFIED
Clifford N AmigonIndiaIoni Bowcher UNQUALIFIED
James V SaylorsCanadaOnyama Limba RENEWAL
Ashley K FlosiFranceOnyama Limba NEW
Faith B RutaAustraliaElwin Sharvill NEGOTIATION
Deepesh G GlickSpainIoni Bowcher RENEWAL
Jeanfrancois Q PaprockiSpainXuxue Feng UNQUALIFIED
Kaitlin D IturbideItalyStephen Shaw RENEWAL
Costa R SlusarskiIndiaAsiya Javayant RENEWAL
Jennifer Z CaldareraCanadaAsiya Javayant UNQUALIFIED
Silvio V RulapaughCanadaIoni Bowcher RENEWAL
Octavia I PoquetteJapanElwin Sharvill RENEWAL
Leja P KuskoRussiaBernardo Dominic UNQUALIFIED
Arvin U SergiAustraliaAnna Fali NEGOTIATION
Darci G SergiSpainBernardo Dominic NEGOTIATION
Maria K MacleadBrazilAnna Fali NEW
Darci X FigeroaJapanOnyama Limba RENEWAL
Leja H PoquetteRussiaIvan Magalhaes NEW
Alejandro C TollnerItalyElwin Sharvill NEW
Maisha R SergiIndiaStephen Shaw PROPOSAL
Silvio Y WhobreyRussiaAsiya Javayant NEW
Darci E GauchoFranceIoni Bowcher QUALIFIED
Maisha V GlickBrazilBernardo Dominic NEW
Julie J MarrierItalyOnyama Limba PROPOSAL
Jeanfrancois A TollnerFranceOnyama Limba PROPOSAL
Ivar A SaylorsGermanyAsiya Javayant NEGOTIATION
Antonio B InouyeIndiaIvan Magalhaes UNQUALIFIED
Clifford T SchemmerBrazilAsiya Javayant NEW
Ivar T DilliardSpainBernardo Dominic QUALIFIED
Isabel L BowleySpainElwin Sharvill NEW
Jennifer J RimSpainStephen Shaw PROPOSAL
Juan P GlickIndiaAnna Fali NEGOTIATION
Leja P MaletGermanyAsiya Javayant QUALIFIED
Emily X BowleyAustraliaAsiya Javayant PROPOSAL
Costa W DoeCanadaIvan Magalhaes QUALIFIED
Claire R TollnerIndiaIoni Bowcher PROPOSAL
Morrow C DarakjyItalyIvan Magalhaes RENEWAL
Aditya Z RimUnited KingdomBernardo Dominic QUALIFIED
Tony I BriddickItalyOnyama Limba PROPOSAL
Octavia W FollerFranceXuxue Feng RENEWAL
Jennifer R SchemmerFranceOnyama Limba PROPOSAL
Frozen Columns
Name
Costa S Rulapaugh
Kadeem V Chui
David A Slusarski
Clifford Q Marrier
Mujtaba O Campain
Silvio G Doe
Adams P Shinko
Morrow L Poquette
Izzy R Ostrosky
Julie D Slusarski
Wickens I Whobrey
Greenwood N Ferencz
Aika V Poquette
Kadeem A Iturbide
Aika Y Bowley
Silvio O Bowley
Aika J Slusarski
James T Stenseth
Rodrigues W Albares
Darci U Butt
Wickens S Malet
Kadeem U Flosi
Murillo T Ruta
Ashley W Albares
Chavez Y Bowley
Octavia I Darakjy
Clifford I Bolognia
Adams E Stockham
Clifford Z Butt
Misaki S Darakjy
Arvin P Malet
Jones Z Nicka
Clifford J Flosi
Wickens H Wieser
Murillo A Venere
Wickens A Gaucho
Kaitlin W Royster
Ricardo U Poquette
Silvio J Waycott
Ivar Z Campain
Maisha W Darakjy
Jefferson U Marrier
Francesco F Ruta
Mayumi F Rim
Cody P Iturbide
Sinclair X Campain
Faith R Tollner
Octavia P Gaucho
Aditya R Ostrosky
Costa E Caudy
IdCountryDate
1000France2026-07-04
1001Canada2026-06-29
1002Australia2026-07-07
1003India2026-07-03
1004Canada2026-06-22
1005Germany2026-07-14
1006Brazil2026-07-07
1007India2026-07-13
1008France2026-07-12
1009Brazil2026-07-11
1010Russia2026-06-24
1011Argentina2026-06-20
1012Canada2026-06-26
1013Russia2026-06-29
1014India2026-07-03
1015Canada2026-07-15
1016Spain2026-06-28
1017United Kingdom2026-06-23
1018Australia2026-07-12
1019United Kingdom2026-07-09
1020Germany2026-07-02
1021Russia2026-06-26
1022Australia2026-07-11
1023Canada2026-06-29
1024India2026-06-16
1025Brazil2026-07-15
1026Russia2026-06-23
1027Spain2026-06-21
1028Brazil2026-06-26
1029Germany2026-06-25
1030Germany2026-07-12
1031France2026-06-29
1032India2026-07-14
1033Australia2026-06-28
1034Spain2026-06-23
1035Germany2026-06-27
1036United Kingdom2026-07-12
1037Canada2026-07-06
1038Australia2026-06-18
1039Argentina2026-07-08
1040Japan2026-06-18
1041United Kingdom2026-07-06
1042India2026-07-07
1043Japan2026-07-03
1044Australia2026-06-28
1045France2026-06-23
1046Argentina2026-06-21
1047Italy2026-07-14
1048Australia2026-06-23
1049France2026-07-13

On-Demand Data

NameIdCountryDate
Greenwood F Stockham1000India2026-06-20
Cody Z Doe1001India2026-07-04
Deepesh D Nestle1002Russia2026-06-25
Mujtaba Y Stenseth1003Brazil2026-06-21
Morrow E Foller1004Australia2026-06-20
Aika A Royster1005Italy2026-06-19
Ivar P Figeroa1006Italy2026-07-13
David N Vocelka1007Russia2026-07-11
Kadeem X Whobrey1008Australia2026-06-16
Munro F Tollner1009Germany2026-06-21
Emily P Waycott1010India2026-06-17
Aika H Slusarski1011Spain2026-07-03
Jefferson M Albares1012Italy2026-07-05
Emily U Flosi1013Germany2026-07-02
Faith B Whobrey1014Japan2026-07-10
Maisha Z Albares1015Germany2026-07-13
Aika Q Nestle1016Canada2026-06-29
Aditya Z Bowley1017Australia2026-07-13
Darci L Butt1018Spain2026-06-20
Morrow R Paprocki1019Italy2026-06-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro X ChuiUnited KingdomXuxue Feng NEGOTIATION
Cody M ButtRussiaElwin Sharvill PROPOSAL
Octavia V MaletCanadaXuxue Feng PROPOSAL
Chavez J StensethItalyBernardo Dominic RENEWAL
Tony X VenereGermanyIvan Magalhaes NEGOTIATION
Kaitlin O BowleySpainElwin Sharvill PROPOSAL
Misaki R MorascaFranceAnna Fali NEW
Octavia D FerenczCanadaAsiya Javayant NEGOTIATION
Silvio E VocelkaRussiaStephen Shaw QUALIFIED
Sinclair F OstroskyUnited KingdomAmy Elsner NEW
Salvatore I AmigonCanadaOnyama Limba QUALIFIED
Greenwood I PaprockiFranceIvan Magalhaes UNQUALIFIED
Rodrigues Z CampainFranceElwin Sharvill QUALIFIED
Izzy F OstroskyUnited KingdomBernardo Dominic NEGOTIATION
Mayumi Q VenereBrazilIvan Magalhaes PROPOSAL
Greenwood K SchemmerIndiaStephen Shaw RENEWAL
Darci Y TollnerGermanyAsiya Javayant UNQUALIFIED
Aditya V GarufiCanadaIvan Magalhaes NEGOTIATION
Aruna T MorascaBrazilAsiya Javayant UNQUALIFIED
Aruna E ShinkoAustraliaElwin Sharvill RENEWAL
Juan U WieserBrazilXuxue Feng QUALIFIED
Darci D KolmetzFranceXuxue Feng NEW
Jones C BriddickAustraliaIvan Magalhaes NEGOTIATION
Clifford V GillianRussiaAmy Elsner PROPOSAL
Kaitlin B InouyeJapanIoni Bowcher PROPOSAL
Juan J KolmetzSpainXuxue Feng PROPOSAL
Greenwood E OldroydCanadaXuxue Feng NEGOTIATION
Mayumi J DoeAustraliaAnna Fali NEW
Faith O OldroydIndiaAnna Fali PROPOSAL
Ricardo J FlosiFranceOnyama Limba UNQUALIFIED
Jeanfrancois D GlickUnited KingdomOnyama Limba RENEWAL
Jeanfrancois M SergiRussiaXuxue Feng NEGOTIATION
Octavia Z OldroydAustraliaOnyama Limba RENEWAL
Jeanfrancois G WaycottAustraliaAsiya Javayant UNQUALIFIED
Chavez Q RutaBrazilAnna Fali NEW
Isabel J AmigonFranceAmy Elsner NEGOTIATION
Smith I FerenczArgentinaAmy Elsner NEW
Aruna X VocelkaSpainIoni Bowcher QUALIFIED
Adams Y MacleadIndiaIoni Bowcher UNQUALIFIED
Sinclair H BriddickSpainStephen Shaw 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>