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
Arvin V StockhamIndiaIvan Magalhaes RENEWAL
Francesco V MorascaFranceAsiya Javayant QUALIFIED
Jefferson V GillianGermanyElwin Sharvill PROPOSAL
Smith R KolmetzRussiaOnyama Limba QUALIFIED
Kaitlin S MacleadIndiaAmy Elsner UNQUALIFIED
Greenwood C CaudyItalyElwin Sharvill NEW
Izzy V InouyeRussiaStephen Shaw RENEWAL
Arvin X GlickItalyAnna Fali PROPOSAL
Ashley O IturbideBrazilBernardo Dominic PROPOSAL
Greenwood Z TollnerCanadaOnyama Limba RENEWAL
Smith I GarufiRussiaAnna Fali QUALIFIED
Mujtaba B GauchoUnited KingdomAsiya Javayant PROPOSAL
Isabel N PerinBrazilIvan Magalhaes RENEWAL
Jeanfrancois F ButtJapanAsiya Javayant QUALIFIED
Deepesh T DarakjyItalyAmy Elsner QUALIFIED
Johnson A PerinSpainAnna Fali QUALIFIED
Mayumi O RulapaughItalyIvan Magalhaes PROPOSAL
Jones C ShinkoArgentinaAmy Elsner RENEWAL
Isabel T KolmetzGermanyXuxue Feng UNQUALIFIED
Jennifer T VocelkaIndiaAsiya Javayant NEGOTIATION
Faith O OldroydArgentinaIoni Bowcher UNQUALIFIED
Stacey M RulapaughIndiaIoni Bowcher PROPOSAL
James T WieserIndiaAnna Fali NEGOTIATION
Smith P PoquetteFranceElwin Sharvill QUALIFIED
Faith K ButtItalyIvan Magalhaes NEGOTIATION
Jeanfrancois G StensethArgentinaAmy Elsner RENEWAL
Maria O WaycottCanadaAnna Fali NEW
Mayumi T WhobreySpainIvan Magalhaes UNQUALIFIED
Aruna C RulapaughBrazilBernardo Dominic RENEWAL
David N PerinUnited KingdomIvan Magalhaes NEGOTIATION
Leon R PoquetteAustraliaOnyama Limba PROPOSAL
Jeanfrancois X KuskoSpainElwin Sharvill QUALIFIED
Aika C NickaGermanyAmy Elsner PROPOSAL
Arvin B ButtRussiaIvan Magalhaes PROPOSAL
Tony F TollnerRussiaIoni Bowcher QUALIFIED
Kaitlin Q BologniaAustraliaOnyama Limba RENEWAL
Wickens U SergiArgentinaAsiya Javayant NEW
Maisha B DarakjyRussiaOnyama Limba QUALIFIED
Munro Q BowleyRussiaIoni Bowcher UNQUALIFIED
Faith B GauchoItalyStephen Shaw QUALIFIED
Chavez S MacleadUnited KingdomOnyama Limba NEW
Deepesh S MarrierSpainBernardo Dominic NEGOTIATION
Murillo A CaudyCanadaOnyama Limba RENEWAL
Silvio O MaletUnited KingdomIoni Bowcher RENEWAL
Aditya I MacleadFranceStephen Shaw NEGOTIATION
Maisha Q InouyeRussiaIvan Magalhaes NEW
Octavia X GlickIndiaIoni Bowcher UNQUALIFIED
Aika V GarufiSpainBernardo Dominic QUALIFIED
Juan Z BowleyGermanyBernardo Dominic NEW
Kaitlin K DoeAustraliaAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Mujtaba S AmigonSpainBernardo Dominic UNQUALIFIED
Alejandro Q SchemmerRussiaBernardo Dominic PROPOSAL
Deepesh B RulapaughArgentinaAmy Elsner PROPOSAL
Darci I SchemmerAustraliaIoni Bowcher NEW
Silvio H PoquetteSpainOnyama Limba UNQUALIFIED
Jennifer V PerinArgentinaElwin Sharvill PROPOSAL
Emily J TollnerSpainElwin Sharvill PROPOSAL
Mujtaba Q RutaFranceAnna Fali RENEWAL
Murillo K RulapaughSpainAsiya Javayant NEW
Aika F RoysterUnited KingdomBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Maisha E OldroydRussia2024-06-09Feltz Printing Service PROPOSAL91Ioni Bowcher
1001Munro J PerinFrance2024-06-11Rangoni Of Florence NEW97Stephen Shaw
1002Greenwood A AlbaresJapan2024-06-17Printing Dimensions PROPOSAL42Amy Elsner
1003Isabel C PerinRussia2024-06-01Rangoni Of Florence PROPOSAL29Elwin Sharvill
1004Aditya X TollnerUnited Kingdom2024-05-24Chanay, Jeffrey A Esq PROPOSAL13Ioni Bowcher
1005Morrow Z ButtJapan2024-05-27Chapman, Ross E Esq QUALIFIED82Onyama Limba
1006Cody D SergiUnited Kingdom2024-05-23King, Christopher A Esq UNQUALIFIED16Bernardo Dominic
1007Nicolas A WaycottUnited Kingdom2024-05-28Commercial Press UNQUALIFIED82Ioni Bowcher
1008Deepesh E FollerJapan2024-05-23Buckley Miller Wright NEGOTIATION39Bernardo Dominic
1009Silvio W SlusarskiFrance2024-06-11Feltz Printing Service PROPOSAL14Onyama Limba
1010Octavia I BologniaIndia2024-05-30Feltz Printing Service UNQUALIFIED63Anna Fali
1011Leja F FigeroaRussia2024-06-01Rangoni Of Florence RENEWAL77Bernardo Dominic
1012Antonio T MarrierRussia2024-06-07Commercial Press UNQUALIFIED49Ioni Bowcher
1013James N OstroskyRussia2024-06-06Rousseaux, Michael Esq RENEWAL48Anna Fali
1014Octavia Y FerenczSpain2024-06-16Buckley Miller Wright QUALIFIED54Elwin Sharvill
1015Mayumi F PoquetteSpain2024-06-09Rousseaux, Michael Esq UNQUALIFIED18Amy Elsner
1016Stacey Y WhobreyCanada2024-06-13Chapman, Ross E Esq RENEWAL42Ivan Magalhaes
1017Morrow F FollerUnited Kingdom2024-06-04Chemel, James L Cpa QUALIFIED85Onyama Limba
1018Adams A GillianAustralia2024-06-03Printing Dimensions QUALIFIED75Ioni Bowcher
1019Jeanfrancois P FollerAustralia2024-06-03Rousseaux, Michael Esq NEGOTIATION63Stephen Shaw
1020Sinclair J MaletJapan2024-05-29Dorl, James J Esq PROPOSAL62Bernardo Dominic
1021Kaitlin U SlusarskiUnited Kingdom2024-05-19Chapman, Ross E Esq UNQUALIFIED7Elwin Sharvill
1022Jeanfrancois K OstroskyUnited Kingdom2024-06-08Commercial Press UNQUALIFIED29Elwin Sharvill
1023Misaki U RoysterRussia2024-06-06Chapman, Ross E Esq NEGOTIATION94Asiya Javayant
1024Tony C StensethItaly2024-06-09Truhlar And Truhlar Attys UNQUALIFIED86Ivan Magalhaes
1025Mujtaba L PaprockiArgentina2024-05-22King, Christopher A Esq NEGOTIATION30Xuxue Feng
1026Ashley E OldroydUnited Kingdom2024-06-08Benton, John B Jr PROPOSAL38Amy Elsner
1027Claire N PaprockiBrazil2024-06-09Rangoni Of Florence UNQUALIFIED80Amy Elsner
1028Claire K AlbaresArgentina2024-05-27Printing Dimensions QUALIFIED9Bernardo Dominic
1029Octavia Q GarufiArgentina2024-06-10Morlong Associates UNQUALIFIED6Ivan Magalhaes
1030Munro G ShinkoBrazil2024-05-21Commercial Press UNQUALIFIED41Asiya Javayant
1031Julie Q IturbideRussia2024-06-01Benton, John B Jr UNQUALIFIED17Xuxue Feng
1032Maisha Z FollerUnited Kingdom2024-06-17Chemel, James L Cpa NEW80Elwin Sharvill
1033Aika V MacleadItaly2024-05-25Commercial Press QUALIFIED63Ivan Magalhaes
1034Mayumi N ChuiItaly2024-06-07Benton, John B Jr QUALIFIED63Stephen Shaw
1035Silvio C PoquetteSpain2024-05-21Dorl, James J Esq RENEWAL82Onyama Limba
1036Mujtaba Z OstroskyGermany2024-05-24Commercial Press RENEWAL67Anna Fali
1037Rodrigues V IturbideJapan2024-06-13Buckley Miller Wright NEW69Ivan Magalhaes
1038Morrow D MarrierIndia2024-06-07King, Christopher A Esq NEGOTIATION40Amy Elsner
1039Aditya Z FerenczJapan2024-06-04Morlong Associates RENEWAL49Stephen Shaw
1040Adams V WaycottGermany2024-06-09Chanay, Jeffrey A Esq PROPOSAL72Xuxue Feng
1041Juan G KuskoFrance2024-05-25Buckley Miller Wright RENEWAL3Amy Elsner
1042Misaki W WaycottBrazil2024-05-28Commercial Press NEGOTIATION26Xuxue Feng
1043Faith B ShinkoItaly2024-06-07Truhlar And Truhlar Attys RENEWAL35Stephen Shaw
1044Arvin J GarufiJapan2024-05-19Rousseaux, Michael Esq NEGOTIATION29Onyama Limba
1045Leja I PaprockiAustralia2024-06-10Truhlar And Truhlar Attys NEW34Ivan Magalhaes
1046Tony S MacleadCanada2024-05-26Feiner Bros UNQUALIFIED62Xuxue Feng
1047Kaitlin T NestleAustralia2024-06-16Morlong Associates NEGOTIATION17Elwin Sharvill
1048Julie A DilliardFrance2024-06-15Printing Dimensions NEGOTIATION47Ioni Bowcher
1049Chavez I GillianItaly2024-05-20Printing Dimensions NEW7Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
David U WieserCanadaBernardo Dominic UNQUALIFIED
Jones H IturbideItalyBernardo Dominic NEW
Ashley P StensethUnited KingdomXuxue Feng RENEWAL
Antonio X DoeIndiaIvan Magalhaes NEGOTIATION
Julie I InouyeJapanOnyama Limba PROPOSAL
Mujtaba P FollerUnited KingdomStephen Shaw RENEWAL
Chavez A CaldareraJapanBernardo Dominic NEGOTIATION
Salvatore P PerinItalyBernardo Dominic UNQUALIFIED
Deepesh W OldroydItalyOnyama Limba QUALIFIED
Antonio Z KuskoArgentinaAsiya Javayant UNQUALIFIED
Octavia F MacleadItalyXuxue Feng RENEWAL
Jefferson U TollnerAustraliaAsiya Javayant RENEWAL
Costa L CaldareraArgentinaElwin Sharvill UNQUALIFIED
Faith K BologniaRussiaAnna Fali NEW
Costa J RutaRussiaIvan Magalhaes NEGOTIATION
Munro R PaprockiAustraliaAsiya Javayant NEW
Kadeem F BologniaAustraliaOnyama Limba QUALIFIED
Chavez X CaudyJapanIoni Bowcher NEGOTIATION
Aruna P MaletItalyXuxue Feng PROPOSAL
David C ShinkoCanadaBernardo Dominic RENEWAL
Faith Q GauchoArgentinaAnna Fali QUALIFIED
Maria K MaletUnited KingdomAnna Fali UNQUALIFIED
Smith E PerinItalyAsiya Javayant NEGOTIATION
Arvin B AlbaresGermanyAsiya Javayant NEGOTIATION
Ricardo M AlbaresAustraliaXuxue Feng UNQUALIFIED
Rodrigues Z WieserItalyAmy Elsner NEW
Johnson P InouyeRussiaIvan Magalhaes RENEWAL
Emily N VenereRussiaAsiya Javayant RENEWAL
Silvio O DoeArgentinaOnyama Limba UNQUALIFIED
Munro I BowleyGermanyAsiya Javayant NEGOTIATION
Julie S MaletArgentinaAsiya Javayant PROPOSAL
Antonio C MaletGermanyAsiya Javayant QUALIFIED
James I DarakjyCanadaStephen Shaw UNQUALIFIED
Clifford Z ShinkoBrazilIoni Bowcher QUALIFIED
Faith D PoquetteGermanyIvan Magalhaes PROPOSAL
Clifford N RutaIndiaStephen Shaw NEW
Ricardo P IturbideRussiaAsiya Javayant UNQUALIFIED
Tony L IturbideRussiaBernardo Dominic QUALIFIED
Maria F SaylorsUnited KingdomXuxue Feng QUALIFIED
Arvin N MorascaGermanyElwin Sharvill NEGOTIATION
Nicolas E RutaSpainStephen Shaw RENEWAL
Aika G CampainIndiaOnyama Limba PROPOSAL
Claire Y BriddickCanadaElwin Sharvill NEW
Mayumi T TollnerUnited KingdomAmy Elsner PROPOSAL
Juan E GillianJapanAnna Fali UNQUALIFIED
Nicolas Q ButtRussiaAnna Fali QUALIFIED
Claire B StensethItalyXuxue Feng RENEWAL
Ricardo O MaletJapanBernardo Dominic NEW
Maisha P GillianUnited KingdomOnyama Limba PROPOSAL
Leja A MorascaGermanyAmy Elsner RENEWAL
Frozen Columns
Name
Salvatore F Caldarera
Ricardo H Chui
Kadeem H Bowley
Johnson Q Stenseth
Tony K Bowley
Tony I Figeroa
Leon D Glick
Julie X Vocelka
Mayumi G Marrier
Isabel H Morasca
Ricardo F Chui
Ricardo H Campain
Greenwood M Ruta
Kaitlin E Garufi
Isabel L Vocelka
Juan Y Kusko
Johnson M Gaucho
Jefferson W Gillian
Stacey C Gillian
Nicolas H Gillian
Munro U Ostrosky
Aika E Chui
Mujtaba B Wieser
Kaitlin J Foller
Isabel O Kusko
Smith O Nestle
Ivar U Waycott
Leja E Bowley
Maria B Flosi
Antonio W Paprocki
Costa R Rim
Jeanfrancois G Shinko
Alejandro T Garufi
Faith U Albares
Maisha K Flosi
Octavia O Venere
Aika N Iturbide
David B Royster
Smith K Tollner
Francesco O Campain
Jones E Royster
Aditya K Morasca
Kaitlin L Tollner
Faith V Rim
Mujtaba E Maclead
Salvatore J Stockham
Mujtaba L Butt
Johnson I Amigon
Deepesh W Rulapaugh
Claire F Schemmer
IdCountryDate
1000Russia2024-06-01
1001Italy2024-05-30
1002Germany2024-06-03
1003Australia2024-06-06
1004Argentina2024-05-28
1005United Kingdom2024-06-17
1006Australia2024-05-31
1007Spain2024-05-30
1008Brazil2024-05-27
1009France2024-05-28
1010Argentina2024-05-27
1011Australia2024-05-29
1012India2024-05-21
1013Canada2024-06-11
1014Germany2024-05-29
1015Germany2024-06-02
1016Russia2024-06-15
1017Russia2024-06-03
1018Canada2024-05-23
1019Germany2024-06-17
1020Russia2024-06-11
1021Argentina2024-05-25
1022France2024-05-23
1023Italy2024-06-17
1024Russia2024-06-17
1025India2024-05-30
1026France2024-06-06
1027Canada2024-05-23
1028United Kingdom2024-05-30
1029India2024-06-05
1030Canada2024-05-30
1031Australia2024-06-07
1032Italy2024-05-31
1033Argentina2024-06-13
1034Spain2024-05-27
1035Japan2024-05-31
1036Spain2024-05-26
1037Argentina2024-05-25
1038India2024-06-06
1039Spain2024-06-08
1040Russia2024-05-19
1041Brazil2024-06-06
1042Brazil2024-05-25
1043Italy2024-06-13
1044Italy2024-05-19
1045France2024-06-14
1046Argentina2024-05-31
1047Canada2024-05-27
1048Brazil2024-05-19
1049France2024-06-10

