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
Wickens W StensethAustraliaAmy Elsner RENEWAL
Greenwood I CaudyRussiaAmy Elsner RENEWAL
Maisha I RulapaughUnited KingdomOnyama Limba RENEWAL
Juan Y NestleAustraliaElwin Sharvill RENEWAL
Wickens W WieserAustraliaIoni Bowcher NEW
Johnson Q GillianJapanBernardo Dominic NEW
Faith C KuskoBrazilXuxue Feng QUALIFIED
Julie S KuskoUnited KingdomOnyama Limba NEGOTIATION
Juan F MaletUnited KingdomIoni Bowcher NEGOTIATION
Stacey E RutaCanadaAmy Elsner NEGOTIATION
Munro R PerinUnited KingdomIoni Bowcher NEW
Aditya N DoeRussiaIoni Bowcher RENEWAL
Jennifer E MaletUnited KingdomStephen Shaw QUALIFIED
Adams T MorascaAustraliaXuxue Feng UNQUALIFIED
Isabel Q DarakjyIndiaAmy Elsner NEGOTIATION
Misaki T ButtBrazilAnna Fali NEW
Misaki G GillianCanadaAsiya Javayant NEW
Francesco J RoysterRussiaXuxue Feng PROPOSAL
Aika T RulapaughJapanIvan Magalhaes PROPOSAL
Silvio I StensethItalyAmy Elsner RENEWAL
Antonio L DilliardBrazilAmy Elsner UNQUALIFIED
Leon A MarrierUnited KingdomIvan Magalhaes NEGOTIATION
Jeanfrancois K ShinkoCanadaXuxue Feng NEGOTIATION
Maisha F WhobreyCanadaAnna Fali NEW
Costa V GlickArgentinaAsiya Javayant NEW
Jennifer W FlosiFranceIoni Bowcher QUALIFIED
Kaitlin G MorascaBrazilAmy Elsner PROPOSAL
Maisha M SergiGermanyBernardo Dominic UNQUALIFIED
Deepesh L PerinJapanAmy Elsner NEGOTIATION
Clifford Q RoysterGermanyBernardo Dominic PROPOSAL
Leja F AmigonIndiaElwin Sharvill RENEWAL
Stacey Z KolmetzJapanAsiya Javayant PROPOSAL
Izzy U StockhamGermanyXuxue Feng UNQUALIFIED
Leon I RulapaughBrazilElwin Sharvill NEW
Nicolas L WaycottCanadaAsiya Javayant PROPOSAL
Misaki R MaletIndiaElwin Sharvill UNQUALIFIED
Rodrigues X MaletArgentinaAsiya Javayant UNQUALIFIED
Deepesh M MaletUnited KingdomElwin Sharvill RENEWAL
Jefferson Y NestleJapanElwin Sharvill QUALIFIED
Stacey M WieserIndiaElwin Sharvill NEGOTIATION
Emily K IturbideCanadaStephen Shaw QUALIFIED
Murillo C RulapaughCanadaElwin Sharvill UNQUALIFIED
Costa Y BologniaGermanyIoni Bowcher UNQUALIFIED
Salvatore P CampainIndiaXuxue Feng UNQUALIFIED
Francesco U GillianFranceAnna Fali NEGOTIATION
Izzy A MorascaItalyIoni Bowcher PROPOSAL
Julie C FerenczSpainAmy Elsner NEW
Isabel K VenereGermanyOnyama Limba RENEWAL
Alejandro D GillianIndiaAsiya Javayant QUALIFIED
Greenwood I SchemmerJapanAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Wickens Z WhobreyBrazilIoni Bowcher QUALIFIED
Faith N RulapaughRussiaAnna Fali NEW
Clifford L VocelkaFranceElwin Sharvill UNQUALIFIED
Sinclair Q WhobreyBrazilBernardo Dominic RENEWAL
Jefferson H FollerGermanyAnna Fali PROPOSAL
Munro M NickaRussiaIvan Magalhaes QUALIFIED
Rodrigues B StensethAustraliaXuxue Feng PROPOSAL
Jennifer Q MacleadCanadaElwin Sharvill UNQUALIFIED
David L StensethArgentinaAsiya Javayant QUALIFIED
Smith X BowleyCanadaXuxue Feng QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Deepesh C PaprockiRussia2024-06-23Chanay, Jeffrey A Esq UNQUALIFIED35Xuxue Feng
1001Julie T StensethAustralia2024-06-18Commercial Press QUALIFIED75Xuxue Feng
1002Smith H RutaUnited Kingdom2024-06-20Printing Dimensions QUALIFIED80Stephen Shaw
1003Leja M RulapaughFrance2024-06-21Dorl, James J Esq NEGOTIATION2Bernardo Dominic
1004Wickens W VocelkaAustralia2024-06-24Morlong Associates PROPOSAL2Onyama Limba
1005Antonio C DarakjyBrazil2024-06-21Benton, John B Jr RENEWAL19Stephen Shaw
1006Johnson U RulapaughSpain2024-06-18King, Christopher A Esq RENEWAL45Asiya Javayant
1007James L SergiUnited Kingdom2024-06-12Benton, John B Jr QUALIFIED91Amy Elsner
1008Sinclair Q ShinkoFrance2024-06-07Feltz Printing Service PROPOSAL45Amy Elsner
1009Kadeem S SchemmerAustralia2024-06-02Morlong Associates PROPOSAL76Elwin Sharvill
1010Julie S FerenczAustralia2024-06-09Printing Dimensions QUALIFIED5Asiya Javayant
1011Ivar F FlosiJapan2024-05-30Truhlar And Truhlar Attys NEGOTIATION6Ioni Bowcher
1012Rodrigues Z GlickArgentina2024-06-14Chanay, Jeffrey A Esq PROPOSAL22Ioni Bowcher
1013Kadeem W AmigonJapan2024-05-27Printing Dimensions RENEWAL86Bernardo Dominic
1014Deepesh P WhobreyJapan2024-06-16Commercial Press PROPOSAL71Onyama Limba
1015Ricardo J StockhamUnited Kingdom2024-06-14Commercial Press UNQUALIFIED88Ivan Magalhaes
1016Aruna E WieserJapan2024-06-11Dorl, James J Esq QUALIFIED31Onyama Limba
1017Morrow S GauchoIndia2024-06-02Commercial Press UNQUALIFIED94Anna Fali
1018Faith S RulapaughItaly2024-06-01Printing Dimensions NEGOTIATION66Anna Fali
1019Kadeem X TollnerIndia2024-06-12Benton, John B Jr NEGOTIATION27Anna Fali
1020Ashley Y OldroydSpain2024-06-15Feltz Printing Service RENEWAL24Xuxue Feng
1021Rodrigues W GlickSpain2024-06-20Dorl, James J Esq NEGOTIATION32Stephen Shaw
1022Izzy N IturbideBrazil2024-05-27Chanay, Jeffrey A Esq QUALIFIED49Ioni Bowcher
1023Francesco T DoeCanada2024-05-27Benton, John B Jr RENEWAL65Stephen Shaw
1024Wickens X RimIndia2024-06-06Rousseaux, Michael Esq RENEWAL61Xuxue Feng
1025Salvatore V ButtSpain2024-05-28Chemel, James L Cpa PROPOSAL52Asiya Javayant
1026Mujtaba S AlbaresItaly2024-05-29Feltz Printing Service NEGOTIATION19Ioni Bowcher
1027Jefferson M AlbaresItaly2024-05-29Benton, John B Jr PROPOSAL93Asiya Javayant
1028Jennifer Y FigeroaSpain2024-06-05Printing Dimensions QUALIFIED69Ioni Bowcher
1029Silvio F RulapaughSpain2024-06-14Feltz Printing Service UNQUALIFIED64Ivan Magalhaes
1030David Q RutaFrance2024-06-16Benton, John B Jr NEGOTIATION25Amy Elsner
1031Leja W BologniaSpain2024-06-05Chapman, Ross E Esq UNQUALIFIED47Stephen Shaw
1032Claire N RimArgentina2024-06-15King, Christopher A Esq QUALIFIED13Xuxue Feng
1033Rodrigues X SchemmerRussia2024-06-20Rousseaux, Michael Esq NEW43Ioni Bowcher
1034Maria X KuskoJapan2024-05-29Rangoni Of Florence PROPOSAL84Onyama Limba
1035Darci F SergiSpain2024-05-27Buckley Miller Wright NEGOTIATION40Amy Elsner
1036Aika F ShinkoBrazil2024-05-29Chemel, James L Cpa NEW69Amy Elsner
1037Tony Q OstroskyArgentina2024-06-14Truhlar And Truhlar Attys QUALIFIED87Asiya Javayant
1038Silvio T InouyeCanada2024-06-09Chanay, Jeffrey A Esq NEGOTIATION51Xuxue Feng
1039Johnson T MaletRussia2024-05-28King, Christopher A Esq QUALIFIED55Ioni Bowcher
1040Ashley L GauchoUnited Kingdom2024-06-19Rangoni Of Florence UNQUALIFIED63Elwin Sharvill
1041Deepesh T SchemmerRussia2024-06-15Feltz Printing Service QUALIFIED40Bernardo Dominic
1042Silvio D RulapaughAustralia2024-06-18Dorl, James J Esq RENEWAL90Onyama Limba
1043Clifford S KuskoUnited Kingdom2024-06-24Buckley Miller Wright NEW58Xuxue Feng
1044Julie P RimCanada2024-06-04Printing Dimensions NEW87Anna Fali
1045Munro E FlosiRussia2024-06-19Chemel, James L Cpa QUALIFIED68Ioni Bowcher
1046Claire H GlickCanada2024-06-10Morlong Associates QUALIFIED51Stephen Shaw
1047Alejandro M WaycottItaly2024-06-14Chanay, Jeffrey A Esq NEW45Ioni Bowcher
1048Sinclair W BowleySpain2024-06-11Truhlar And Truhlar Attys QUALIFIED78Xuxue Feng
1049Silvio L CaudyRussia2024-06-13Chanay, Jeffrey A Esq NEW23Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Darci G RutaBrazilIvan Magalhaes UNQUALIFIED
Sinclair B GarufiFranceBernardo Dominic RENEWAL
Alejandro F KolmetzBrazilXuxue Feng NEGOTIATION
Isabel T RulapaughCanadaAmy Elsner UNQUALIFIED
Arvin A WieserRussiaAmy Elsner RENEWAL
Juan R DarakjyGermanyAnna Fali QUALIFIED
Smith B CaudyFranceOnyama Limba UNQUALIFIED
Munro F MacleadRussiaBernardo Dominic UNQUALIFIED
Maisha S GarufiBrazilElwin Sharvill PROPOSAL
Kadeem Y MacleadArgentinaIvan Magalhaes RENEWAL
Ricardo A StensethRussiaAnna Fali QUALIFIED
Francesco M WieserArgentinaIoni Bowcher QUALIFIED
Greenwood I PoquetteArgentinaStephen Shaw RENEWAL
Wickens L AlbaresGermanyBernardo Dominic UNQUALIFIED
Arvin A MaletFranceElwin Sharvill NEW
Deepesh U BriddickJapanElwin Sharvill QUALIFIED
Izzy B NickaJapanStephen Shaw NEW
Morrow H InouyeBrazilStephen Shaw UNQUALIFIED
David R RulapaughAustraliaXuxue Feng UNQUALIFIED
Kadeem U TollnerGermanyAsiya Javayant NEGOTIATION
Kadeem U CampainCanadaIvan Magalhaes RENEWAL
Johnson J KolmetzJapanIoni Bowcher RENEWAL
Cody N FerenczUnited KingdomElwin Sharvill UNQUALIFIED
Silvio X CaldareraArgentinaBernardo Dominic PROPOSAL
Adams Z MaletItalyOnyama Limba RENEWAL
Wickens K OldroydUnited KingdomStephen Shaw RENEWAL
Costa Q CaudyRussiaOnyama Limba RENEWAL
Jones J BowleyCanadaIvan Magalhaes RENEWAL
Kaitlin M SergiUnited KingdomAnna Fali PROPOSAL
Nicolas Z NestleRussiaXuxue Feng UNQUALIFIED
Jones V OldroydUnited KingdomAsiya Javayant PROPOSAL
Leon D MaletBrazilIvan Magalhaes UNQUALIFIED
Mayumi K WhobreyFranceAsiya Javayant RENEWAL
David G AlbaresItalyAsiya Javayant NEGOTIATION
Aika D ButtItalyIvan Magalhaes NEW
Nicolas W CampainJapanAnna Fali PROPOSAL
Aditya E RutaUnited KingdomAsiya Javayant UNQUALIFIED
Octavia Y MarrierSpainAnna Fali QUALIFIED
Francesco H IturbideJapanElwin Sharvill RENEWAL
Ricardo A VocelkaRussiaOnyama Limba NEW
Francesco S CaudyFranceIoni Bowcher RENEWAL
Izzy C NestleIndiaElwin Sharvill NEGOTIATION
Antonio I BologniaUnited KingdomStephen Shaw QUALIFIED
Deepesh F RoysterGermanyXuxue Feng NEW
Clifford O CampainAustraliaAnna Fali RENEWAL
Kadeem M NestleFranceStephen Shaw RENEWAL
Claire Q GauchoFranceAmy Elsner QUALIFIED
Munro V FlosiJapanOnyama Limba QUALIFIED
Faith T SergiCanadaOnyama Limba RENEWAL
Claire D CaldareraArgentinaOnyama Limba QUALIFIED
Frozen Columns
Name
Johnson O Schemmer
Kadeem S Doe
Julie N Butt
James U Ferencz
Deepesh Q Whobrey
Stacey E Chui
Wickens G Amigon
Aruna R Ostrosky
Clifford P Albares
Smith U Figeroa
Julie R Ruta
Jones I Waycott
Adams D Wieser
Antonio H Paprocki
Aruna M Maclead
Francesco D Wieser
Rodrigues A Briddick
Clifford Y Morasca
Ivar E Shinko
Ivar W Tollner
Cody G Rim
Juan P Sergi
Misaki F Saylors
Antonio K Briddick
Deepesh V Oldroyd
Francesco F Gaucho
Deepesh L Tollner
Wickens Y Kusko
Morrow V Wieser
Leja B Marrier
Izzy G Royster
Johnson N Ruta
Morrow N Stenseth
Kadeem S Paprocki
Deepesh S Maclead
Munro V Garufi
James P Whobrey
Murillo L Glick
David E Rim
Octavia D Waycott
Jennifer Z Ruta
Mayumi Y Marrier
Salvatore V Sergi
Kaitlin Q Campain
Murillo J Morasca
Ivar L Paprocki
Maisha L Garufi
Nicolas B Rulapaugh
Mujtaba T Malet
Kadeem Y Butt
IdCountryDate
1000Canada2024-06-21
1001Italy2024-06-09
1002Canada2024-06-05
1003Italy2024-06-14
1004Argentina2024-06-07
1005Argentina2024-06-19
1006Argentina2024-06-23
1007Germany2024-05-26
1008Germany2024-06-23
1009Argentina2024-06-12
1010Japan2024-06-14
1011Italy2024-06-24
1012Brazil2024-06-20
1013Brazil2024-06-14
1014Argentina2024-05-27
1015Japan2024-05-28
1016Germany2024-06-09
1017Japan2024-06-02
1018United Kingdom2024-06-07
1019Japan2024-06-05
1020Germany2024-06-11
1021France2024-05-31
1022India2024-06-20
1023Russia2024-06-13
1024Canada2024-05-26
1025United Kingdom2024-06-24
1026Canada2024-06-15
1027Spain2024-06-03
1028Japan2024-06-05
1029France2024-06-18
1030Italy2024-06-07
1031Canada2024-06-09
1032India2024-06-08
1033India2024-05-26
1034Spain2024-06-05
1035Brazil2024-06-02
1036Germany2024-05-28
1037Spain2024-05-30
1038Japan2024-06-19
1039France2024-06-09
1040Argentina2024-06-11
1041Italy2024-06-08
1042Italy2024-05-26
1043Argentina2024-06-23
1044Russia2024-06-22
1045Italy2024-06-13
1046Australia2024-06-22
1047Italy2024-06-11
1048Brazil2024-06-23
1049Argentina2024-06-10

