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
Murillo L RoysterBrazilIoni Bowcher UNQUALIFIED
Ivar Q CaudyGermanyXuxue Feng UNQUALIFIED
Stacey P SlusarskiArgentinaOnyama Limba UNQUALIFIED
Smith N GauchoAustraliaElwin Sharvill PROPOSAL
Morrow Z StensethSpainIvan Magalhaes RENEWAL
Smith L BologniaFranceBernardo Dominic PROPOSAL
Jones U VocelkaIndiaOnyama Limba RENEWAL
Misaki M SchemmerUnited KingdomXuxue Feng PROPOSAL
Ricardo U BologniaSpainAmy Elsner QUALIFIED
Johnson W GauchoBrazilOnyama Limba RENEWAL
Maisha U AlbaresRussiaAnna Fali NEGOTIATION
Misaki F FigeroaItalyAnna Fali PROPOSAL
Jefferson P ChuiRussiaAmy Elsner RENEWAL
Faith S RutaBrazilIoni Bowcher UNQUALIFIED
Greenwood M OstroskyIndiaAnna Fali RENEWAL
Juan S IturbideItalyStephen Shaw PROPOSAL
Kadeem Y PaprockiCanadaBernardo Dominic NEW
Adams G GillianIndiaIvan Magalhaes PROPOSAL
Francesco T CaudyRussiaStephen Shaw PROPOSAL
Juan F SaylorsCanadaOnyama Limba UNQUALIFIED
Stacey B ShinkoBrazilAmy Elsner PROPOSAL
Munro C FerenczSpainIoni Bowcher QUALIFIED
Sinclair F RutaRussiaIvan Magalhaes NEGOTIATION
Alejandro K KolmetzJapanBernardo Dominic QUALIFIED
Costa K SlusarskiRussiaStephen Shaw RENEWAL
Adams N StockhamJapanXuxue Feng QUALIFIED
Sinclair T ChuiRussiaAsiya Javayant RENEWAL
Darci K WieserIndiaElwin Sharvill RENEWAL
Stacey X FlosiIndiaIoni Bowcher PROPOSAL
Munro M BowleyGermanyIvan Magalhaes UNQUALIFIED
Tony W SchemmerAustraliaAnna Fali RENEWAL
Leja Z VocelkaJapanOnyama Limba QUALIFIED
Aditya Y NestleRussiaAsiya Javayant UNQUALIFIED
Emily H NickaFranceXuxue Feng UNQUALIFIED
Chavez L FerenczArgentinaStephen Shaw RENEWAL
Ivar K OstroskyCanadaAmy Elsner RENEWAL
Emily K SergiAustraliaElwin Sharvill RENEWAL
Greenwood U GlickSpainElwin Sharvill PROPOSAL
Emily F StockhamGermanyAsiya Javayant NEGOTIATION
Chavez W BriddickCanadaAnna Fali UNQUALIFIED
Johnson M TollnerGermanyAsiya Javayant UNQUALIFIED
Kadeem S MorascaGermanyIoni Bowcher NEW
Smith T TollnerUnited KingdomAnna Fali NEW
Silvio X WieserFranceAmy Elsner NEW
Izzy Q FlosiJapanIvan Magalhaes NEW
Aditya N MaletCanadaBernardo Dominic RENEWAL
Smith N DoeFranceStephen Shaw NEW
Rodrigues V GillianGermanyBernardo Dominic NEW
Sinclair X GillianAustraliaXuxue Feng NEW
Faith X GillianAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie H BriddickUnited KingdomXuxue Feng NEW
Isabel A MaletJapanOnyama Limba NEGOTIATION
Antonio B PerinRussiaBernardo Dominic UNQUALIFIED
Julie W FlosiGermanyOnyama Limba QUALIFIED
Claire T GillianFranceElwin Sharvill RENEWAL
Misaki E DilliardRussiaXuxue Feng NEW
Faith A CampainAustraliaAmy Elsner RENEWAL
Morrow K InouyeJapanAmy Elsner NEW
Kadeem U RulapaughBrazilOnyama Limba NEGOTIATION
Claire O MaletCanadaAnna Fali NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Leon R SlusarskiRussia2024-06-02Chapman, Ross E Esq UNQUALIFIED40Amy Elsner
1001Aika Z OstroskyBrazil2024-06-11Rousseaux, Michael Esq RENEWAL74Asiya Javayant
1002Mujtaba Z MacleadSpain2024-05-31Chemel, James L Cpa PROPOSAL5Xuxue Feng
1003Darci N DoeItaly2024-05-23King, Christopher A Esq PROPOSAL62Onyama Limba
1004Leon M OstroskyBrazil2024-05-29Truhlar And Truhlar Attys NEGOTIATION54Xuxue Feng
1005Aika U OstroskyBrazil2024-05-23Feiner Bros UNQUALIFIED31Ivan Magalhaes
1006Aruna E BowleyAustralia2024-06-08Buckley Miller Wright UNQUALIFIED42Stephen Shaw
1007Kaitlin Z BowleyAustralia2024-06-13Chapman, Ross E Esq NEGOTIATION57Ioni Bowcher
1008James F OstroskyArgentina2024-05-19Rousseaux, Michael Esq PROPOSAL26Anna Fali
1009Kadeem X PaprockiItaly2024-05-19Truhlar And Truhlar Attys NEW22Elwin Sharvill
1010Adams M FollerCanada2024-05-23Morlong Associates UNQUALIFIED96Anna Fali
1011Costa M InouyeBrazil2024-06-02Benton, John B Jr UNQUALIFIED92Elwin Sharvill
1012Kadeem F NickaArgentina2024-06-06Rousseaux, Michael Esq PROPOSAL59Stephen Shaw
1013Greenwood D BowleyUnited Kingdom2024-06-11Printing Dimensions UNQUALIFIED51Anna Fali
1014Darci B MacleadFrance2024-05-26Chapman, Ross E Esq UNQUALIFIED93Ioni Bowcher
1015Deepesh G NickaCanada2024-06-04Commercial Press NEW22Asiya Javayant
1016Aruna U StensethAustralia2024-05-23Benton, John B Jr NEGOTIATION67Bernardo Dominic
1017Rodrigues W VenereUnited Kingdom2024-06-12Rangoni Of Florence NEW6Onyama Limba
1018Aika C KuskoGermany2024-06-15Feiner Bros UNQUALIFIED98Onyama Limba
1019Aika L AmigonSpain2024-05-19Rousseaux, Michael Esq PROPOSAL74Xuxue Feng
1020Morrow M GauchoFrance2024-05-27Chapman, Ross E Esq QUALIFIED84Bernardo Dominic
1021Ricardo Z BowleyGermany2024-05-26Feiner Bros PROPOSAL74Amy Elsner
1022Izzy N WieserIndia2024-05-26Dorl, James J Esq QUALIFIED66Bernardo Dominic
1023Jones R ShinkoIndia2024-05-24Chapman, Ross E Esq UNQUALIFIED57Anna Fali
1024Antonio H NestleJapan2024-06-14Buckley Miller Wright UNQUALIFIED61Elwin Sharvill
1025Maisha D VocelkaGermany2024-06-10Chapman, Ross E Esq PROPOSAL67Ioni Bowcher
1026Aditya M StockhamRussia2024-05-23Chanay, Jeffrey A Esq QUALIFIED15Bernardo Dominic
1027David G RutaUnited Kingdom2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED3Asiya Javayant
1028Antonio Y RulapaughSpain2024-05-25Chanay, Jeffrey A Esq QUALIFIED24Stephen Shaw
1029Julie D FigeroaItaly2024-06-15Buckley Miller Wright RENEWAL77Bernardo Dominic
1030Emily C DilliardItaly2024-05-22Chanay, Jeffrey A Esq UNQUALIFIED79Asiya Javayant
1031Claire X DarakjyArgentina2024-06-09Buckley Miller Wright NEGOTIATION24Onyama Limba
1032Wickens M StockhamItaly2024-06-12Printing Dimensions UNQUALIFIED18Xuxue Feng
1033Kaitlin X DarakjyGermany2024-06-01Commercial Press PROPOSAL17Ivan Magalhaes
1034Silvio E TollnerUnited Kingdom2024-06-12Chanay, Jeffrey A Esq PROPOSAL67Asiya Javayant
1035Munro W PaprockiIndia2024-05-24Feltz Printing Service RENEWAL71Onyama Limba
1036Johnson X StockhamFrance2024-06-07Feltz Printing Service PROPOSAL70Xuxue Feng
1037Tony F FollerSpain2024-05-27Rangoni Of Florence QUALIFIED92Bernardo Dominic
1038Faith Y AlbaresBrazil2024-06-03Rousseaux, Michael Esq UNQUALIFIED29Asiya Javayant
1039Wickens Y RulapaughFrance2024-05-27Morlong Associates UNQUALIFIED50Onyama Limba
1040Izzy F MacleadSpain2024-05-29King, Christopher A Esq QUALIFIED96Anna Fali
1041Francesco X KuskoItaly2024-05-29Chapman, Ross E Esq UNQUALIFIED75Onyama Limba
1042Nicolas Q WieserFrance2024-06-16Rousseaux, Michael Esq NEW46Ioni Bowcher
1043Jennifer C ShinkoArgentina2024-05-26Commercial Press PROPOSAL88Ivan Magalhaes
1044Antonio G NickaIndia2024-06-15Commercial Press PROPOSAL4Stephen Shaw
1045Faith B RoysterAustralia2024-05-25Dorl, James J Esq QUALIFIED13Xuxue Feng
1046Ashley G DilliardSpain2024-05-26Rousseaux, Michael Esq NEGOTIATION64Elwin Sharvill
1047Juan O RimJapan2024-06-13Commercial Press QUALIFIED71Elwin Sharvill
1048Mayumi C DarakjySpain2024-05-26Rangoni Of Florence NEGOTIATION85Ioni Bowcher
1049Julie N PoquetteCanada2024-06-16Benton, John B Jr UNQUALIFIED1Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Deepesh O WhobreyArgentinaStephen Shaw NEW
Stacey F MaletCanadaAsiya Javayant UNQUALIFIED
Kadeem U GlickBrazilAmy Elsner QUALIFIED
Misaki J RulapaughRussiaAsiya Javayant NEW
Smith A MacleadGermanyOnyama Limba NEGOTIATION
Morrow K MaletBrazilElwin Sharvill PROPOSAL
David W ChuiCanadaElwin Sharvill NEGOTIATION
Maisha E PaprockiArgentinaXuxue Feng NEGOTIATION
Munro J KolmetzUnited KingdomIvan Magalhaes PROPOSAL
Izzy P PaprockiJapanOnyama Limba PROPOSAL
Kadeem A MarrierBrazilElwin Sharvill QUALIFIED
Smith Z DilliardIndiaAsiya Javayant UNQUALIFIED
Salvatore A InouyeIndiaOnyama Limba NEGOTIATION
Kadeem M WieserJapanStephen Shaw NEW
Munro Q CaudyItalyAsiya Javayant QUALIFIED
Nicolas N GauchoBrazilStephen Shaw UNQUALIFIED
Munro Y MacleadSpainAmy Elsner PROPOSAL
Aditya T GarufiFranceAmy Elsner PROPOSAL
Jefferson Y FollerGermanyAsiya Javayant PROPOSAL
Ashley Z OldroydArgentinaXuxue Feng RENEWAL
Antonio Z GlickUnited KingdomXuxue Feng QUALIFIED
Ricardo S IturbideIndiaStephen Shaw QUALIFIED
Munro C WieserItalyAnna Fali UNQUALIFIED
Leja X CampainIndiaAnna Fali UNQUALIFIED
Kadeem A ShinkoAustraliaAmy Elsner PROPOSAL
Leon R AlbaresSpainAnna Fali NEW
Ricardo J GauchoAustraliaStephen Shaw UNQUALIFIED
Deepesh L WhobreyIndiaAsiya Javayant NEW
Stacey I GillianUnited KingdomXuxue Feng NEGOTIATION
Julie O WhobreyGermanyElwin Sharvill NEGOTIATION
David I CaldareraCanadaBernardo Dominic UNQUALIFIED
Ashley L PoquetteFranceElwin Sharvill NEW
Mayumi Y PaprockiIndiaOnyama Limba UNQUALIFIED
Sinclair K WieserBrazilAsiya Javayant UNQUALIFIED
Isabel X InouyeCanadaAnna Fali QUALIFIED
Morrow L PoquetteFranceXuxue Feng RENEWAL
Wickens F RoysterRussiaBernardo Dominic UNQUALIFIED
Morrow H GarufiArgentinaStephen Shaw PROPOSAL
Chavez J CampainIndiaIoni Bowcher NEGOTIATION
Aruna H MarrierBrazilElwin Sharvill RENEWAL
Silvio W BriddickItalyAmy Elsner NEW
Tony O NestleBrazilAnna Fali QUALIFIED
Aruna Q VocelkaIndiaIvan Magalhaes QUALIFIED
Emily M GauchoIndiaOnyama Limba UNQUALIFIED
Stacey F TollnerRussiaIvan Magalhaes PROPOSAL
Emily B GillianJapanAnna Fali QUALIFIED
Arvin T WaycottSpainAnna Fali RENEWAL
Emily F NickaItalyBernardo Dominic PROPOSAL
Greenwood L FollerUnited KingdomElwin Sharvill NEW
Juan O BriddickItalyAnna Fali NEW
Frozen Columns
Name
Kaitlin J Chui
Aika K Bolognia
Maria I Briddick
Stacey K Schemmer
Mayumi Y Amigon
Leon F Sergi
Aika R Gillian
Emily S Doe
Clifford W Waycott
Juan R Butt
Izzy N Glick
Julie O Malet
Jeanfrancois P Dilliard
Ashley R Bowley
Kaitlin U Waycott
Izzy N Gaucho
Chavez J Stenseth
Leja D Maclead
Greenwood C Ferencz
Francesco Y Flosi
Morrow T Flosi
Emily P Oldroyd
Kaitlin U Briddick
Smith Z Iturbide
Munro L Morasca
Rodrigues Y Saylors
Deepesh C Bowley
Mujtaba A Flosi
Morrow Q Campain
Morrow Y Darakjy
Octavia X Kusko
Jefferson P Marrier
Chavez N Slusarski
Aika G Stockham
Tony W Kusko
Mayumi C Caudy
Ivar I Iturbide
Maria B Oldroyd
Murillo Z Bolognia
Greenwood M Kolmetz
Nicolas R Oldroyd
Chavez F Chui
Morrow P Slusarski
James W Garufi
Cody N Venere
Darci Z Perin
Jennifer L Marrier
Darci S Doe
Silvio E Kusko
Smith Y Chui
IdCountryDate
1000United Kingdom2024-05-29
1001Italy2024-05-24
1002Argentina2024-06-11
1003Argentina2024-05-19
1004Japan2024-06-08
1005France2024-05-22
1006United Kingdom2024-06-03
1007India2024-05-21
1008Germany2024-05-26
1009Brazil2024-05-28
1010United Kingdom2024-06-15
1011Spain2024-05-27
1012Spain2024-05-24
1013Brazil2024-06-04
1014United Kingdom2024-05-21
1015United Kingdom2024-05-24
1016Italy2024-06-12
1017Canada2024-06-01
1018Brazil2024-06-17
1019Japan2024-05-31
1020Argentina2024-06-15
1021Russia2024-05-29
1022Japan2024-06-16
1023United Kingdom2024-06-06
1024Italy2024-06-10
1025Italy2024-06-08
1026Australia2024-06-15
1027France2024-05-22
1028Italy2024-06-12
1029Canada2024-05-29
1030Germany2024-05-24
1031Spain2024-06-16
1032Japan2024-05-21
1033India2024-05-20
1034Germany2024-05-27
1035United Kingdom2024-06-07
1036Argentina2024-06-09
1037Canada2024-05-27
1038Argentina2024-05-22
1039Japan2024-05-31
1040Italy2024-06-12
1041France2024-06-01
1042Japan2024-05-26
1043Germany2024-05-23
1044India2024-05-22
1045Japan2024-06-06
1046India2024-06-09
1047Brazil2024-05-22
1048United Kingdom2024-06-11
1049Spain2024-05-23

