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
Aditya N NestleRussiaOnyama Limba NEW
Rodrigues O OstroskyBrazilOnyama Limba UNQUALIFIED
Kadeem O FlosiBrazilXuxue Feng NEGOTIATION
Aditya E DoeIndiaAsiya Javayant RENEWAL
Munro P PoquetteAustraliaXuxue Feng UNQUALIFIED
Maisha Z VocelkaArgentinaAnna Fali QUALIFIED
David B NickaItalyAmy Elsner QUALIFIED
Juan L RutaRussiaAsiya Javayant NEGOTIATION
Wickens U MaletUnited KingdomBernardo Dominic RENEWAL
Julie D FlosiArgentinaIvan Magalhaes QUALIFIED
Munro S PoquetteArgentinaIvan Magalhaes QUALIFIED
Stacey X WhobreyArgentinaXuxue Feng NEGOTIATION
Silvio H MaletFranceAsiya Javayant NEGOTIATION
Jeanfrancois V MarrierRussiaIoni Bowcher PROPOSAL
Mujtaba E InouyeFranceOnyama Limba PROPOSAL
Antonio H NickaIndiaIoni Bowcher NEW
Kadeem L RutaArgentinaIoni Bowcher NEGOTIATION
Juan P PerinFranceAnna Fali NEW
Julie X WhobreyAustraliaIoni Bowcher PROPOSAL
Ivar C WaycottBrazilBernardo Dominic NEGOTIATION
Johnson Z SergiItalyBernardo Dominic UNQUALIFIED
Mujtaba A ShinkoItalyOnyama Limba NEGOTIATION
Rodrigues Y RutaAustraliaOnyama Limba QUALIFIED
Jefferson A InouyeRussiaStephen Shaw NEGOTIATION
Clifford G VocelkaSpainAnna Fali NEGOTIATION
Alejandro Z BologniaUnited KingdomOnyama Limba NEW
Wickens Y FigeroaSpainXuxue Feng NEW
Morrow D CampainSpainAsiya Javayant NEW
Arvin A ShinkoItalyAsiya Javayant RENEWAL
Aika Q StockhamIndiaAmy Elsner QUALIFIED
Costa D PoquetteGermanyOnyama Limba RENEWAL
Kadeem Y MarrierJapanAsiya Javayant PROPOSAL
Johnson A OstroskyItalyAsiya Javayant UNQUALIFIED
Salvatore B FlosiArgentinaElwin Sharvill QUALIFIED
David I GlickIndiaElwin Sharvill NEW
David H WaycottSpainStephen Shaw QUALIFIED
Izzy P ButtGermanyBernardo Dominic PROPOSAL
Wickens X InouyeGermanyAsiya Javayant NEGOTIATION
James O NestleCanadaAnna Fali UNQUALIFIED
Chavez F BowleyBrazilIoni Bowcher RENEWAL
David E MaletRussiaAsiya Javayant NEW
Stacey S MaletArgentinaAsiya Javayant NEW
Izzy Y CampainItalyElwin Sharvill PROPOSAL
Arvin E FollerUnited KingdomAmy Elsner QUALIFIED
Ashley Y FigeroaArgentinaElwin Sharvill PROPOSAL
Octavia J RutaIndiaAsiya Javayant UNQUALIFIED
Adams B OldroydCanadaAmy Elsner NEW
Jefferson I SergiJapanAnna Fali UNQUALIFIED
Smith K DilliardIndiaAmy Elsner NEW
Greenwood I MaletSpainAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Munro R FerenczItalyBernardo Dominic NEW
Murillo E AmigonItalyStephen Shaw PROPOSAL
Smith S VenereCanadaOnyama Limba PROPOSAL
Wickens N FollerAustraliaBernardo Dominic NEGOTIATION
Chavez R RoysterItalyXuxue Feng UNQUALIFIED
Arvin X WieserSpainAsiya Javayant RENEWAL
Chavez I CaldareraBrazilBernardo Dominic PROPOSAL
Aika A KuskoRussiaXuxue Feng QUALIFIED
Aika T DoeArgentinaAsiya Javayant NEW
Johnson L PerinUnited KingdomAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Izzy I BriddickFrance2024-06-15Rousseaux, Michael Esq PROPOSAL56Bernardo Dominic
1001Izzy J TollnerArgentina2024-05-25Rousseaux, Michael Esq UNQUALIFIED87Stephen Shaw
1002Mayumi E AlbaresFrance2024-06-11Chanay, Jeffrey A Esq QUALIFIED46Onyama Limba
1003Smith X PerinRussia2024-06-20Feltz Printing Service UNQUALIFIED39Asiya Javayant
1004Octavia Q StockhamArgentina2024-06-18Morlong Associates UNQUALIFIED62Bernardo Dominic
1005Maisha Y AmigonJapan2024-05-31Chanay, Jeffrey A Esq QUALIFIED88Stephen Shaw
1006Aditya J WieserUnited Kingdom2024-06-17Chanay, Jeffrey A Esq RENEWAL15Stephen Shaw
1007David C BologniaFrance2024-05-31Printing Dimensions NEGOTIATION65Bernardo Dominic
1008Juan N SlusarskiRussia2024-06-12Chanay, Jeffrey A Esq UNQUALIFIED28Anna Fali
1009Kaitlin E GillianBrazil2024-06-05Rangoni Of Florence RENEWAL43Xuxue Feng
1010Maisha A OldroydCanada2024-06-11Chapman, Ross E Esq QUALIFIED36Ivan Magalhaes
1011Salvatore I ChuiItaly2024-06-20Chemel, James L Cpa NEW23Asiya Javayant
1012Clifford Y IturbideRussia2024-06-19Printing Dimensions PROPOSAL66Onyama Limba
1013Antonio K SergiSpain2024-06-03Chemel, James L Cpa RENEWAL55Elwin Sharvill
1014Rodrigues Y AlbaresFrance2024-06-11Benton, John B Jr NEGOTIATION48Ivan Magalhaes
1015Emily B CampainAustralia2024-05-27Chapman, Ross E Esq NEW4Stephen Shaw
1016Jennifer F CaldareraArgentina2024-05-28Rousseaux, Michael Esq QUALIFIED0Amy Elsner
1017Izzy T CampainFrance2024-05-27Chanay, Jeffrey A Esq PROPOSAL8Ioni Bowcher
1018Ivar U WhobreyRussia2024-05-25Morlong Associates NEW11Anna Fali
1019Arvin F VocelkaItaly2024-06-19Dorl, James J Esq QUALIFIED81Onyama Limba
1020Munro U MaletBrazil2024-05-30Rangoni Of Florence PROPOSAL57Stephen Shaw
1021Aruna W ChuiItaly2024-05-26Chemel, James L Cpa NEGOTIATION53Bernardo Dominic
1022Maria Q RimSpain2024-06-22Rousseaux, Michael Esq NEW44Amy Elsner
1023Julie F RutaSpain2024-06-15Benton, John B Jr RENEWAL77Ioni Bowcher
1024Munro A VenereSpain2024-06-22Commercial Press UNQUALIFIED92Ivan Magalhaes
1025Aika U CampainBrazil2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED94Stephen Shaw
1026Stacey B RutaFrance2024-06-21Rousseaux, Michael Esq UNQUALIFIED92Ivan Magalhaes
1027Greenwood K DarakjyAustralia2024-06-19Printing Dimensions NEW5Bernardo Dominic
1028Deepesh E CaldareraItaly2024-06-05Rousseaux, Michael Esq RENEWAL77Asiya Javayant
1029Kadeem B CaudyFrance2024-06-19Commercial Press RENEWAL76Stephen Shaw
1030Arvin E SergiFrance2024-06-13Feiner Bros NEW45Ioni Bowcher
1031Misaki A KuskoItaly2024-05-26Feltz Printing Service UNQUALIFIED18Ivan Magalhaes
1032Aruna X CaudyIndia2024-05-24Feltz Printing Service QUALIFIED85Elwin Sharvill
1033Kadeem K AmigonJapan2024-06-07Buckley Miller Wright QUALIFIED52Ivan Magalhaes
1034Jones B RoysterItaly2024-06-17Chemel, James L Cpa NEGOTIATION39Stephen Shaw
1035Morrow B WhobreyJapan2024-05-25Chanay, Jeffrey A Esq NEGOTIATION67Ioni Bowcher
1036Stacey I RimIndia2024-06-04Rousseaux, Michael Esq PROPOSAL25Onyama Limba
1037Ivar V NestleFrance2024-06-21Rousseaux, Michael Esq NEW19Asiya Javayant
1038Claire U SlusarskiSpain2024-06-05Dorl, James J Esq NEW96Anna Fali
1039Salvatore T PoquetteAustralia2024-06-01Rousseaux, Michael Esq RENEWAL2Elwin Sharvill
1040Munro F CaldareraFrance2024-05-30Printing Dimensions QUALIFIED28Ivan Magalhaes
1041Faith N OstroskyGermany2024-06-06Chemel, James L Cpa QUALIFIED11Ioni Bowcher
1042Aika B RimCanada2024-06-08Printing Dimensions NEGOTIATION7Xuxue Feng
1043Jefferson S RimFrance2024-06-20Rangoni Of Florence PROPOSAL60Anna Fali
1044Octavia V VocelkaAustralia2024-06-07Truhlar And Truhlar Attys RENEWAL10Elwin Sharvill
1045Silvio H PerinGermany2024-06-15Chapman, Ross E Esq NEW23Asiya Javayant
1046Murillo R OldroydUnited Kingdom2024-06-06Truhlar And Truhlar Attys RENEWAL39Amy Elsner
1047Costa U DarakjyAustralia2024-05-27Buckley Miller Wright UNQUALIFIED31Stephen Shaw
1048Tony U WaycottAustralia2024-06-22King, Christopher A Esq UNQUALIFIED1Amy Elsner
1049Isabel T CaudyJapan2024-06-16Chapman, Ross E Esq NEGOTIATION80Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Jefferson V PoquetteIndiaAmy Elsner QUALIFIED
Johnson J NestleUnited KingdomIoni Bowcher PROPOSAL
Stacey Q StensethArgentinaOnyama Limba PROPOSAL
Aditya Z FollerAustraliaXuxue Feng NEW
David L SergiSpainStephen Shaw RENEWAL
Ricardo U RutaUnited KingdomOnyama Limba UNQUALIFIED
Aika T MarrierSpainBernardo Dominic QUALIFIED
Emily W RimRussiaIvan Magalhaes NEGOTIATION
Nicolas H WieserIndiaElwin Sharvill NEGOTIATION
Wickens S ShinkoAustraliaElwin Sharvill RENEWAL
Munro X FlosiGermanyElwin Sharvill NEW
Leja N GlickSpainAmy Elsner RENEWAL
Rodrigues I PaprockiAustraliaBernardo Dominic RENEWAL
Sinclair L GlickIndiaXuxue Feng UNQUALIFIED
Francesco K FerenczJapanBernardo Dominic RENEWAL
Mayumi H FlosiSpainStephen Shaw PROPOSAL
Leon V MaletArgentinaIoni Bowcher QUALIFIED
Jones M MorascaGermanyElwin Sharvill NEW
Misaki L BriddickUnited KingdomOnyama Limba NEGOTIATION
Juan F OldroydRussiaStephen Shaw RENEWAL
Greenwood J WaycottUnited KingdomOnyama Limba PROPOSAL
Juan Z WaycottCanadaStephen Shaw RENEWAL
Jeanfrancois C GillianItalyAmy Elsner NEGOTIATION
Ivar K MorascaGermanyStephen Shaw NEW
Izzy C DarakjyBrazilStephen Shaw NEW
Kaitlin S WhobreySpainOnyama Limba RENEWAL
Cody J WhobreyIndiaElwin Sharvill PROPOSAL
Clifford V BowleyIndiaIvan Magalhaes PROPOSAL
Smith N VenereAustraliaIoni Bowcher UNQUALIFIED
Darci R PerinBrazilOnyama Limba QUALIFIED
Johnson N MaletCanadaBernardo Dominic UNQUALIFIED
Maisha X MaletSpainStephen Shaw UNQUALIFIED
Darci N SlusarskiRussiaOnyama Limba QUALIFIED
Costa B FerenczBrazilElwin Sharvill RENEWAL
Jennifer O MorascaRussiaBernardo Dominic NEGOTIATION
Kaitlin Q BriddickUnited KingdomXuxue Feng UNQUALIFIED
Jennifer F TollnerCanadaOnyama Limba NEW
Mujtaba S SchemmerUnited KingdomAmy Elsner NEW
Salvatore G BowleyUnited KingdomIvan Magalhaes NEW
Rodrigues T TollnerJapanXuxue Feng RENEWAL
Johnson Q KolmetzCanadaOnyama Limba QUALIFIED
Kaitlin L MaletUnited KingdomElwin Sharvill NEW
Antonio V GarufiAustraliaBernardo Dominic NEW
Adams M MaletSpainIoni Bowcher NEGOTIATION
Jones C CaudyAustraliaOnyama Limba UNQUALIFIED
James U RimCanadaAnna Fali NEW
Nicolas Q CaldareraFranceAnna Fali PROPOSAL
Emily Q MaletCanadaIoni Bowcher RENEWAL
Francesco H KolmetzJapanAnna Fali PROPOSAL
Greenwood R WaycottBrazilBernardo Dominic QUALIFIED
Frozen Columns
Name
Ashley Q Maclead
Emily I Caudy
Ivar Y Caudy
Murillo R Whobrey
Mayumi Y Ferencz
Isabel H Morasca
Alejandro N Figeroa
Mayumi P Malet
Silvio Z Gaucho
Isabel B Oldroyd
Rodrigues E Figeroa
Jennifer D Sergi
Munro X Amigon
Clifford A Tollner
Jefferson R Schemmer
Alejandro S Figeroa
Silvio T Foller
Antonio L Caudy
Juan S Darakjy
Smith C Waycott
Misaki L Chui
Alejandro L Albares
Cody K Paprocki
Emily O Morasca
Ashley T Gaucho
Kaitlin D Gaucho
Aika J Flosi
Smith O Kusko
Cody X Royster
Jeanfrancois H Nicka
Munro M Iturbide
Greenwood Z Morasca
Wickens N Glick
Ricardo Y Caudy
Francesco I Marrier
Salvatore J Nestle
Greenwood O Morasca
Greenwood H Perin
Greenwood Z Caudy
Stacey W Nestle
Costa G Rulapaugh
Isabel X Schemmer
Aruna A Flosi
Kadeem C Caudy
Aruna G Butt
Misaki V Albares
Ashley W Nicka
Tony G Waycott
Silvio Y Stenseth
Cody E Nicka
IdCountryDate
1000France2024-06-17
1001India2024-05-25
1002Japan2024-06-18
1003Japan2024-06-10
1004Australia2024-06-08
1005Germany2024-06-07
1006Australia2024-06-01
1007Brazil2024-05-25
1008India2024-06-18
1009Russia2024-05-25
1010Australia2024-05-24
1011Russia2024-05-27
1012Spain2024-06-22
1013Germany2024-06-18
1014Spain2024-06-14
1015Brazil2024-06-12
1016Japan2024-05-28
1017France2024-06-19
1018Russia2024-05-24
1019Argentina2024-06-21
1020France2024-06-11
1021Japan2024-05-30
1022United Kingdom2024-06-03
1023Japan2024-06-17
1024Russia2024-06-20
1025Argentina2024-05-27
1026Germany2024-06-08
1027Italy2024-05-29
1028Italy2024-06-06
1029Brazil2024-05-31
1030United Kingdom2024-05-29
1031Argentina2024-06-02
1032France2024-06-13
1033Japan2024-05-25
1034United Kingdom2024-06-10
1035United Kingdom2024-05-27
1036Japan2024-06-09
1037Russia2024-05-27
1038Canada2024-06-13
1039United Kingdom2024-06-05
1040Russia2024-06-05
1041Australia2024-06-09
1042India2024-05-28
1043Russia2024-05-25
1044Brazil2024-05-27
1045United Kingdom2024-06-05
1046Russia2024-05-27
1047Japan2024-06-04
1048Japan2024-06-18
1049France2024-06-13

