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
Rodrigues V WieserAustraliaAsiya Javayant UNQUALIFIED
Rodrigues K MaletIndiaXuxue Feng UNQUALIFIED
Aditya D MaletItalyAsiya Javayant QUALIFIED
Aditya L OldroydGermanyAsiya Javayant QUALIFIED
Johnson H RulapaughCanadaIoni Bowcher PROPOSAL
Jeanfrancois T FlosiIndiaAnna Fali UNQUALIFIED
Silvio Q FerenczUnited KingdomStephen Shaw PROPOSAL
Nicolas P CaldareraArgentinaStephen Shaw QUALIFIED
Faith F StensethSpainOnyama Limba PROPOSAL
Jeanfrancois S AlbaresUnited KingdomOnyama Limba RENEWAL
Leja C FigeroaArgentinaXuxue Feng UNQUALIFIED
Salvatore K ShinkoAustraliaAnna Fali NEGOTIATION
Maisha Y WhobreyItalyBernardo Dominic QUALIFIED
Ivar D RulapaughRussiaStephen Shaw PROPOSAL
Kaitlin L NickaSpainAmy Elsner UNQUALIFIED
Wickens Q GlickItalyAsiya Javayant NEW
Ashley Q ShinkoRussiaBernardo Dominic UNQUALIFIED
Aruna U InouyeBrazilIoni Bowcher PROPOSAL
Maisha C WieserGermanyOnyama Limba NEW
Smith M GillianBrazilOnyama Limba PROPOSAL
Leon Y AlbaresRussiaElwin Sharvill UNQUALIFIED
Wickens J SchemmerBrazilXuxue Feng NEGOTIATION
Murillo H CaldareraGermanyElwin Sharvill UNQUALIFIED
Emily B MaletUnited KingdomBernardo Dominic PROPOSAL
Isabel O OldroydAustraliaAmy Elsner NEGOTIATION
Jefferson K MacleadBrazilElwin Sharvill PROPOSAL
Alejandro L MaletJapanIvan Magalhaes NEW
Kadeem K NestleRussiaIoni Bowcher NEW
Francesco N PaprockiJapanElwin Sharvill UNQUALIFIED
Octavia H WieserArgentinaAmy Elsner NEW
Isabel U RimAustraliaStephen Shaw RENEWAL
Stacey R MorascaRussiaIoni Bowcher QUALIFIED
Munro L WaycottGermanyIvan Magalhaes NEW
Leon H MaletAustraliaAnna Fali RENEWAL
Salvatore O InouyeJapanIvan Magalhaes NEGOTIATION
Jones W SaylorsGermanyBernardo Dominic PROPOSAL
Aika B MacleadJapanIoni Bowcher NEW
Juan P FollerArgentinaElwin Sharvill UNQUALIFIED
Arvin C SergiCanadaBernardo Dominic RENEWAL
Sinclair H SaylorsSpainXuxue Feng NEW
Ashley S CaldareraIndiaBernardo Dominic PROPOSAL
Juan N InouyeCanadaIoni Bowcher NEGOTIATION
Jeanfrancois M DarakjyRussiaAnna Fali PROPOSAL
Izzy Y StockhamJapanAsiya Javayant UNQUALIFIED
Maria U TollnerAustraliaIvan Magalhaes NEGOTIATION
Emily S WhobreyUnited KingdomAsiya Javayant NEGOTIATION
Costa E BologniaSpainBernardo Dominic RENEWAL
Ashley V VenereRussiaAmy Elsner UNQUALIFIED
Cody U RutaArgentinaAmy Elsner PROPOSAL
Kaitlin T RimSpainAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jones M OldroydSpainAsiya Javayant QUALIFIED
Maisha M StensethFranceStephen Shaw UNQUALIFIED
Mayumi P RoysterCanadaOnyama Limba PROPOSAL
Leja R MorascaRussiaAsiya Javayant NEGOTIATION
Adams R AmigonCanadaElwin Sharvill UNQUALIFIED
Kadeem D WaycottItalyIoni Bowcher NEGOTIATION
Salvatore L WhobreyUnited KingdomXuxue Feng NEGOTIATION
Leja S RimAustraliaXuxue Feng QUALIFIED
Leja L MaletAustraliaAnna Fali NEW
Sinclair C NickaUnited KingdomXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna W MaletCanada2024-05-23Benton, John B Jr RENEWAL20Amy Elsner
1001Leja Z VenereUnited Kingdom2024-06-11Commercial Press NEW48Onyama Limba
1002Isabel F BriddickArgentina2024-06-16Chanay, Jeffrey A Esq RENEWAL9Onyama Limba
1003Maria Z BowleyBrazil2024-06-11Rangoni Of Florence NEW82Elwin Sharvill
1004Cody K GlickArgentina2024-06-15Feiner Bros NEGOTIATION60Asiya Javayant
1005David X CampainItaly2024-06-07Dorl, James J Esq RENEWAL81Onyama Limba
1006Chavez X NickaItaly2024-06-16Chapman, Ross E Esq QUALIFIED99Elwin Sharvill
1007Juan E ShinkoSpain2024-06-19Feltz Printing Service NEGOTIATION66Ioni Bowcher
1008Juan D GillianIndia2024-05-28Chemel, James L Cpa NEW9Stephen Shaw
1009Wickens V VenereUnited Kingdom2024-06-16Rousseaux, Michael Esq QUALIFIED63Ioni Bowcher
1010Mayumi L TollnerSpain2024-05-26Commercial Press QUALIFIED7Onyama Limba
1011Leon U WieserBrazil2024-06-04Morlong Associates NEGOTIATION74Bernardo Dominic
1012Julie Z MacleadGermany2024-05-25Rangoni Of Florence UNQUALIFIED40Ivan Magalhaes
1013Aruna S VenereRussia2024-06-17Chemel, James L Cpa NEW81Asiya Javayant
1014Ashley O TollnerFrance2024-06-16Feiner Bros NEW75Onyama Limba
1015Deepesh H MaletBrazil2024-05-31Benton, John B Jr UNQUALIFIED50Elwin Sharvill
1016Silvio W IturbideAustralia2024-05-28Chapman, Ross E Esq RENEWAL64Bernardo Dominic
1017Costa R IturbideUnited Kingdom2024-06-08Chanay, Jeffrey A Esq PROPOSAL68Ivan Magalhaes
1018Izzy O AmigonArgentina2024-05-30Dorl, James J Esq UNQUALIFIED94Bernardo Dominic
1019Kaitlin R MorascaJapan2024-06-17Dorl, James J Esq NEGOTIATION85Anna Fali
1020Faith T FollerRussia2024-06-10Feltz Printing Service UNQUALIFIED7Elwin Sharvill
1021Morrow R KolmetzUnited Kingdom2024-06-11King, Christopher A Esq UNQUALIFIED6Stephen Shaw
1022Juan N BowleyUnited Kingdom2024-06-02Buckley Miller Wright PROPOSAL0Elwin Sharvill
1023Silvio I FerenczRussia2024-06-02Rousseaux, Michael Esq NEW67Elwin Sharvill
1024Nicolas O FerenczJapan2024-06-04Dorl, James J Esq UNQUALIFIED81Ivan Magalhaes
1025Leon A OstroskyCanada2024-05-23Printing Dimensions RENEWAL58Xuxue Feng
1026Deepesh G BowleyRussia2024-06-06Morlong Associates RENEWAL12Amy Elsner
1027Clifford E ChuiArgentina2024-05-25Chemel, James L Cpa QUALIFIED74Onyama Limba
1028Kadeem V WieserJapan2024-05-30Feiner Bros RENEWAL3Onyama Limba
1029Smith E FerenczSpain2024-06-02Printing Dimensions NEW22Amy Elsner
1030Aika G RoysterFrance2024-05-25Dorl, James J Esq RENEWAL5Anna Fali
1031James N KolmetzFrance2024-06-11Buckley Miller Wright QUALIFIED89Stephen Shaw
1032Antonio E IturbideRussia2024-06-21Truhlar And Truhlar Attys NEGOTIATION25Anna Fali
1033Ricardo N SergiAustralia2024-06-10Chapman, Ross E Esq RENEWAL4Anna Fali
1034Stacey U KuskoJapan2024-06-02Truhlar And Truhlar Attys UNQUALIFIED81Asiya Javayant
1035Leon Y GauchoFrance2024-06-09Feltz Printing Service NEW83Ioni Bowcher
1036Deepesh Z SaylorsUnited Kingdom2024-05-27Benton, John B Jr NEGOTIATION32Ivan Magalhaes
1037Johnson F DoeRussia2024-06-10Buckley Miller Wright UNQUALIFIED83Onyama Limba
1038Morrow X MorascaItaly2024-06-11Chanay, Jeffrey A Esq PROPOSAL47Asiya Javayant
1039Murillo W IturbideUnited Kingdom2024-06-20Dorl, James J Esq UNQUALIFIED18Bernardo Dominic
1040Clifford D KolmetzSpain2024-06-10Printing Dimensions NEGOTIATION60Ivan Magalhaes
1041Octavia U AmigonIndia2024-06-01Truhlar And Truhlar Attys RENEWAL41Ioni Bowcher
1042Johnson H OldroydRussia2024-06-17Feltz Printing Service PROPOSAL86Onyama Limba
1043Maisha T KuskoBrazil2024-06-07Truhlar And Truhlar Attys NEW70Bernardo Dominic
1044Emily T RulapaughSpain2024-06-06Benton, John B Jr QUALIFIED78Ivan Magalhaes
1045Francesco F GarufiJapan2024-05-24Chanay, Jeffrey A Esq QUALIFIED75Ioni Bowcher
1046Darci U PoquetteUnited Kingdom2024-06-09Truhlar And Truhlar Attys PROPOSAL35Anna Fali
1047Alejandro P SlusarskiUnited Kingdom2024-05-26Feltz Printing Service PROPOSAL65Stephen Shaw
1048Octavia R InouyeArgentina2024-06-05Commercial Press PROPOSAL10Xuxue Feng
1049Aditya D WieserItaly2024-06-21Feiner Bros RENEWAL65Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Rodrigues G StockhamItalyXuxue Feng PROPOSAL
Darci I MorascaFranceIvan Magalhaes NEW
Julie I CaudyRussiaElwin Sharvill NEW
Claire J NickaCanadaXuxue Feng PROPOSAL
Mujtaba V NestleIndiaIvan Magalhaes RENEWAL
Costa Y RulapaughBrazilElwin Sharvill UNQUALIFIED
Antonio H StockhamIndiaAmy Elsner QUALIFIED
Emily G RoysterRussiaAmy Elsner NEGOTIATION
Rodrigues B BriddickJapanOnyama Limba UNQUALIFIED
Salvatore Z GlickGermanyBernardo Dominic NEGOTIATION
Silvio A MarrierArgentinaElwin Sharvill NEW
Jennifer I VenereRussiaAmy Elsner RENEWAL
Francesco I FerenczCanadaXuxue Feng NEW
Izzy S MaletAustraliaXuxue Feng UNQUALIFIED
Octavia G GlickBrazilAmy Elsner PROPOSAL
Deepesh V ButtBrazilXuxue Feng UNQUALIFIED
Morrow V SergiBrazilOnyama Limba PROPOSAL
Francesco R VenereJapanBernardo Dominic PROPOSAL
Munro Q BologniaItalyIvan Magalhaes RENEWAL
Chavez K CaldareraSpainOnyama Limba NEW
Aruna F MaletGermanyElwin Sharvill NEW
Jeanfrancois H PoquetteRussiaBernardo Dominic UNQUALIFIED
Aruna M OstroskyGermanyAmy Elsner RENEWAL
Cody M DarakjyFranceAsiya Javayant QUALIFIED
Kaitlin I SergiFranceStephen Shaw NEW
Alejandro I GarufiIndiaOnyama Limba QUALIFIED
Jennifer Q MaletUnited KingdomIvan Magalhaes NEGOTIATION
Arvin F WieserJapanAnna Fali PROPOSAL
Cody Z CampainBrazilIvan Magalhaes UNQUALIFIED
Emily P OldroydArgentinaXuxue Feng PROPOSAL
Adams S SlusarskiSpainXuxue Feng NEGOTIATION
Octavia J MarrierArgentinaStephen Shaw NEGOTIATION
Jones Z KolmetzBrazilIoni Bowcher NEGOTIATION
Ashley U FollerJapanAmy Elsner NEW
David C BriddickRussiaIoni Bowcher NEW
Sinclair G CampainItalyIoni Bowcher QUALIFIED
Francesco B MarrierIndiaAmy Elsner NEW
Greenwood X BologniaRussiaBernardo Dominic NEGOTIATION
Morrow M KuskoSpainBernardo Dominic PROPOSAL
Darci P PerinJapanXuxue Feng RENEWAL
Izzy R WhobreyIndiaOnyama Limba NEGOTIATION
Murillo J FigeroaUnited KingdomElwin Sharvill NEGOTIATION
Jones S PaprockiBrazilAsiya Javayant UNQUALIFIED
James X DilliardJapanAmy Elsner NEW
Deepesh K KolmetzSpainAmy Elsner UNQUALIFIED
Leon A SchemmerFranceStephen Shaw NEGOTIATION
Jennifer T GarufiGermanyAmy Elsner PROPOSAL
Ricardo Q PerinSpainAmy Elsner UNQUALIFIED
Mujtaba G SaylorsArgentinaAmy Elsner NEW
Aruna X StockhamItalyXuxue Feng NEGOTIATION
Frozen Columns
Name
Deepesh C Caudy
Jones C Amigon
Jones W Morasca
Wickens J Venere
Aditya N Ruta
Julie Y Malet
Arvin Z Perin
Clifford T Schemmer
Maisha M Figeroa
Silvio R Nestle
Cody C Albares
Smith D Maclead
Jefferson F Bowley
Jeanfrancois V Bolognia
Ivar L Royster
Jones D Saylors
Wickens C Figeroa
Kaitlin X Rim
Aditya X Venere
Julie P Slusarski
Jennifer Y Marrier
Ricardo R Stenseth
Emily E Nicka
Leja T Ruta
James N Kusko
Sinclair P Ostrosky
Johnson Q Venere
Faith Q Campain
Aditya B Whobrey
Kadeem H Waycott
Aruna L Saylors
Deepesh Q Inouye
Silvio J Gillian
Aruna B Marrier
Morrow M Royster
Arvin F Maclead
Leja N Vocelka
Kadeem G Garufi
Julie T Dilliard
Emily F Chui
Misaki N Marrier
Nicolas X Whobrey
Ricardo J Campain
Faith D Darakjy
Stacey A Chui
Claire M Bolognia
Kadeem Q Campain
Leja Z Doe
Smith F Marrier
Alejandro I Gillian
IdCountryDate
1000Germany2024-06-21
1001Spain2024-05-25
1002Canada2024-05-28
1003Japan2024-05-30
1004Germany2024-05-24
1005France2024-06-01
1006United Kingdom2024-06-12
1007United Kingdom2024-05-25
1008Argentina2024-05-28
1009Russia2024-06-03
1010Japan2024-05-27
1011Brazil2024-05-23
1012Canada2024-06-06
1013United Kingdom2024-06-09
1014Canada2024-05-23
1015Russia2024-05-28
1016France2024-06-09
1017Brazil2024-05-29
1018Japan2024-05-28
1019Spain2024-06-07
1020Italy2024-06-07
1021India2024-06-11
1022Germany2024-06-10
1023Russia2024-06-04
1024Germany2024-05-25
1025India2024-06-15
1026France2024-06-19
1027India2024-06-11
1028Australia2024-06-10
1029Argentina2024-06-07
1030Germany2024-05-29
1031Australia2024-06-07
1032Russia2024-06-18
1033Japan2024-06-08
1034Italy2024-06-14
1035United Kingdom2024-06-21
1036Argentina2024-06-10
1037Spain2024-06-12
1038Argentina2024-06-01
1039Australia2024-05-23
1040Argentina2024-05-25
1041Germany2024-06-05
1042Canada2024-06-15
1043Argentina2024-06-06
1044Germany2024-06-11
1045Spain2024-06-07
1046Russia2024-06-15
1047Germany2024-06-08
1048Spain2024-06-09
1049India2024-06-18