On-Demand Data

NameIdCountryDate
Emily P Caudy1000Brazil2024-06-06
Faith P Doe1001Russia2024-06-04
Misaki R Venere1002United Kingdom2024-06-17
Salvatore K Malet1003Germany2024-06-03
Leja V Venere1004Brazil2024-06-05
Ashley L Briddick1005Argentina2024-06-10
Claire X Chui1006Spain2024-06-11
Maisha T Saylors1007United Kingdom2024-06-14
Silvio J Caudy1008France2024-05-24
Stacey M Malet1009United Kingdom2024-05-23
Kadeem N Darakjy1010Australia2024-06-05
Sinclair S Nestle1011Spain2024-05-30
Ricardo E Paprocki1012Argentina2024-06-05
Juan X Stockham1013France2024-06-04
Cody T Marrier1014Russia2024-05-20
Clifford D Ruta1015Russia2024-05-29
Kaitlin P Ostrosky1016Brazil2024-06-02
Leon I Nicka1017Canada2024-05-27
Antonio A Flosi1018Italy2024-05-31
Munro H Caldarera1019Spain2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha V NestleGermanyIvan Magalhaes PROPOSAL
Maria J OldroydAustraliaAnna Fali NEW
Isabel A FigeroaFranceBernardo Dominic UNQUALIFIED
Izzy L ButtIndiaAsiya Javayant UNQUALIFIED
Rodrigues A FlosiJapanIvan Magalhaes NEGOTIATION
Munro U StockhamIndiaXuxue Feng NEGOTIATION
Ricardo S SergiIndiaIoni Bowcher NEGOTIATION
Misaki J KuskoCanadaAsiya Javayant NEGOTIATION
Johnson A IturbideArgentinaIoni Bowcher NEW
Cody F DarakjyJapanBernardo Dominic UNQUALIFIED
Maisha I FollerUnited KingdomAnna Fali RENEWAL
Misaki T CaudyUnited KingdomStephen Shaw QUALIFIED
Darci M DarakjyItalyIoni Bowcher NEGOTIATION
Chavez A KuskoIndiaIoni Bowcher NEW
Costa Y OstroskyJapanAsiya Javayant NEW
Jefferson V PerinArgentinaStephen Shaw RENEWAL
Alejandro A AlbaresArgentinaXuxue Feng NEGOTIATION
Stacey C DarakjyAustraliaAsiya Javayant PROPOSAL
Mujtaba Z MaletUnited KingdomIoni Bowcher PROPOSAL
Maisha E DilliardIndiaAsiya Javayant NEGOTIATION
Rodrigues C FerenczJapanStephen Shaw PROPOSAL
Misaki D RulapaughSpainAmy Elsner NEW
Mujtaba B RoysterFranceAnna Fali PROPOSAL
Isabel A CaldareraArgentinaAnna Fali PROPOSAL
Tony E FerenczRussiaBernardo Dominic NEGOTIATION
Silvio R ChuiBrazilStephen Shaw UNQUALIFIED
Misaki D ButtSpainAsiya Javayant RENEWAL
Alejandro F PaprockiFranceAsiya Javayant PROPOSAL
Octavia P SchemmerItalyAmy Elsner PROPOSAL
Claire Y MarrierSpainXuxue Feng UNQUALIFIED
Jones Y ButtUnited KingdomBernardo Dominic NEW
Jefferson F KuskoFranceAnna Fali UNQUALIFIED
Aika E ChuiJapanAmy Elsner UNQUALIFIED
Aditya C InouyeArgentinaIoni Bowcher QUALIFIED
Ricardo S ShinkoGermanyIoni Bowcher NEGOTIATION
Munro G FlosiBrazilOnyama Limba QUALIFIED
David P DoeSpainStephen Shaw NEW
Aruna X FigeroaUnited KingdomIvan Magalhaes RENEWAL
Izzy Q VenereGermanyBernardo Dominic RENEWAL
Adams V StockhamItalyAmy Elsner QUALIFIED

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