On-Demand Data

NameIdCountryDate
Maria H Venere1000Canada2024-06-08
Salvatore C Morasca1001India2024-05-30
Smith Y Royster1002France2024-05-27
Francesco J Stenseth1003Italy2024-05-30
Rodrigues D Bowley1004France2024-06-07
Sinclair V Inouye1005Japan2024-06-20
Ashley C Darakjy1006Germany2024-05-27
Munro M Darakjy1007France2024-06-13
Emily P Gillian1008Canada2024-06-05
Chavez L Malet1009Germany2024-06-04
Maisha Q Ruta1010Russia2024-06-13
Silvio E Glick1011Japan2024-06-04
Aika N Sergi1012Germany2024-06-06
Jennifer J Royster1013Japan2024-06-17
Aruna V Shinko1014Canada2024-05-29
Ashley U Caudy1015Germany2024-06-19
Munro T Briddick1016Argentina2024-06-11
Greenwood T Sergi1017United Kingdom2024-05-31
David X Bowley1018Russia2024-05-28
Cody L Amigon1019Argentina2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Darci C SergiJapanXuxue Feng NEW
Cody U PerinUnited KingdomBernardo Dominic RENEWAL
Alejandro G PerinArgentinaAnna Fali UNQUALIFIED
Claire Q SaylorsArgentinaIoni Bowcher RENEWAL
Murillo I BowleyUnited KingdomAsiya Javayant QUALIFIED
Claire I WaycottItalyStephen Shaw QUALIFIED
Adams Z StockhamArgentinaXuxue Feng UNQUALIFIED
Clifford H MaletJapanAsiya Javayant PROPOSAL
Juan N OldroydArgentinaStephen Shaw UNQUALIFIED
Greenwood S RimRussiaAmy Elsner PROPOSAL
Salvatore P MarrierSpainXuxue Feng NEGOTIATION
Tony H CaudyJapanBernardo Dominic UNQUALIFIED
Leja F OstroskyJapanStephen Shaw QUALIFIED
Stacey W FigeroaGermanyIvan Magalhaes RENEWAL
Cody P OldroydSpainOnyama Limba NEW
Leja C StensethUnited KingdomStephen Shaw NEGOTIATION
Clifford P RimFranceAmy Elsner PROPOSAL
Salvatore M SaylorsUnited KingdomBernardo Dominic NEW
Leon E IturbideItalyXuxue Feng QUALIFIED
Octavia O SlusarskiSpainAnna Fali NEGOTIATION
Kaitlin Q NestleJapanAmy Elsner NEGOTIATION
Mayumi J CaudyArgentinaAmy Elsner QUALIFIED
David U NestleBrazilIoni Bowcher QUALIFIED
Murillo D NestleAustraliaAmy Elsner NEGOTIATION
Stacey O SaylorsBrazilBernardo Dominic UNQUALIFIED
Smith A InouyeSpainIoni Bowcher NEGOTIATION
Aditya S DarakjyFranceXuxue Feng PROPOSAL
Claire Y FerenczRussiaIvan Magalhaes RENEWAL
Claire H FlosiUnited KingdomBernardo Dominic PROPOSAL
Izzy R SergiFranceIvan Magalhaes NEGOTIATION
Antonio K FlosiJapanIvan Magalhaes PROPOSAL
Smith E FollerGermanyOnyama Limba UNQUALIFIED
Claire A OldroydAustraliaIoni Bowcher NEGOTIATION
Kadeem C InouyeArgentinaIoni Bowcher QUALIFIED
Julie Z MaletGermanyStephen Shaw NEGOTIATION
Ricardo M GarufiItalyAmy Elsner NEGOTIATION
Octavia U WieserFranceAnna Fali NEW
Jefferson G DarakjyJapanAmy Elsner PROPOSAL
Greenwood H WaycottAustraliaStephen Shaw QUALIFIED
Smith Y RimSpainIvan Magalhaes 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>