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
Emily V ChuiUnited KingdomBernardo Dominic UNQUALIFIED
Costa Y ShinkoCanadaBernardo Dominic QUALIFIED
Juan B IturbideItalyIvan Magalhaes RENEWAL
Juan E RimUnited KingdomOnyama Limba NEGOTIATION
Silvio Q SergiArgentinaAmy Elsner RENEWAL
Julie N WieserItalyAnna Fali RENEWAL
David R CaldareraUnited KingdomAnna Fali NEW
Kaitlin L FigeroaGermanyElwin Sharvill NEGOTIATION
Leja D NestleItalyAmy Elsner RENEWAL
Jeanfrancois K WhobreyItalyIvan Magalhaes QUALIFIED
Kadeem R FigeroaBrazilAsiya Javayant NEGOTIATION
Octavia T PaprockiFranceElwin Sharvill RENEWAL
Leon A StensethItalyXuxue Feng RENEWAL
Jeanfrancois T KuskoSpainElwin Sharvill NEGOTIATION
Aditya K WaycottItalyAsiya Javayant RENEWAL
Darci R MaletFranceIvan Magalhaes PROPOSAL
Juan O AlbaresItalyIoni Bowcher NEGOTIATION
Misaki P VenereCanadaIoni Bowcher UNQUALIFIED
Adams P BologniaJapanAnna Fali PROPOSAL
Sinclair E IturbideFranceStephen Shaw RENEWAL
Smith N WieserCanadaIoni Bowcher NEW
Juan X StockhamCanadaAsiya Javayant NEW
Juan N NestleSpainIvan Magalhaes NEGOTIATION
Maisha A WaycottCanadaIoni Bowcher UNQUALIFIED
Salvatore S MaletItalyElwin Sharvill PROPOSAL
Misaki Q NickaCanadaIoni Bowcher NEW
Wickens M WhobreyUnited KingdomAmy Elsner NEGOTIATION
Mujtaba A SergiRussiaIoni Bowcher UNQUALIFIED
Salvatore Z MacleadBrazilBernardo Dominic PROPOSAL
Kaitlin A PerinAustraliaBernardo Dominic NEGOTIATION
Adams M MacleadJapanStephen Shaw RENEWAL
James K AlbaresBrazilAsiya Javayant RENEWAL
Deepesh I SaylorsSpainAmy Elsner RENEWAL
Chavez S PoquetteGermanyIoni Bowcher RENEWAL
Juan G SchemmerCanadaAsiya Javayant NEGOTIATION
Murillo T GillianBrazilElwin Sharvill NEGOTIATION
Ivar G KolmetzSpainElwin Sharvill NEGOTIATION
Ashley A MarrierJapanBernardo Dominic RENEWAL
Mayumi Y OstroskyRussiaXuxue Feng UNQUALIFIED
Emily E PerinSpainAsiya Javayant RENEWAL
Jeanfrancois O MaletGermanyStephen Shaw NEW
Leja V AlbaresIndiaAmy Elsner NEGOTIATION
Adams T ButtIndiaOnyama Limba NEW
Juan C DarakjyAustraliaAnna Fali PROPOSAL
Claire C FigeroaItalyIvan Magalhaes NEW
Tony S WieserBrazilAmy Elsner RENEWAL
David S NestleBrazilAmy Elsner NEW
Silvio I GlickGermanyStephen Shaw QUALIFIED
Izzy R KolmetzJapanStephen Shaw UNQUALIFIED
Julie X AmigonGermanyIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maria J NestleFranceIoni Bowcher UNQUALIFIED
Nicolas B SchemmerAustraliaIvan Magalhaes PROPOSAL
Claire V GarufiGermanyBernardo Dominic RENEWAL
Juan X SlusarskiJapanElwin Sharvill RENEWAL
Munro H CaudyArgentinaAsiya Javayant QUALIFIED
Leon V MaletJapanAnna Fali RENEWAL
Rodrigues U NickaBrazilAnna Fali RENEWAL
Johnson G ShinkoIndiaAsiya Javayant QUALIFIED
Clifford T TollnerIndiaIvan Magalhaes UNQUALIFIED
Aruna I MarrierSpainAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones O WaycottSpain2024-06-21King, Christopher A Esq NEW68Elwin Sharvill
1001Clifford G DarakjyItaly2024-06-20Printing Dimensions PROPOSAL82Xuxue Feng
1002Alejandro P GauchoSpain2024-06-21Chemel, James L Cpa QUALIFIED56Elwin Sharvill
1003Julie O StensethJapan2024-06-18Buckley Miller Wright PROPOSAL57Amy Elsner
1004Chavez Q NestleItaly2024-06-09Dorl, James J Esq NEW38Ioni Bowcher
1005Munro T FlosiGermany2024-06-07Buckley Miller Wright PROPOSAL1Ivan Magalhaes
1006Aditya J VenereIndia2024-06-15Buckley Miller Wright UNQUALIFIED77Anna Fali
1007Jefferson A BowleyAustralia2024-06-05Feiner Bros NEW38Xuxue Feng
1008Octavia M StensethAustralia2024-06-05Dorl, James J Esq NEW96Xuxue Feng
1009Munro N AmigonJapan2024-06-21Benton, John B Jr NEW43Stephen Shaw
1010Antonio O SaylorsFrance2024-05-27Chanay, Jeffrey A Esq NEGOTIATION32Ivan Magalhaes
1011Wickens O AmigonUnited Kingdom2024-06-07Buckley Miller Wright NEGOTIATION32Bernardo Dominic
1012Jennifer N VocelkaSpain2024-06-11Commercial Press QUALIFIED72Xuxue Feng
1013Kaitlin E MaletCanada2024-06-02Buckley Miller Wright PROPOSAL4Bernardo Dominic
1014Emily D MaletRussia2024-06-13Dorl, James J Esq NEGOTIATION81Asiya Javayant
1015Darci Y DarakjyIndia2024-05-27Feltz Printing Service NEW6Asiya Javayant
1016Antonio V RimSpain2024-06-08Printing Dimensions NEW68Elwin Sharvill
1017Faith Y MarrierFrance2024-06-14Rousseaux, Michael Esq UNQUALIFIED91Xuxue Feng
1018Nicolas U FerenczGermany2024-06-06Rousseaux, Michael Esq UNQUALIFIED74Ivan Magalhaes
1019Octavia J AlbaresIndia2024-06-19Dorl, James J Esq UNQUALIFIED46Elwin Sharvill
1020Jeanfrancois T ButtSpain2024-06-17Dorl, James J Esq RENEWAL16Elwin Sharvill
1021Kadeem E GlickRussia2024-05-26Printing Dimensions RENEWAL92Elwin Sharvill
1022Costa P SergiJapan2024-05-29Morlong Associates RENEWAL36Amy Elsner
1023Arvin B PerinGermany2024-06-18Commercial Press QUALIFIED18Anna Fali
1024Rodrigues H GarufiJapan2024-06-09Benton, John B Jr RENEWAL12Asiya Javayant
1025Nicolas L PaprockiAustralia2024-05-23Chemel, James L Cpa UNQUALIFIED46Ivan Magalhaes
1026Leon J BriddickIndia2024-05-28Chemel, James L Cpa QUALIFIED85Anna Fali
1027Morrow Z SchemmerIndia2024-05-29Dorl, James J Esq RENEWAL61Elwin Sharvill
1028Isabel Q MaletIndia2024-06-18Chemel, James L Cpa RENEWAL91Stephen Shaw
1029James L ButtArgentina2024-06-19Rousseaux, Michael Esq PROPOSAL97Amy Elsner
1030Deepesh T DarakjyJapan2024-05-29Printing Dimensions NEW76Amy Elsner
1031Alejandro I CaudyArgentina2024-05-26Feltz Printing Service QUALIFIED51Xuxue Feng
1032Clifford Z ShinkoIndia2024-06-05Commercial Press UNQUALIFIED38Stephen Shaw
1033Misaki T KolmetzIndia2024-06-05Dorl, James J Esq UNQUALIFIED45Asiya Javayant
1034Stacey B BowleyArgentina2024-06-15Buckley Miller Wright NEW53Onyama Limba
1035Alejandro M AmigonBrazil2024-06-19Printing Dimensions PROPOSAL25Amy Elsner
1036Sinclair W GarufiCanada2024-06-03Chanay, Jeffrey A Esq PROPOSAL81Stephen Shaw
1037Kaitlin X PaprockiSpain2024-06-02Buckley Miller Wright NEGOTIATION6Elwin Sharvill
1038Jeanfrancois M SchemmerItaly2024-06-21Truhlar And Truhlar Attys NEW61Anna Fali
1039Leja G PoquetteSpain2024-06-04Chapman, Ross E Esq QUALIFIED82Bernardo Dominic
1040Sinclair K NickaBrazil2024-05-24Morlong Associates NEGOTIATION36Elwin Sharvill
1041Deepesh V InouyeUnited Kingdom2024-06-15Chanay, Jeffrey A Esq NEGOTIATION76Onyama Limba
1042Maria Z CaudyUnited Kingdom2024-06-03Feiner Bros QUALIFIED91Ioni Bowcher
1043Morrow I ShinkoGermany2024-06-04Rangoni Of Florence QUALIFIED16Bernardo Dominic
1044Aruna Z BologniaRussia2024-06-12Commercial Press QUALIFIED39Elwin Sharvill
1045Greenwood K RulapaughGermany2024-06-20Chapman, Ross E Esq UNQUALIFIED76Elwin Sharvill
1046Ricardo D DoeArgentina2024-06-05Dorl, James J Esq QUALIFIED57Ivan Magalhaes
1047Izzy W PoquetteCanada2024-06-13Chapman, Ross E Esq NEW59Asiya Javayant
1048Smith M RimGermany2024-06-03Chanay, Jeffrey A Esq NEGOTIATION91Ioni Bowcher
1049Clifford F AlbaresBrazil2024-05-30Feiner Bros RENEWAL16Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Cody G PaprockiGermanyAsiya Javayant UNQUALIFIED
Aruna M WaycottIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois L TollnerGermanyOnyama Limba PROPOSAL
Faith D TollnerItalyBernardo Dominic PROPOSAL
David U BowleyArgentinaElwin Sharvill UNQUALIFIED
Aditya B NestleItalyStephen Shaw NEGOTIATION
Jefferson Z MacleadArgentinaBernardo Dominic UNQUALIFIED
Isabel B GlickSpainBernardo Dominic NEW
Stacey Z GauchoItalyElwin Sharvill NEGOTIATION
Leon Y NickaBrazilAnna Fali UNQUALIFIED
Deepesh W SaylorsGermanyOnyama Limba PROPOSAL
Cody J KolmetzIndiaStephen Shaw QUALIFIED
Aruna A MaletJapanBernardo Dominic NEGOTIATION
Tony U ButtUnited KingdomIoni Bowcher RENEWAL
Leon F BowleyArgentinaBernardo Dominic QUALIFIED
Salvatore S FollerRussiaIvan Magalhaes QUALIFIED
Adams N IturbideBrazilAsiya Javayant RENEWAL
Maisha M ButtCanadaBernardo Dominic NEW
Murillo R GarufiItalyXuxue Feng NEGOTIATION
Jeanfrancois V VenereItalyOnyama Limba PROPOSAL
Greenwood I BriddickItalyIvan Magalhaes NEW
Costa Z FlosiBrazilIvan Magalhaes NEW
Smith W BologniaFranceStephen Shaw PROPOSAL
Murillo L WieserGermanyAmy Elsner PROPOSAL
Murillo K MacleadAustraliaOnyama Limba UNQUALIFIED
Julie U WieserItalyIoni Bowcher NEW
Antonio F CaldareraGermanyIoni Bowcher NEGOTIATION
Cody N PaprockiFranceAmy Elsner RENEWAL
Maisha J StensethUnited KingdomIoni Bowcher UNQUALIFIED
Leon P SergiFranceXuxue Feng QUALIFIED
Johnson K FigeroaBrazilXuxue Feng NEGOTIATION
Francesco R NestleCanadaElwin Sharvill UNQUALIFIED
Jennifer F MaletFranceAsiya Javayant NEW
Ricardo N WhobreyFranceIoni Bowcher NEW
Murillo M StensethUnited KingdomBernardo Dominic QUALIFIED
David F PerinSpainIoni Bowcher NEW
Smith V CampainItalyStephen Shaw NEGOTIATION
Ivar P BologniaGermanyElwin Sharvill RENEWAL
Misaki S NestleRussiaXuxue Feng QUALIFIED
Aika R GlickCanadaAsiya Javayant QUALIFIED
Juan E FigeroaIndiaBernardo Dominic NEGOTIATION
Aika S ChuiJapanBernardo Dominic PROPOSAL
Julie D KuskoBrazilElwin Sharvill QUALIFIED
Cody D FollerItalyIoni Bowcher RENEWAL
Stacey Z SergiArgentinaAsiya Javayant UNQUALIFIED
Jennifer T SchemmerUnited KingdomAnna Fali NEGOTIATION
Leja A GauchoArgentinaAnna Fali QUALIFIED
Chavez W RimRussiaAsiya Javayant QUALIFIED
Smith S InouyeGermanyIoni Bowcher QUALIFIED
Leja M IturbideFranceAsiya Javayant RENEWAL
Frozen Columns
Name
Kaitlin F Foller
David Y Butt
Antonio F Nestle
Leon B Oldroyd
Kaitlin U Ruta
Adams F Sergi
Morrow U Chui
Ricardo M Garufi
Tony Z Butt
Jefferson Y Vocelka
Julie N Rulapaugh
Aruna A Bolognia
Faith Y Chui
Ashley V Gillian
Leon H Slusarski
Salvatore O Royster
Clifford D Kusko
David L Nicka
Ivar E Oldroyd
Antonio D Gillian
Misaki B Flosi
James J Amigon
James L Inouye
Costa Z Shinko
Rodrigues B Flosi
Aika S Wieser
Kadeem H Chui
Nicolas O Oldroyd
Izzy H Maclead
Arvin H Bolognia
Misaki U Rulapaugh
Morrow T Sergi
Arvin P Kusko
Mujtaba T Malet
Maisha Z Poquette
Aruna E Caldarera
Jefferson Q Ruta
Aditya R Butt
Izzy N Gaucho
Faith S Morasca
Clifford I Nicka
Arvin R Wieser
Juan G Royster
Stacey Y Caldarera
Jones Q Marrier
Costa U Caudy
Ashley M Garufi
Francesco Y Morasca
Ivar H Ruta
Costa B Dilliard
IdCountryDate
1000Italy2024-06-03
1001Germany2024-06-10
1002Italy2024-06-07
1003India2024-06-14
1004Australia2024-06-08
1005Australia2024-06-16
1006Canada2024-06-02
1007Italy2024-06-01
1008Japan2024-06-04
1009Russia2024-05-26
1010Canada2024-06-04
1011Italy2024-06-17
1012India2024-06-14
1013Spain2024-06-06
1014India2024-05-31
1015Canada2024-06-13
1016United Kingdom2024-05-31
1017Canada2024-06-07
1018India2024-06-21
1019Germany2024-06-16
1020United Kingdom2024-06-12
1021Brazil2024-06-09
1022France2024-06-08
1023Russia2024-06-13
1024Argentina2024-05-30
1025France2024-06-20
1026Germany2024-06-01
1027Canada2024-05-25
1028Argentina2024-06-04
1029France2024-06-15
1030Canada2024-05-31
1031Japan2024-06-03
1032Australia2024-05-23
1033Japan2024-05-30
1034Italy2024-05-31
1035Italy2024-05-27
1036Spain2024-06-09
1037Argentina2024-06-12
1038Japan2024-06-06
1039Germany2024-06-16
1040United Kingdom2024-05-25
1041Spain2024-06-17
1042Italy2024-06-14
1043Germany2024-06-03
1044Japan2024-05-29
1045India2024-06-19
1046Japan2024-06-02
1047Australia2024-05-30
1048Germany2024-06-05
1049Australia2024-05-28