On-Demand Data

NameIdCountryDate
Leon U Ferencz1000Russia2024-06-20
Cody F Malet1001India2024-06-14
Antonio S Marrier1002United Kingdom2024-05-27
Francesco Q Glick1003Brazil2024-05-27
Murillo P Morasca1004Argentina2024-06-12
Jones Q Chui1005Italy2024-06-12
Mayumi Y Kusko1006Russia2024-06-20
Chavez Z Malet1007Argentina2024-06-02
Salvatore A Perin1008Brazil2024-06-19
Stacey X Bolognia1009Germany2024-05-27
Johnson M Perin1010France2024-06-15
Aditya P Iturbide1011Italy2024-06-14
Mayumi L Butt1012Russia2024-05-26
Jefferson P Doe1013Spain2024-06-16
Leja X Amigon1014Argentina2024-05-31
James L Nicka1015Germany2024-06-21
Ricardo S Foller1016Germany2024-06-16
Kaitlin E Kusko1017Japan2024-06-11
Ricardo M Doe1018Argentina2024-06-03
Deepesh F Nicka1019Russia2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo S WhobreyUnited KingdomOnyama Limba NEGOTIATION
Francesco V PoquetteJapanElwin Sharvill RENEWAL
Mayumi Z SlusarskiSpainIvan Magalhaes NEW
Juan D GillianGermanyAmy Elsner NEGOTIATION
Maisha I WieserBrazilStephen Shaw QUALIFIED
David F AlbaresFranceAsiya Javayant UNQUALIFIED
Jones A FlosiItalyIvan Magalhaes RENEWAL
Juan H NestleCanadaOnyama Limba PROPOSAL
Cody F RoysterCanadaIvan Magalhaes NEGOTIATION
Stacey P RulapaughIndiaStephen Shaw QUALIFIED
Claire P CaudyCanadaAmy Elsner RENEWAL
Misaki Y ButtBrazilAsiya Javayant NEGOTIATION
Isabel T StensethGermanyOnyama Limba QUALIFIED
Antonio F SergiFranceElwin Sharvill PROPOSAL
Ricardo J ShinkoAustraliaBernardo Dominic PROPOSAL
Maria Z OldroydAustraliaAmy Elsner PROPOSAL
Kaitlin H GauchoArgentinaStephen Shaw QUALIFIED
Mujtaba B GillianIndiaBernardo Dominic NEGOTIATION
Aika D PoquetteAustraliaElwin Sharvill NEW
Leja V MaletJapanAsiya Javayant PROPOSAL
Rodrigues A StockhamUnited KingdomXuxue Feng UNQUALIFIED
Francesco V BologniaSpainStephen Shaw UNQUALIFIED
Greenwood U RulapaughRussiaElwin Sharvill NEW
Maria W WaycottJapanAsiya Javayant UNQUALIFIED
James S StockhamSpainAnna Fali QUALIFIED
Jefferson A DilliardUnited KingdomAsiya Javayant QUALIFIED
James T AlbaresGermanyOnyama Limba NEGOTIATION
Alejandro G CaldareraJapanAmy Elsner PROPOSAL
Misaki Y MaletAustraliaAmy Elsner QUALIFIED
Cody R MarrierArgentinaIvan Magalhaes UNQUALIFIED
Ricardo Z RutaAustraliaIoni Bowcher NEGOTIATION
Misaki R BowleyGermanyOnyama Limba NEW
Emily G ButtGermanyBernardo Dominic UNQUALIFIED
Misaki T RoysterItalyAmy Elsner UNQUALIFIED
Jones J TollnerAustraliaBernardo Dominic NEW
Sinclair G FollerCanadaAmy Elsner QUALIFIED
Arvin K SchemmerIndiaAnna Fali QUALIFIED
Chavez W KuskoRussiaAmy Elsner UNQUALIFIED
Isabel J CaudyArgentinaIvan Magalhaes NEGOTIATION
Darci H FerenczGermanyStephen Shaw 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>