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
Leon Q WieserBrazilAmy Elsner UNQUALIFIED
Chavez A BriddickCanadaIoni Bowcher UNQUALIFIED
Clifford H WaycottGermanyStephen Shaw PROPOSAL
Tony T NickaIndiaIoni Bowcher RENEWAL
Leon V GlickRussiaAsiya Javayant QUALIFIED
Isabel M KuskoFranceIvan Magalhaes QUALIFIED
Wickens S NestleFranceIvan Magalhaes NEGOTIATION
Mujtaba O PaprockiGermanyAsiya Javayant NEW
Julie Z KuskoArgentinaElwin Sharvill NEW
Johnson S PerinRussiaAnna Fali RENEWAL
Johnson Q FigeroaSpainAnna Fali UNQUALIFIED
Faith W IturbideItalyAsiya Javayant NEGOTIATION
Jeanfrancois S FigeroaGermanyAmy Elsner QUALIFIED
Wickens S PaprockiUnited KingdomOnyama Limba UNQUALIFIED
Francesco Z BowleyIndiaElwin Sharvill NEGOTIATION
Ashley S SaylorsGermanyOnyama Limba QUALIFIED
Silvio L InouyeRussiaOnyama Limba NEGOTIATION
Morrow N TollnerAustraliaAnna Fali NEGOTIATION
Wickens O StensethCanadaBernardo Dominic QUALIFIED
Murillo U StockhamItalyOnyama Limba PROPOSAL
James L GauchoArgentinaStephen Shaw NEGOTIATION
Salvatore W GlickRussiaXuxue Feng NEW
Alejandro T FlosiUnited KingdomStephen Shaw PROPOSAL
Johnson Q KuskoUnited KingdomXuxue Feng QUALIFIED
Leja S DarakjyJapanIoni Bowcher RENEWAL
Kaitlin G NickaAustraliaStephen Shaw NEW
Ivar I BriddickBrazilAsiya Javayant UNQUALIFIED
Mayumi S MacleadJapanAnna Fali UNQUALIFIED
Claire C GarufiUnited KingdomAmy Elsner NEW
Izzy D BowleyRussiaAmy Elsner NEGOTIATION
David X KuskoUnited KingdomOnyama Limba NEGOTIATION
Tony X IturbideIndiaStephen Shaw UNQUALIFIED
Francesco V DarakjyIndiaOnyama Limba UNQUALIFIED
Clifford K RimFranceElwin Sharvill PROPOSAL
Jennifer I IturbideFranceAnna Fali RENEWAL
Salvatore R AlbaresJapanXuxue Feng NEW
Silvio C IturbideFranceXuxue Feng NEGOTIATION
Maria O ChuiUnited KingdomBernardo Dominic QUALIFIED
Alejandro M RoysterSpainAnna Fali UNQUALIFIED
Cody B BowleySpainAmy Elsner PROPOSAL
Claire B FerenczAustraliaIoni Bowcher NEGOTIATION
Sinclair J FlosiFranceOnyama Limba NEW
Stacey Q BowleyGermanyElwin Sharvill QUALIFIED
Murillo V ChuiFranceOnyama Limba UNQUALIFIED
Julie F TollnerJapanXuxue Feng UNQUALIFIED
Leon Y BologniaSpainBernardo Dominic NEW
Stacey F NickaArgentinaElwin Sharvill NEGOTIATION
Stacey X NickaCanadaStephen Shaw NEGOTIATION
Johnson Z GarufiBrazilAmy Elsner NEGOTIATION
Kaitlin Y GillianJapanXuxue Feng UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Nicolas J GauchoCanadaIoni Bowcher NEW
Deepesh B WaycottIndiaAsiya Javayant NEW
Nicolas I IturbideGermanyIvan Magalhaes NEW
Izzy W OldroydGermanyAnna Fali PROPOSAL
Antonio S PoquetteGermanyElwin Sharvill QUALIFIED
Greenwood T TollnerJapanStephen Shaw QUALIFIED
Johnson Y OstroskyGermanyIoni Bowcher QUALIFIED
Juan A BowleyItalyStephen Shaw UNQUALIFIED
Rodrigues G BologniaArgentinaOnyama Limba NEW
Munro U GarufiArgentinaElwin Sharvill NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Arvin O BowleyFrance2024-06-10Buckley Miller Wright QUALIFIED15Asiya Javayant
1001Rodrigues X PoquetteCanada2024-06-08Commercial Press RENEWAL60Bernardo Dominic
1002Costa Q VocelkaFrance2024-06-13King, Christopher A Esq NEGOTIATION22Amy Elsner
1003Kaitlin I DarakjyIndia2024-06-15Buckley Miller Wright NEGOTIATION61Onyama Limba
1004Aika R SergiGermany2024-06-13Chemel, James L Cpa UNQUALIFIED39Ioni Bowcher
1005Rodrigues J RimIndia2024-06-24Chapman, Ross E Esq NEW25Bernardo Dominic
1006Mujtaba S FollerAustralia2024-06-05Benton, John B Jr PROPOSAL47Xuxue Feng
1007Jeanfrancois X ButtBrazil2024-06-07Chemel, James L Cpa PROPOSAL68Stephen Shaw
1008Chavez C MarrierItaly2024-06-13King, Christopher A Esq RENEWAL76Ivan Magalhaes
1009Ashley Z RimRussia2024-06-08Benton, John B Jr QUALIFIED63Bernardo Dominic
1010Silvio R DilliardCanada2024-06-12Chemel, James L Cpa PROPOSAL53Ioni Bowcher
1011Mayumi M CaldareraArgentina2024-06-15Chanay, Jeffrey A Esq QUALIFIED65Bernardo Dominic
1012Mujtaba X DilliardFrance2024-06-01Feiner Bros UNQUALIFIED94Elwin Sharvill
1013Deepesh I FerenczUnited Kingdom2024-06-18Chanay, Jeffrey A Esq RENEWAL74Ioni Bowcher
1014Morrow A CaldareraIndia2024-05-29Truhlar And Truhlar Attys QUALIFIED43Ioni Bowcher
1015Tony B FerenczItaly2024-05-26Rousseaux, Michael Esq RENEWAL46Ivan Magalhaes
1016Octavia H StockhamFrance2024-05-31King, Christopher A Esq NEGOTIATION98Ivan Magalhaes
1017Sinclair I VocelkaIndia2024-06-07Commercial Press PROPOSAL8Onyama Limba
1018Sinclair U ShinkoSpain2024-06-09Buckley Miller Wright NEGOTIATION60Ioni Bowcher
1019Tony F CaudySpain2024-06-17Chanay, Jeffrey A Esq NEGOTIATION7Stephen Shaw
1020Jennifer Q FigeroaFrance2024-06-14Dorl, James J Esq NEW46Stephen Shaw
1021Salvatore J ButtAustralia2024-05-26Chapman, Ross E Esq RENEWAL25Anna Fali
1022Rodrigues S FigeroaArgentina2024-06-15Feiner Bros UNQUALIFIED63Stephen Shaw
1023Francesco O DoeFrance2024-05-28Commercial Press NEW26Amy Elsner
1024Maisha M InouyeJapan2024-05-31Rangoni Of Florence RENEWAL11Ioni Bowcher
1025Ivar S PaprockiUnited Kingdom2024-06-21Chanay, Jeffrey A Esq UNQUALIFIED73Anna Fali
1026Costa C AlbaresIndia2024-06-04Morlong Associates RENEWAL38Asiya Javayant
1027Costa Y StensethRussia2024-05-31Chanay, Jeffrey A Esq QUALIFIED32Anna Fali
1028Kaitlin C GauchoItaly2024-06-24Printing Dimensions RENEWAL42Xuxue Feng
1029Francesco C MarrierCanada2024-06-09King, Christopher A Esq QUALIFIED92Onyama Limba
1030Murillo K GauchoAustralia2024-06-12Printing Dimensions PROPOSAL43Bernardo Dominic
1031Adams Y AmigonUnited Kingdom2024-06-09Chemel, James L Cpa QUALIFIED72Amy Elsner
1032Nicolas T MaletItaly2024-06-05Feltz Printing Service PROPOSAL7Onyama Limba
1033Antonio S RutaJapan2024-06-04Truhlar And Truhlar Attys RENEWAL70Onyama Limba
1034Darci O OldroydCanada2024-06-23Benton, John B Jr QUALIFIED73Asiya Javayant
1035Leja R StockhamJapan2024-06-08Printing Dimensions QUALIFIED37Ivan Magalhaes
1036Ivar B NickaRussia2024-06-18Rousseaux, Michael Esq QUALIFIED49Ivan Magalhaes
1037Salvatore Q FigeroaCanada2024-06-11Morlong Associates UNQUALIFIED34Onyama Limba
1038Tony T OstroskyCanada2024-06-06Truhlar And Truhlar Attys RENEWAL97Ivan Magalhaes
1039Wickens V InouyeItaly2024-06-14Feiner Bros RENEWAL97Elwin Sharvill
1040Claire Q MacleadCanada2024-06-17Morlong Associates RENEWAL68Xuxue Feng
1041Antonio Q MorascaJapan2024-06-02Buckley Miller Wright RENEWAL84Ivan Magalhaes
1042Darci T OstroskyAustralia2024-06-22Printing Dimensions QUALIFIED31Elwin Sharvill
1043Ivar P FollerUnited Kingdom2024-06-09Printing Dimensions PROPOSAL28Ioni Bowcher
1044Izzy D BowleySpain2024-06-22Feiner Bros QUALIFIED44Anna Fali
1045Murillo G SaylorsJapan2024-06-20Morlong Associates PROPOSAL71Ivan Magalhaes
1046Ivar U MorascaSpain2024-06-02King, Christopher A Esq PROPOSAL91Xuxue Feng
1047Jennifer L ButtUnited Kingdom2024-05-26Morlong Associates QUALIFIED85Ivan Magalhaes
1048Octavia W InouyeSpain2024-06-17Dorl, James J Esq NEW71Ioni Bowcher
1049Salvatore Z CaldareraBrazil2024-06-24Dorl, James J Esq RENEWAL37Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Clifford F RulapaughUnited KingdomOnyama Limba PROPOSAL
Francesco V PerinBrazilXuxue Feng NEW
Jeanfrancois M KolmetzCanadaAmy Elsner QUALIFIED
Emily F NestleAustraliaAsiya Javayant NEGOTIATION
Jennifer D OldroydSpainOnyama Limba NEGOTIATION
Claire K GauchoItalyOnyama Limba NEW
Wickens Y FigeroaFranceAnna Fali UNQUALIFIED
Claire A StockhamJapanAnna Fali NEW
Izzy T MaletIndiaAnna Fali NEGOTIATION
Darci C RimAustraliaAnna Fali NEW
Chavez A SergiItalyIoni Bowcher RENEWAL
Wickens M CampainFranceElwin Sharvill NEGOTIATION
Kaitlin A BologniaItalyElwin Sharvill NEW
Greenwood V WieserBrazilIvan Magalhaes PROPOSAL
Francesco B SchemmerFranceXuxue Feng NEW
Faith D KolmetzBrazilBernardo Dominic RENEWAL
Mayumi E SergiUnited KingdomAnna Fali RENEWAL
Tony G DarakjyBrazilBernardo Dominic UNQUALIFIED
Rodrigues C RoysterJapanAmy Elsner NEW
Leja F StockhamItalyBernardo Dominic QUALIFIED
Sinclair J MaletIndiaIvan Magalhaes RENEWAL
Sinclair V WieserUnited KingdomOnyama Limba NEGOTIATION
Sinclair B DoeUnited KingdomOnyama Limba PROPOSAL
Claire D GlickGermanyXuxue Feng RENEWAL
Mayumi W OstroskyAustraliaOnyama Limba NEW
Clifford T StensethIndiaBernardo Dominic UNQUALIFIED
Juan J VenereUnited KingdomOnyama Limba NEGOTIATION
Smith F MarrierJapanXuxue Feng QUALIFIED
Morrow U IturbideBrazilAmy Elsner UNQUALIFIED
Jefferson D PaprockiFranceAnna Fali UNQUALIFIED
Ivar Q ChuiArgentinaIoni Bowcher PROPOSAL
David K PerinAustraliaAmy Elsner RENEWAL
David L KolmetzCanadaAmy Elsner NEGOTIATION
Ricardo K RimItalyIoni Bowcher NEW
Silvio U OldroydJapanIvan Magalhaes NEW
Tony Q PoquetteBrazilAnna Fali NEGOTIATION
Kaitlin U IturbideAustraliaAmy Elsner NEGOTIATION
Silvio I WieserSpainXuxue Feng NEW
Maria Y GlickFranceAmy Elsner UNQUALIFIED
Aruna P GarufiAustraliaBernardo Dominic NEW
Claire R MaletRussiaAmy Elsner RENEWAL
Silvio J NickaItalyXuxue Feng RENEWAL
Arvin Q KolmetzJapanIvan Magalhaes UNQUALIFIED
Faith D GillianFranceBernardo Dominic NEGOTIATION
Jennifer X GlickSpainIvan Magalhaes UNQUALIFIED
Rodrigues C GauchoSpainAsiya Javayant QUALIFIED
Stacey E GarufiIndiaAsiya Javayant RENEWAL
Julie C StockhamRussiaIvan Magalhaes NEGOTIATION
Stacey J SaylorsFranceOnyama Limba NEGOTIATION
Mujtaba Q KuskoArgentinaAmy Elsner UNQUALIFIED
Frozen Columns
Name
Nicolas Q Glick
Aruna R Nestle
Johnson Q Sergi
Ricardo X Iturbide
Leon P Inouye
Arvin Y Vocelka
Arvin P Caudy
Aditya I Bolognia
Kaitlin L Ferencz
Leon C Shinko
David X Ruta
Francesco N Malet
Kadeem U Rulapaugh
Kadeem S Campain
Sinclair Q Gaucho
Leon W Marrier
Claire U Briddick
Ivar U Schemmer
Emily U Amigon
Smith L Bowley
Adams H Saylors
Cody P Ferencz
Izzy T Albares
Leja K Kolmetz
Cody E Stockham
Juan I Stockham
Faith V Flosi
Jennifer S Figeroa
Murillo D Nicka
Aruna G Wieser
Tony N Nestle
Chavez U Paprocki
Jones C Stenseth
Munro U Tollner
Antonio B Inouye
Jennifer I Rim
Claire S Gillian
Jefferson F Wieser
Octavia X Butt
Octavia E Tollner
David W Royster
Aruna C Glick
Jones U Perin
Morrow V Caudy
Aditya Y Nicka
Julie V Stenseth
Isabel P Oldroyd
Tony K Stenseth
Claire I Garufi
Izzy N Malet
IdCountryDate
1000India2024-06-21
1001India2024-06-17
1002Australia2024-05-27
1003Italy2024-06-19
1004Italy2024-06-01
1005France2024-06-21
1006Canada2024-06-19
1007Japan2024-06-11
1008Russia2024-06-02
1009France2024-05-30
1010Japan2024-06-14
1011Spain2024-06-01
1012United Kingdom2024-06-02
1013Japan2024-06-10
1014India2024-06-15
1015Germany2024-06-05
1016Argentina2024-05-29
1017Japan2024-06-24
1018Germany2024-06-18
1019Argentina2024-06-14
1020India2024-06-12
1021Canada2024-05-29
1022Canada2024-05-26
1023Australia2024-06-19
1024France2024-06-07
1025United Kingdom2024-05-30
1026Canada2024-06-13
1027Japan2024-06-04
1028Brazil2024-06-24
1029Italy2024-06-09
1030Japan2024-06-18
1031Brazil2024-06-20
1032United Kingdom2024-06-19
1033Japan2024-06-10
1034United Kingdom2024-06-24
1035France2024-06-01
1036Germany2024-06-06
1037Brazil2024-06-14
1038India2024-06-10
1039France2024-06-11
1040Japan2024-06-07
1041Italy2024-06-07
1042Spain2024-06-16
1043Russia2024-06-23
1044France2024-06-14
1045France2024-06-05
1046Argentina2024-06-18
1047Canada2024-06-23
1048United Kingdom2024-06-22
1049Japan2024-06-22