On-Demand Data

NameIdCountryDate
Aruna K Poquette1000France2024-06-13
Leon R Marrier1001Australia2024-06-01
Tony F Gaucho1002Canada2024-05-23
Stacey C Doe1003Canada2024-06-06
James T Stenseth1004France2024-06-05
Ashley W Kolmetz1005Italy2024-06-06
Francesco H Bowley1006Canada2024-05-23
Nicolas Z Malet1007Italy2024-06-01
Maisha P Marrier1008India2024-06-16
Izzy Z Malet1009Germany2024-06-18
Jones J Chui1010Argentina2024-05-25
Chavez B Poquette1011Australia2024-06-07
Alejandro Q Stockham1012Russia2024-06-06
Leja B Stockham1013United Kingdom2024-06-12
Morrow C Malet1014Brazil2024-06-19
Arvin P Malet1015Australia2024-05-24
Misaki H Waycott1016Brazil2024-06-11
Jones B Nestle1017Brazil2024-06-19
Antonio B Ferencz1018United Kingdom2024-06-20
Aika X Albares1019Italy2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin T RulapaughIndiaStephen Shaw NEW
Kaitlin A FlosiIndiaOnyama Limba NEGOTIATION
Ashley P VenereRussiaIvan Magalhaes RENEWAL
Morrow F WieserArgentinaElwin Sharvill UNQUALIFIED
Leon A GauchoItalyAsiya Javayant NEW
Mayumi K CaudyAustraliaIoni Bowcher NEW
Salvatore Z GillianItalyAsiya Javayant QUALIFIED
Claire G ChuiIndiaXuxue Feng PROPOSAL
Misaki D PaprockiGermanyXuxue Feng RENEWAL
Antonio N SergiCanadaIvan Magalhaes UNQUALIFIED
Murillo L WieserSpainXuxue Feng UNQUALIFIED
Cody T BriddickBrazilXuxue Feng NEW
Jefferson B ButtItalyOnyama Limba RENEWAL
Mayumi I MaletGermanyElwin Sharvill RENEWAL
Kadeem D RimBrazilAsiya Javayant PROPOSAL
Darci M SergiAustraliaXuxue Feng NEGOTIATION
Jones P RoysterAustraliaBernardo Dominic RENEWAL
Isabel I BologniaJapanAnna Fali RENEWAL
Jefferson Y DarakjyAustraliaOnyama Limba NEW
James S WhobreyBrazilStephen Shaw QUALIFIED
Sinclair H MarrierFranceIoni Bowcher NEW
Sinclair W MorascaArgentinaAmy Elsner RENEWAL
Izzy I VenereRussiaBernardo Dominic QUALIFIED
Ivar A BowleyItalyStephen Shaw NEGOTIATION
Tony F BologniaRussiaAmy Elsner NEGOTIATION
Izzy S MacleadBrazilAnna Fali NEGOTIATION
Clifford I FigeroaRussiaIoni Bowcher RENEWAL
Munro Y GlickItalyIoni Bowcher QUALIFIED
Cody E StockhamBrazilBernardo Dominic PROPOSAL
Munro U SergiAustraliaIoni Bowcher PROPOSAL
Tony P CampainAustraliaAmy Elsner RENEWAL
Murillo H FollerIndiaIoni Bowcher UNQUALIFIED
Johnson P SlusarskiSpainBernardo Dominic NEGOTIATION
Jennifer E RutaSpainXuxue Feng UNQUALIFIED
Mayumi G CampainCanadaAnna Fali PROPOSAL
Nicolas O AmigonJapanElwin Sharvill RENEWAL
Deepesh A RimSpainStephen Shaw RENEWAL
Rodrigues G AlbaresFranceBernardo Dominic RENEWAL
Johnson R StensethUnited KingdomAsiya Javayant PROPOSAL
Kaitlin W NestleArgentinaAnna Fali 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>