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
Jennifer O CampainIndiaStephen Shaw RENEWAL
Clifford P SlusarskiCanadaOnyama Limba UNQUALIFIED
Mayumi L FollerUnited KingdomOnyama Limba PROPOSAL
Izzy Z WieserSpainAsiya Javayant NEW
Emily L PoquetteIndiaElwin Sharvill QUALIFIED
Jeanfrancois N StockhamFranceStephen Shaw NEGOTIATION
Isabel B SlusarskiRussiaStephen Shaw RENEWAL
Maisha Z BologniaItalyElwin Sharvill QUALIFIED
Misaki F WieserGermanyOnyama Limba RENEWAL
Julie G BowleyGermanyStephen Shaw UNQUALIFIED
Claire H AmigonUnited KingdomIvan Magalhaes RENEWAL
Aditya Z ShinkoGermanyAnna Fali PROPOSAL
Johnson K OldroydGermanyIvan Magalhaes RENEWAL
Arvin D PerinArgentinaBernardo Dominic UNQUALIFIED
Darci G SlusarskiFranceIoni Bowcher QUALIFIED
Sinclair J PoquetteGermanyXuxue Feng UNQUALIFIED
Aruna R KuskoJapanStephen Shaw NEW
Murillo U SlusarskiArgentinaXuxue Feng NEGOTIATION
Wickens R PerinGermanyIvan Magalhaes UNQUALIFIED
Darci R RoysterGermanyAsiya Javayant QUALIFIED
Isabel A NestleJapanIvan Magalhaes UNQUALIFIED
Smith K CaldareraRussiaStephen Shaw RENEWAL
Julie C ChuiIndiaElwin Sharvill QUALIFIED
James E GauchoAustraliaBernardo Dominic NEGOTIATION
Leja P DoeBrazilStephen Shaw UNQUALIFIED
Francesco X CaldareraArgentinaAnna Fali UNQUALIFIED
Izzy C KolmetzCanadaAsiya Javayant QUALIFIED
Wickens Z FlosiItalyOnyama Limba PROPOSAL
Jeanfrancois Y OstroskyCanadaAsiya Javayant QUALIFIED
Nicolas E RulapaughJapanStephen Shaw RENEWAL
Maria J DilliardFranceAmy Elsner NEW
Kadeem R DoeCanadaStephen Shaw PROPOSAL
Misaki G ShinkoFranceElwin Sharvill PROPOSAL
Mujtaba D NickaItalyBernardo Dominic RENEWAL
Silvio M WhobreyUnited KingdomIvan Magalhaes RENEWAL
Cody V StockhamIndiaIvan Magalhaes PROPOSAL
Wickens S IturbideCanadaIvan Magalhaes PROPOSAL
Murillo N WaycottGermanyXuxue Feng NEGOTIATION
Julie I InouyeBrazilStephen Shaw NEGOTIATION
Murillo O PaprockiRussiaBernardo Dominic QUALIFIED
Rodrigues N MaletIndiaAmy Elsner RENEWAL
Kadeem F PaprockiFranceAmy Elsner UNQUALIFIED
Deepesh A GillianArgentinaAmy Elsner NEGOTIATION
Francesco T WaycottIndiaXuxue Feng NEGOTIATION
Maisha M SlusarskiArgentinaStephen Shaw NEGOTIATION
Darci E KuskoAustraliaOnyama Limba PROPOSAL
Tony C KolmetzFranceAsiya Javayant UNQUALIFIED
Morrow V MacleadAustraliaBernardo Dominic UNQUALIFIED
Claire R GarufiFranceBernardo Dominic NEGOTIATION
Ivar P WieserItalyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Leon R BologniaCanadaAmy Elsner NEW
Tony L SlusarskiBrazilIvan Magalhaes RENEWAL
Johnson K RoysterJapanIoni Bowcher PROPOSAL
Chavez E FigeroaCanadaBernardo Dominic UNQUALIFIED
Johnson I StensethArgentinaAnna Fali NEGOTIATION
Nicolas X NickaUnited KingdomAmy Elsner PROPOSAL
Isabel V RoysterItalyAnna Fali RENEWAL
Kaitlin N BologniaRussiaAsiya Javayant PROPOSAL
Antonio F IturbideCanadaAnna Fali PROPOSAL
Sinclair L VocelkaJapanAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie W GillianSpain2024-05-30Rousseaux, Michael Esq QUALIFIED19Xuxue Feng
1001Jefferson F TollnerRussia2024-06-03Rousseaux, Michael Esq QUALIFIED85Xuxue Feng
1002Francesco I GauchoItaly2024-06-20Rousseaux, Michael Esq PROPOSAL67Elwin Sharvill
1003Kaitlin L StensethSpain2024-05-31Chemel, James L Cpa UNQUALIFIED71Onyama Limba
1004Aditya C MaletIndia2024-06-04Rangoni Of Florence QUALIFIED46Ioni Bowcher
1005Ricardo F PoquetteSpain2024-05-30Feltz Printing Service NEGOTIATION32Elwin Sharvill
1006Costa N ButtGermany2024-06-23Chemel, James L Cpa RENEWAL43Stephen Shaw
1007Faith R MarrierJapan2024-06-10Dorl, James J Esq PROPOSAL46Stephen Shaw
1008Leon E AmigonFrance2024-06-16Chanay, Jeffrey A Esq PROPOSAL40Elwin Sharvill
1009Darci O StensethGermany2024-06-06Rousseaux, Michael Esq NEW81Amy Elsner
1010Isabel N StensethSpain2024-05-29Feltz Printing Service QUALIFIED89Ivan Magalhaes
1011Johnson E StockhamJapan2024-06-17Rangoni Of Florence PROPOSAL21Ioni Bowcher
1012Kadeem K MarrierCanada2024-06-21Rangoni Of Florence NEW25Bernardo Dominic
1013Jones C FlosiSpain2024-06-23Feltz Printing Service PROPOSAL22Onyama Limba
1014Emily V GauchoSpain2024-06-14Dorl, James J Esq NEW98Stephen Shaw
1015Francesco Q RulapaughSpain2024-05-28Feiner Bros RENEWAL22Amy Elsner
1016James S StensethSpain2024-06-15Dorl, James J Esq UNQUALIFIED4Amy Elsner
1017Wickens C MaletArgentina2024-06-23Truhlar And Truhlar Attys NEW33Onyama Limba
1018Jones O DarakjyRussia2024-06-21Printing Dimensions PROPOSAL24Ioni Bowcher
1019Mayumi Z OldroydUnited Kingdom2024-05-31Chanay, Jeffrey A Esq NEW55Bernardo Dominic
1020Greenwood P FerenczSpain2024-06-20Buckley Miller Wright RENEWAL74Onyama Limba
1021Octavia O NestleBrazil2024-06-07Feiner Bros QUALIFIED60Xuxue Feng
1022Deepesh G DilliardGermany2024-06-02Morlong Associates UNQUALIFIED21Ioni Bowcher
1023Juan D MorascaUnited Kingdom2024-06-13Morlong Associates NEGOTIATION17Bernardo Dominic
1024Isabel X KuskoUnited Kingdom2024-06-07Buckley Miller Wright UNQUALIFIED70Ioni Bowcher
1025Murillo G AmigonBrazil2024-06-08Chemel, James L Cpa NEGOTIATION49Ivan Magalhaes
1026Rodrigues J BologniaCanada2024-05-27Rousseaux, Michael Esq NEGOTIATION11Ioni Bowcher
1027Smith S TollnerGermany2024-05-30Chemel, James L Cpa UNQUALIFIED64Amy Elsner
1028Stacey T KolmetzBrazil2024-06-08Truhlar And Truhlar Attys PROPOSAL5Onyama Limba
1029Rodrigues R GauchoAustralia2024-06-20King, Christopher A Esq QUALIFIED33Bernardo Dominic
1030Sinclair K BowleyJapan2024-06-03Chemel, James L Cpa QUALIFIED29Xuxue Feng
1031Jefferson K GlickUnited Kingdom2024-06-06Morlong Associates NEW71Elwin Sharvill
1032Cody Q KolmetzUnited Kingdom2024-06-11Feiner Bros QUALIFIED31Onyama Limba
1033Ricardo V SaylorsUnited Kingdom2024-06-19Feiner Bros QUALIFIED62Amy Elsner
1034Stacey J WaycottUnited Kingdom2024-06-23Rangoni Of Florence RENEWAL10Amy Elsner
1035Antonio E InouyeFrance2024-06-01Buckley Miller Wright NEGOTIATION54Stephen Shaw
1036Emily U PoquetteUnited Kingdom2024-05-29Rousseaux, Michael Esq PROPOSAL11Onyama Limba
1037Morrow U FlosiGermany2024-06-21Chanay, Jeffrey A Esq PROPOSAL94Ivan Magalhaes
1038Arvin P RimSpain2024-06-06Truhlar And Truhlar Attys RENEWAL69Anna Fali
1039Jefferson U IturbideItaly2024-06-03Chanay, Jeffrey A Esq NEW28Onyama Limba
1040Aruna N FigeroaJapan2024-06-22Morlong Associates QUALIFIED90Stephen Shaw
1041Jennifer J PoquetteFrance2024-06-09Commercial Press PROPOSAL29Asiya Javayant
1042Tony W AlbaresUnited Kingdom2024-06-18Chanay, Jeffrey A Esq QUALIFIED50Ivan Magalhaes
1043Jones Z BologniaIndia2024-06-07Rousseaux, Michael Esq NEGOTIATION10Elwin Sharvill
1044Ivar W CaldareraJapan2024-06-16King, Christopher A Esq UNQUALIFIED12Amy Elsner
1045Aditya A FlosiItaly2024-06-20Benton, John B Jr QUALIFIED54Onyama Limba
1046Kaitlin A GillianCanada2024-05-28Printing Dimensions NEGOTIATION30Ioni Bowcher
1047Julie H FerenczAustralia2024-05-26Printing Dimensions QUALIFIED48Anna Fali
1048Darci P MaletJapan2024-06-04Printing Dimensions NEGOTIATION1Amy Elsner
1049Maisha U PaprockiItaly2024-06-12Benton, John B Jr NEW48Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Greenwood R SaylorsJapanStephen Shaw NEW
Deepesh J CaldareraRussiaStephen Shaw UNQUALIFIED
Misaki U SergiCanadaAsiya Javayant NEGOTIATION
Salvatore R CaudyArgentinaIoni Bowcher PROPOSAL
Izzy K SchemmerBrazilAsiya Javayant QUALIFIED
Francesco J OldroydBrazilBernardo Dominic QUALIFIED
Adams N KolmetzIndiaXuxue Feng RENEWAL
Izzy V InouyeJapanIoni Bowcher NEGOTIATION
Adams F CaldareraIndiaAnna Fali QUALIFIED
Deepesh Q WhobreyIndiaXuxue Feng NEW
Deepesh O AlbaresCanadaStephen Shaw PROPOSAL
David G BologniaBrazilIoni Bowcher RENEWAL
Izzy J BowleyJapanAsiya Javayant NEW
Ashley N BriddickGermanyAsiya Javayant UNQUALIFIED
Maria R RulapaughJapanStephen Shaw QUALIFIED
Wickens P KolmetzFranceXuxue Feng QUALIFIED
Smith B RulapaughSpainAmy Elsner PROPOSAL
Jones K RimBrazilElwin Sharvill NEGOTIATION
Salvatore I PaprockiFranceOnyama Limba PROPOSAL
Tony C MaletAustraliaIvan Magalhaes NEGOTIATION
Mujtaba V DilliardGermanyElwin Sharvill NEW
Leon T RutaBrazilIoni Bowcher PROPOSAL
Silvio F ButtCanadaXuxue Feng PROPOSAL
Juan M BologniaFranceXuxue Feng UNQUALIFIED
Kadeem U WaycottUnited KingdomIvan Magalhaes UNQUALIFIED
Kaitlin P PaprockiCanadaAnna Fali QUALIFIED
Mayumi E KuskoJapanAmy Elsner RENEWAL
Costa L VenereGermanyIvan Magalhaes UNQUALIFIED
Faith Z BologniaCanadaStephen Shaw PROPOSAL
Aditya U NickaGermanyXuxue Feng NEW
Aditya I DoeGermanyAsiya Javayant PROPOSAL
Wickens A BologniaBrazilIoni Bowcher PROPOSAL
Stacey E RutaBrazilOnyama Limba PROPOSAL
Mayumi H DarakjyJapanIvan Magalhaes UNQUALIFIED
Antonio V KuskoGermanyOnyama Limba PROPOSAL
Arvin X RutaAustraliaBernardo Dominic PROPOSAL
Rodrigues B SaylorsFranceStephen Shaw NEW
Costa B StockhamJapanOnyama Limba UNQUALIFIED
Leon P WhobreyItalyIoni Bowcher NEGOTIATION
Ivar D FlosiSpainAmy Elsner PROPOSAL
Misaki W WaycottSpainIvan Magalhaes RENEWAL
Julie O KolmetzRussiaXuxue Feng QUALIFIED
Ivar L PerinIndiaIvan Magalhaes NEW
Stacey H SaylorsCanadaBernardo Dominic UNQUALIFIED
Octavia U PaprockiAustraliaOnyama Limba PROPOSAL
Misaki F MaletArgentinaBernardo Dominic QUALIFIED
Greenwood I WhobreyJapanElwin Sharvill RENEWAL
Jefferson E TollnerSpainIoni Bowcher NEW
Izzy I SchemmerArgentinaOnyama Limba QUALIFIED
Ivar H ChuiBrazilAsiya Javayant RENEWAL
Frozen Columns
Name
Darci Y Vocelka
Aruna K Flosi
Jones H Stockham
Jeanfrancois U Wieser
Kadeem T Saylors
Wickens K Albares
Munro L Shinko
Juan K Inouye
Ashley U Stenseth
Aika H Albares
Silvio A Amigon
Octavia I Stenseth
Octavia D Maclead
Ivar A Malet
Kadeem B Caldarera
Izzy F Wieser
David D Foller
Darci N Foller
Alejandro R Darakjy
Jefferson Q Iturbide
David V Perin
Kadeem Y Glick
Munro Q Wieser
Ricardo Y Venere
James X Shinko
Ivar K Paprocki
Smith A Schemmer
Deepesh C Garufi
Leja Q Caudy
Kadeem D Dilliard
Johnson G Nestle
Munro R Rim
Leon P Saylors
Morrow X Butt
Izzy G Doe
Stacey B Maclead
Kadeem R Garufi
Nicolas J Gaucho
Adams A Figeroa
Jones S Tollner
Ivar U Dilliard
Juan V Garufi
Antonio W Kusko
Munro Y Ferencz
Rodrigues W Royster
Darci B Butt
Leon V Gillian
Izzy Y Venere
Julie I Tollner
Stacey V Chui
IdCountryDate
1000Germany2024-06-20
1001India2024-06-02
1002Canada2024-06-05
1003Russia2024-05-28
1004Brazil2024-06-22
1005France2024-06-09
1006Spain2024-05-29
1007Germany2024-06-12
1008Brazil2024-06-10
1009Brazil2024-06-20
1010Canada2024-05-29
1011Russia2024-06-04
1012Argentina2024-06-16
1013Italy2024-05-30
1014Germany2024-05-27
1015Canada2024-06-20
1016Australia2024-05-25
1017Germany2024-06-21
1018Spain2024-06-18
1019India2024-06-18
1020India2024-06-03
1021Brazil2024-06-10
1022Brazil2024-06-09
1023France2024-06-06
1024Canada2024-05-26
1025Germany2024-06-09
1026Argentina2024-06-19
1027Argentina2024-06-11
1028Brazil2024-06-18
1029France2024-06-08
1030Australia2024-06-11
1031Australia2024-06-06
1032Australia2024-06-16
1033Canada2024-05-29
1034India2024-06-05
1035Germany2024-06-14
1036Canada2024-06-20
1037Argentina2024-05-26
1038Brazil2024-06-01
1039Argentina2024-05-29
1040Australia2024-06-17
1041Brazil2024-06-09
1042United Kingdom2024-05-26
1043Australia2024-06-23
1044Japan2024-06-05
1045United Kingdom2024-06-07
1046Italy2024-06-05
1047Canada2024-06-11
1048Italy2024-06-04
1049Japan2024-06-18