On-Demand Data

NameIdCountryDate
Jefferson B Stockham1000Canada2024-05-27
Maisha F Caldarera1001Italy2024-06-23
Maisha H Amigon1002Argentina2024-06-19
David T Iturbide1003Australia2024-06-01
Nicolas I Iturbide1004Argentina2024-06-18
Murillo A Saylors1005Japan2024-06-16
Clifford D Vocelka1006Italy2024-06-06
Stacey E Rulapaugh1007Brazil2024-06-18
Cody Z Whobrey1008United Kingdom2024-06-17
David I Albares1009Russia2024-05-28
Misaki I Perin1010India2024-06-11
Julie R Garufi1011Argentina2024-06-13
Mayumi Z Whobrey1012Germany2024-06-13
Faith A Foller1013India2024-06-12
Alejandro I Caldarera1014India2024-06-18
Munro O Shinko1015Australia2024-06-19
Antonio Z Rim1016Germany2024-05-27
Maisha E Darakjy1017India2024-06-21
Isabel P Morasca1018Japan2024-06-09
Jennifer H Waycott1019Russia2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mayumi T ButtCanadaAmy Elsner RENEWAL
Murillo M ButtSpainOnyama Limba UNQUALIFIED
Rodrigues R FollerGermanyXuxue Feng RENEWAL
Octavia X RutaBrazilIoni Bowcher NEGOTIATION
Faith G RutaIndiaStephen Shaw UNQUALIFIED
James F WhobreyItalyStephen Shaw QUALIFIED
Ivar B FerenczJapanAnna Fali QUALIFIED
Isabel L RutaFranceAnna Fali NEW
Claire O SaylorsCanadaAnna Fali RENEWAL
Emily L TollnerJapanElwin Sharvill UNQUALIFIED
Isabel J MaletItalyOnyama Limba NEGOTIATION
Mayumi M KolmetzJapanAsiya Javayant RENEWAL
Kadeem P SaylorsAustraliaBernardo Dominic PROPOSAL
Aruna H MaletFranceAsiya Javayant PROPOSAL
Darci M StockhamFranceAsiya Javayant NEGOTIATION
Aika N IturbideGermanyBernardo Dominic NEW
Nicolas H VocelkaBrazilOnyama Limba PROPOSAL
Cody S RimCanadaIvan Magalhaes QUALIFIED
Maisha U StockhamGermanyAmy Elsner RENEWAL
Francesco U GillianAustraliaAnna Fali RENEWAL
Smith B GauchoBrazilOnyama Limba QUALIFIED
Wickens X NestleJapanAsiya Javayant NEGOTIATION
Aruna N MorascaFranceXuxue Feng RENEWAL
Jennifer U RimIndiaAnna Fali UNQUALIFIED
Tony X PoquetteFranceIvan Magalhaes UNQUALIFIED
Julie G OldroydIndiaElwin Sharvill RENEWAL
Greenwood H GarufiSpainIvan Magalhaes PROPOSAL
James N InouyeIndiaAmy Elsner UNQUALIFIED
Aika A FerenczCanadaAnna Fali NEW
Deepesh M WhobreyJapanIvan Magalhaes PROPOSAL
Deepesh N SergiAustraliaAsiya Javayant NEGOTIATION
Deepesh S RutaRussiaStephen Shaw QUALIFIED
Francesco K WieserSpainStephen Shaw NEW
Darci O ChuiJapanOnyama Limba QUALIFIED
Jeanfrancois O InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Adams A WieserSpainXuxue Feng RENEWAL
Murillo N VocelkaCanadaAsiya Javayant QUALIFIED
Izzy L MarrierRussiaAnna Fali NEGOTIATION
Leja M GlickGermanyElwin Sharvill PROPOSAL
Leon F MaletIndiaBernardo 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>