On-Demand Data

NameIdCountryDate
Cody C Caudy1000United Kingdom2024-06-05
Faith Q Glick1001Germany2024-05-28
Ashley A Figeroa1002France2024-05-29
Morrow Y Butt1003India2024-06-18
Salvatore B Perin1004United Kingdom2024-06-08
Smith G Bolognia1005Australia2024-06-05
Octavia G Royster1006Spain2024-06-12
Maria J Schemmer1007India2024-06-15
Clifford M Venere1008India2024-05-26
Murillo W Schemmer1009Spain2024-06-07
Kadeem H Ruta1010India2024-05-28
Munro Z Albares1011Russia2024-06-01
Julie F Marrier1012Russia2024-06-02
Maisha J Stockham1013Italy2024-06-11
Murillo C Rulapaugh1014Brazil2024-06-19
Darci T Iturbide1015Canada2024-05-30
Alejandro L Perin1016Japan2024-06-23
Clifford V Glick1017Argentina2024-06-08
Isabel C Sergi1018United Kingdom2024-06-02
Clifford B Nicka1019Canada2024-06-02
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon B GillianRussiaXuxue Feng QUALIFIED
Clifford X MarrierFranceAnna Fali UNQUALIFIED
Julie W AmigonSpainXuxue Feng NEW
Julie R OldroydBrazilOnyama Limba NEW
Julie D VocelkaGermanyBernardo Dominic RENEWAL
Nicolas I BowleyUnited KingdomAnna Fali RENEWAL
Salvatore T InouyeIndiaIoni Bowcher UNQUALIFIED
Aditya J NickaUnited KingdomIoni Bowcher PROPOSAL
Murillo Q FigeroaFranceBernardo Dominic RENEWAL
Stacey Q SlusarskiIndiaAmy Elsner NEW
Isabel I WaycottRussiaElwin Sharvill NEW
Misaki F PerinGermanyAsiya Javayant NEW
Izzy F WieserFranceAsiya Javayant RENEWAL
Julie S DoeJapanOnyama Limba PROPOSAL
Maisha U MaletSpainBernardo Dominic PROPOSAL
Clifford L RulapaughAustraliaAnna Fali PROPOSAL
Ricardo H FerenczRussiaElwin Sharvill NEW
Salvatore W MarrierAustraliaBernardo Dominic RENEWAL
James G MaletRussiaXuxue Feng NEGOTIATION
Deepesh M MarrierItalyAnna Fali PROPOSAL
Leon M MorascaArgentinaIvan Magalhaes NEGOTIATION
Leon F OldroydJapanStephen Shaw QUALIFIED
Isabel F DilliardGermanyStephen Shaw NEW
Octavia N MacleadRussiaIvan Magalhaes NEW
Ricardo I BriddickSpainXuxue Feng PROPOSAL
Nicolas C InouyeRussiaXuxue Feng NEGOTIATION
Isabel V PoquetteIndiaAnna Fali RENEWAL
Silvio J AmigonAustraliaStephen Shaw PROPOSAL
Kadeem J WaycottGermanyAnna Fali NEW
Murillo B MorascaItalyBernardo Dominic UNQUALIFIED
Faith F GauchoCanadaIoni Bowcher PROPOSAL
Alejandro W SergiUnited KingdomStephen Shaw QUALIFIED
Darci U VocelkaItalyStephen Shaw PROPOSAL
Leon C RimGermanyIvan Magalhaes NEGOTIATION
Kadeem A SchemmerArgentinaAnna Fali RENEWAL
Greenwood H CaudyUnited KingdomXuxue Feng RENEWAL
Wickens J GauchoBrazilAnna Fali NEW
Aika O GauchoGermanyBernardo Dominic PROPOSAL
Izzy Z WhobreyUnited KingdomAmy Elsner NEGOTIATION
Emily F SaylorsJapanXuxue Feng RENEWAL

<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>