On-Demand Data

NameIdCountryDate
Deepesh O Caudy1000Brazil2024-05-19
Ashley N Butt1001Argentina2024-06-07
Aika P Figeroa1002France2024-06-06
Jeanfrancois P Tollner1003India2024-06-03
Munro Z Caldarera1004France2024-05-22
Cody J Campain1005Japan2024-05-19
Costa M Rim1006Spain2024-06-09
Stacey P Gaucho1007Italy2024-06-11
Jones K Waycott1008India2024-05-21
Aditya Q Ruta1009Germany2024-06-08
Leon Z Gaucho1010India2024-06-08
Deepesh J Caldarera1011Japan2024-06-11
Deepesh T Caldarera1012Brazil2024-05-28
Greenwood H Ruta1013Australia2024-06-09
Wickens Y Ruta1014Japan2024-06-12
Aditya W Shinko1015Germany2024-05-21
Isabel G Perin1016Spain2024-05-20
Leon B Malet1017Japan2024-06-01
Octavia R Marrier1018Canada2024-05-31
Deepesh T Glick1019Italy2024-06-17
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James H DilliardFranceBernardo Dominic QUALIFIED
David Q FerenczGermanyStephen Shaw QUALIFIED
Costa L PerinCanadaAnna Fali QUALIFIED
Morrow I WieserArgentinaOnyama Limba NEGOTIATION
Deepesh V WieserJapanOnyama Limba NEGOTIATION
Aika G KolmetzAustraliaBernardo Dominic QUALIFIED
Izzy X VocelkaArgentinaXuxue Feng QUALIFIED
Claire W DilliardSpainAmy Elsner PROPOSAL
Cody M GillianBrazilAsiya Javayant NEW
Antonio B MorascaJapanBernardo Dominic NEGOTIATION
Nicolas I MarrierGermanyOnyama Limba PROPOSAL
Francesco S PaprockiSpainAnna Fali PROPOSAL
Kaitlin L OldroydFranceAmy Elsner NEGOTIATION
Costa A ShinkoGermanyOnyama Limba PROPOSAL
Aditya B ButtUnited KingdomBernardo Dominic PROPOSAL
Deepesh N BriddickGermanyOnyama Limba PROPOSAL
Izzy G CaldareraUnited KingdomXuxue Feng NEGOTIATION
Tony W NestleAustraliaElwin Sharvill PROPOSAL
Mujtaba G SlusarskiItalyXuxue Feng UNQUALIFIED
Antonio Z VenereSpainBernardo Dominic NEW
Adams G MaletBrazilStephen Shaw RENEWAL
Kaitlin S FigeroaRussiaElwin Sharvill NEW
Aruna A FollerArgentinaElwin Sharvill QUALIFIED
Jefferson Z SchemmerSpainStephen Shaw QUALIFIED
Izzy X PoquetteAustraliaXuxue Feng RENEWAL
Costa Y GauchoGermanyOnyama Limba UNQUALIFIED
Greenwood T SaylorsSpainAmy Elsner QUALIFIED
Maisha A MaletIndiaBernardo Dominic PROPOSAL
Silvio C FollerAustraliaXuxue Feng UNQUALIFIED
Leja V DoeItalyElwin Sharvill PROPOSAL
Antonio J InouyeBrazilAsiya Javayant NEGOTIATION
Rodrigues I StensethBrazilXuxue Feng UNQUALIFIED
Octavia H BowleyItalyOnyama Limba PROPOSAL
Munro D KolmetzGermanyElwin Sharvill UNQUALIFIED
Salvatore X MorascaRussiaStephen Shaw NEGOTIATION
Leja N GillianIndiaAnna Fali UNQUALIFIED
Octavia X PoquetteFranceXuxue Feng UNQUALIFIED
Darci N NestleBrazilAsiya Javayant NEW
Alejandro C CaldareraFranceIoni Bowcher PROPOSAL
Morrow C MorascaAustraliaAsiya Javayant 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>