On-Demand Data

NameIdCountryDate
Morrow O Bowley1000Spain2024-06-23
Mujtaba L Flosi1001United Kingdom2024-06-11
Morrow J Chui1002Russia2024-06-06
Octavia A Gaucho1003Spain2024-06-19
David P Venere1004Italy2024-05-27
Morrow A Shinko1005Canada2024-06-07
Aditya R Malet1006France2024-06-06
Costa W Ruta1007India2024-06-16
Jennifer V Schemmer1008Argentina2024-06-11
Leja Q Gillian1009Italy2024-06-08
Jennifer B Kusko1010Argentina2024-06-06
David P Darakjy1011United Kingdom2024-06-02
Julie B Sergi1012Germany2024-06-16
Adams E Nicka1013Germany2024-05-30
Isabel B Whobrey1014Australia2024-06-04
Silvio M Marrier1015Japan2024-06-17
Arvin I Morasca1016Brazil2024-06-20
Octavia D Morasca1017Australia2024-06-06
Greenwood L Tollner1018Italy2024-06-20
Leon U Shinko1019Brazil2024-06-12
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson R WieserGermanyXuxue Feng PROPOSAL
Jones Q VenereArgentinaAnna Fali UNQUALIFIED
Costa X ButtRussiaOnyama Limba NEW
Ivar X AlbaresRussiaBernardo Dominic NEW
Maria B RulapaughCanadaIoni Bowcher NEGOTIATION
Chavez X FigeroaAustraliaBernardo Dominic RENEWAL
Misaki Z WhobreyItalyAsiya Javayant RENEWAL
Emily O WieserRussiaOnyama Limba PROPOSAL
Ivar N OldroydCanadaOnyama Limba RENEWAL
Wickens P ButtGermanyIoni Bowcher NEW
James M SchemmerJapanXuxue Feng RENEWAL
Deepesh K MaletRussiaOnyama Limba QUALIFIED
Mayumi T StockhamAustraliaAnna Fali QUALIFIED
Greenwood T AmigonGermanyIvan Magalhaes QUALIFIED
Maisha D RimIndiaIvan Magalhaes NEW
Juan Q MorascaFranceOnyama Limba RENEWAL
Isabel P SchemmerArgentinaXuxue Feng QUALIFIED
Isabel X GarufiCanadaOnyama Limba UNQUALIFIED
Jeanfrancois P PaprockiSpainAsiya Javayant UNQUALIFIED
Rodrigues N VocelkaSpainIoni Bowcher PROPOSAL
Emily K IturbideCanadaIoni Bowcher RENEWAL
Izzy P MacleadCanadaXuxue Feng PROPOSAL
Octavia Z StensethGermanyStephen Shaw NEGOTIATION
Nicolas X DarakjyFranceIvan Magalhaes PROPOSAL
Octavia L CaldareraAustraliaOnyama Limba QUALIFIED
Emily M IturbideJapanBernardo Dominic QUALIFIED
Ricardo G InouyeArgentinaOnyama Limba NEGOTIATION
Arvin F MorascaGermanyElwin Sharvill QUALIFIED
Ivar E SergiBrazilAnna Fali UNQUALIFIED
Cody W GarufiFranceAmy Elsner QUALIFIED
Clifford E GauchoRussiaStephen Shaw RENEWAL
Chavez G InouyeIndiaOnyama Limba NEW
Aika A RutaCanadaStephen Shaw NEGOTIATION
Cody L GillianUnited KingdomAmy Elsner QUALIFIED
Chavez D StensethJapanOnyama Limba RENEWAL
Aika U BologniaSpainBernardo Dominic PROPOSAL
Octavia X AlbaresSpainElwin Sharvill NEGOTIATION
Arvin G MaletFranceBernardo Dominic UNQUALIFIED
Claire E WhobreyBrazilXuxue Feng RENEWAL
Arvin E OstroskySpainAmy Elsner NEGOTIATION

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