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
Sinclair L PoquetteRussiaBernardo Dominic NEW
David O StensethSpainXuxue Feng UNQUALIFIED
Munro B KolmetzAustraliaAnna Fali NEW
Jefferson J DilliardUnited KingdomStephen Shaw NEGOTIATION
Chavez E DoeItalyBernardo Dominic QUALIFIED
Octavia U PerinBrazilAnna Fali QUALIFIED
Juan P SergiSpainIoni Bowcher NEW
Juan X BowleyRussiaIoni Bowcher PROPOSAL
Kaitlin R NestleIndiaAsiya Javayant NEW
Nicolas L CaldareraSpainAmy Elsner UNQUALIFIED
Clifford B VenereIndiaOnyama Limba NEGOTIATION
Jennifer J AmigonIndiaBernardo Dominic UNQUALIFIED
Cody N DarakjyArgentinaIvan Magalhaes RENEWAL
Silvio C KolmetzArgentinaIoni Bowcher QUALIFIED
Faith J DilliardItalyIoni Bowcher NEW
Aditya D KuskoJapanIvan Magalhaes PROPOSAL
Aruna L WaycottArgentinaAmy Elsner QUALIFIED
Francesco H MaletSpainAsiya Javayant NEW
Faith M RulapaughUnited KingdomAnna Fali UNQUALIFIED
Jefferson W RulapaughCanadaIvan Magalhaes UNQUALIFIED
Jefferson X InouyeJapanAmy Elsner NEW
Tony W OldroydSpainAmy Elsner PROPOSAL
Misaki L AmigonAustraliaAnna Fali QUALIFIED
David B AmigonIndiaOnyama Limba NEGOTIATION
Silvio P ChuiFranceIoni Bowcher UNQUALIFIED
Ricardo Y RimIndiaBernardo Dominic QUALIFIED
Jennifer N StockhamUnited KingdomOnyama Limba RENEWAL
Kadeem V SergiAustraliaIvan Magalhaes RENEWAL
Salvatore C IturbideUnited KingdomAmy Elsner QUALIFIED
Cody V PoquetteJapanIvan Magalhaes NEGOTIATION
Octavia G WaycottSpainIvan Magalhaes NEGOTIATION
Mujtaba C IturbideGermanyAmy Elsner RENEWAL
Leja J SlusarskiSpainAmy Elsner PROPOSAL
Aruna X BologniaSpainOnyama Limba RENEWAL
Izzy R WaycottSpainBernardo Dominic PROPOSAL
Morrow R CaldareraItalyOnyama Limba QUALIFIED
Jeanfrancois N ButtArgentinaAnna Fali NEGOTIATION
Maria M BologniaUnited KingdomXuxue Feng PROPOSAL
Kaitlin Q SergiItalyStephen Shaw RENEWAL
Jeanfrancois T OstroskyFranceOnyama Limba PROPOSAL
Aika G PerinJapanAmy Elsner PROPOSAL
Clifford O BologniaArgentinaXuxue Feng NEW
Julie I DilliardFranceAnna Fali NEW
Maria N NickaSpainAsiya Javayant QUALIFIED
Aditya V MacleadIndiaStephen Shaw QUALIFIED
Chavez F NickaRussiaAnna Fali PROPOSAL
Murillo N MorascaCanadaAnna Fali RENEWAL
Ricardo V StensethFranceBernardo Dominic NEW
Aruna S CaudyArgentinaAsiya Javayant NEW
Murillo J SergiAustraliaOnyama Limba NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Aika B BowleyJapanAnna Fali PROPOSAL
Smith Y StensethAustraliaXuxue Feng NEGOTIATION
Ricardo X PerinArgentinaOnyama Limba QUALIFIED
Arvin U KuskoCanadaAsiya Javayant RENEWAL
Clifford W GlickSpainOnyama Limba UNQUALIFIED
Misaki L GauchoUnited KingdomAnna Fali RENEWAL
Faith D FigeroaAustraliaBernardo Dominic UNQUALIFIED
Rodrigues O RoysterItalyOnyama Limba UNQUALIFIED
Kaitlin V MacleadAustraliaElwin Sharvill QUALIFIED
Misaki M FollerCanadaOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey K MacleadArgentina2024-06-08Benton, John B Jr NEGOTIATION52Bernardo Dominic
1001Costa I VocelkaGermany2024-05-27King, Christopher A Esq RENEWAL79Onyama Limba
1002Alejandro W PaprockiCanada2024-05-30Chapman, Ross E Esq RENEWAL17Elwin Sharvill
1003Octavia K StockhamFrance2024-06-16Chapman, Ross E Esq PROPOSAL19Elwin Sharvill
1004Salvatore J SaylorsArgentina2024-06-10Commercial Press NEGOTIATION1Bernardo Dominic
1005Deepesh O VocelkaFrance2024-05-27Rangoni Of Florence NEW51Bernardo Dominic
1006Leja A FigeroaUnited Kingdom2024-05-23Feltz Printing Service NEW68Amy Elsner
1007Clifford B MarrierItaly2024-06-01Chapman, Ross E Esq NEGOTIATION90Amy Elsner
1008Claire C VocelkaGermany2024-05-24Truhlar And Truhlar Attys UNQUALIFIED14Bernardo Dominic
1009Jefferson P KuskoIndia2024-06-14King, Christopher A Esq NEGOTIATION8Bernardo Dominic
1010Adams P RimItaly2024-06-18Rangoni Of Florence RENEWAL0Asiya Javayant
1011Isabel N WhobreySpain2024-06-17Truhlar And Truhlar Attys RENEWAL67Bernardo Dominic
1012Greenwood H RimGermany2024-06-10Benton, John B Jr NEW21Asiya Javayant
1013Maisha N TollnerFrance2024-06-16Truhlar And Truhlar Attys PROPOSAL97Anna Fali
1014Murillo R StockhamSpain2024-06-10Benton, John B Jr RENEWAL19Xuxue Feng
1015Tony Q SaylorsSpain2024-06-04Benton, John B Jr QUALIFIED12Asiya Javayant
1016Murillo U DoeAustralia2024-05-27Rangoni Of Florence RENEWAL12Asiya Javayant
1017Greenwood V SlusarskiBrazil2024-06-10Morlong Associates NEGOTIATION21Stephen Shaw
1018Maisha J WhobreyBrazil2024-06-16King, Christopher A Esq NEW50Asiya Javayant
1019Jeanfrancois R GarufiFrance2024-06-19King, Christopher A Esq RENEWAL51Ioni Bowcher
1020Chavez S StensethUnited Kingdom2024-06-02Printing Dimensions NEW11Elwin Sharvill
1021Wickens H RimBrazil2024-06-16Rangoni Of Florence NEW10Anna Fali
1022Darci D SchemmerBrazil2024-06-12Morlong Associates NEGOTIATION54Xuxue Feng
1023Jefferson I InouyeUnited Kingdom2024-05-28Feltz Printing Service PROPOSAL42Ioni Bowcher
1024Jeanfrancois C CaudySpain2024-06-02Morlong Associates PROPOSAL69Asiya Javayant
1025Arvin L KolmetzRussia2024-05-24Chapman, Ross E Esq PROPOSAL25Elwin Sharvill
1026Salvatore Z KuskoArgentina2024-06-08Chemel, James L Cpa NEGOTIATION31Onyama Limba
1027Mayumi U PaprockiGermany2024-05-24Chemel, James L Cpa RENEWAL34Bernardo Dominic
1028Emily O TollnerGermany2024-05-31Feltz Printing Service UNQUALIFIED58Stephen Shaw
1029Rodrigues F SaylorsFrance2024-05-27King, Christopher A Esq QUALIFIED22Onyama Limba
1030Darci P RimBrazil2024-05-24Printing Dimensions NEGOTIATION82Ivan Magalhaes
1031Aditya Y BriddickUnited Kingdom2024-05-23Chemel, James L Cpa PROPOSAL86Ivan Magalhaes
1032Greenwood T SergiGermany2024-06-06Feiner Bros UNQUALIFIED22Ioni Bowcher
1033Clifford R FigeroaRussia2024-06-14Rangoni Of Florence QUALIFIED1Stephen Shaw
1034Chavez T VocelkaBrazil2024-06-02King, Christopher A Esq QUALIFIED25Elwin Sharvill
1035Kadeem V InouyeItaly2024-06-20Printing Dimensions RENEWAL30Xuxue Feng
1036Claire B FerenczArgentina2024-06-01Chapman, Ross E Esq PROPOSAL41Amy Elsner
1037Ashley V StensethBrazil2024-06-05Feiner Bros PROPOSAL26Xuxue Feng
1038Clifford D WaycottCanada2024-06-08Commercial Press RENEWAL17Asiya Javayant
1039Jeanfrancois E SergiJapan2024-06-12Truhlar And Truhlar Attys PROPOSAL67Ioni Bowcher
1040Aika L NestleRussia2024-05-27Commercial Press NEW90Bernardo Dominic
1041Jeanfrancois L RimArgentina2024-06-19Commercial Press NEGOTIATION7Xuxue Feng
1042Antonio Z KuskoIndia2024-05-29Rousseaux, Michael Esq NEGOTIATION85Onyama Limba
1043Faith S RimJapan2024-05-29King, Christopher A Esq RENEWAL47Ivan Magalhaes
1044Izzy X FigeroaIndia2024-06-10Benton, John B Jr UNQUALIFIED22Ioni Bowcher
1045Claire D MaletFrance2024-06-09Commercial Press QUALIFIED65Ioni Bowcher
1046Nicolas S BologniaJapan2024-06-11Dorl, James J Esq QUALIFIED42Anna Fali
1047Juan L CampainUnited Kingdom2024-05-30Truhlar And Truhlar Attys UNQUALIFIED24Asiya Javayant
1048Octavia P BriddickJapan2024-06-18Buckley Miller Wright QUALIFIED60Bernardo Dominic
1049Wickens X FollerJapan2024-06-11Commercial Press NEGOTIATION80Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Isabel C GillianItalyIoni Bowcher RENEWAL
Wickens J SchemmerSpainOnyama Limba PROPOSAL
Silvio P InouyeRussiaOnyama Limba RENEWAL
Leja E InouyeJapanIvan Magalhaes PROPOSAL
Mayumi A FollerUnited KingdomIoni Bowcher NEGOTIATION
Aruna R PoquetteRussiaElwin Sharvill NEGOTIATION
Isabel H DoeFranceAsiya Javayant PROPOSAL
Adams H ShinkoSpainAsiya Javayant NEW
Clifford P BriddickBrazilAnna Fali NEGOTIATION
Alejandro U NestleIndiaStephen Shaw UNQUALIFIED
Deepesh B RoysterIndiaBernardo Dominic RENEWAL
Jeanfrancois E MarrierBrazilAnna Fali NEGOTIATION
Salvatore I SlusarskiIndiaIvan Magalhaes NEGOTIATION
Morrow P GlickJapanAmy Elsner PROPOSAL
Smith T PaprockiGermanyAmy Elsner PROPOSAL
Nicolas V PerinArgentinaAsiya Javayant PROPOSAL
Francesco L AlbaresAustraliaElwin Sharvill PROPOSAL
Jefferson N MaletRussiaIvan Magalhaes QUALIFIED
Julie X AmigonFranceAmy Elsner UNQUALIFIED
Mujtaba J SergiRussiaXuxue Feng NEW
Morrow C GillianAustraliaBernardo Dominic UNQUALIFIED
Morrow O StensethJapanAnna Fali UNQUALIFIED
Antonio Q ShinkoItalyStephen Shaw UNQUALIFIED
Jeanfrancois E OstroskyArgentinaBernardo Dominic PROPOSAL
Johnson H KuskoArgentinaAnna Fali QUALIFIED
Aditya U MaletRussiaXuxue Feng NEGOTIATION
Kadeem F PaprockiBrazilOnyama Limba UNQUALIFIED
Maisha Z DoeItalyElwin Sharvill PROPOSAL
David O StensethIndiaBernardo Dominic RENEWAL
Octavia H FerenczCanadaBernardo Dominic QUALIFIED
Nicolas I OstroskyCanadaStephen Shaw UNQUALIFIED
Kadeem H BowleyAustraliaIoni Bowcher NEW
Ricardo P GlickJapanIvan Magalhaes NEGOTIATION
Maria Y WaycottJapanElwin Sharvill PROPOSAL
Jennifer M InouyeArgentinaOnyama Limba NEGOTIATION
Antonio V DarakjyIndiaXuxue Feng NEGOTIATION
Greenwood P TollnerAustraliaElwin Sharvill QUALIFIED
Claire U MacleadBrazilAnna Fali UNQUALIFIED
Cody X WhobreyIndiaStephen Shaw NEGOTIATION
Morrow X WieserFranceAmy Elsner NEW
Jeanfrancois H DoeAustraliaAnna Fali RENEWAL
Leja I FollerRussiaIoni Bowcher NEGOTIATION
Jones L GlickUnited KingdomIoni Bowcher PROPOSAL
Octavia P IturbideJapanIoni Bowcher UNQUALIFIED
Leja K KolmetzUnited KingdomAnna Fali QUALIFIED
Nicolas W PoquetteCanadaStephen Shaw NEW
Johnson A RoysterGermanyElwin Sharvill RENEWAL
Antonio C SergiGermanyIvan Magalhaes QUALIFIED
Darci X SlusarskiBrazilAnna Fali RENEWAL
Murillo R CaldareraRussiaXuxue Feng QUALIFIED
Frozen Columns
Name
Kadeem B Albares
Arvin F Iturbide
Johnson M Bolognia
Mayumi Z Iturbide
Mujtaba E Chui
Ashley X Schemmer
Leja H Ostrosky
Sinclair K Dilliard
Maisha I Doe
Murillo F Darakjy
Juan K Malet
Julie F Foller
Johnson C Ferencz
Juan A Ferencz
Alejandro L Poquette
Aika H Wieser
Jones K Caudy
Arvin J Morasca
Aditya Q Stockham
Emily V Nicka
Leon T Ostrosky
Tony S Sergi
Izzy G Whobrey
Misaki U Shinko
Octavia Q Gaucho
Maria U Caldarera
Munro N Kusko
Claire Y Kolmetz
Munro N Nestle
Munro Q Oldroyd
Jones Z Wieser
Silvio V Perin
Kaitlin A Sergi
Ricardo Q Iturbide
Juan L Caldarera
Antonio S Bolognia
Aruna F Slusarski
Silvio W Waycott
Chavez G Wieser
Johnson B Foller
Francesco Y Rim
Darci J Albares
Izzy Z Morasca
Francesco L Saylors
Misaki V Foller
Isabel J Bolognia
Juan N Garufi
David T Butt
Kadeem B Briddick
Izzy I Caudy
IdCountryDate
1000Italy2024-05-28
1001Australia2024-06-15
1002Australia2024-06-20
1003Brazil2024-06-11
1004Australia2024-06-21
1005Japan2024-05-29
1006Australia2024-06-01
1007United Kingdom2024-05-26
1008Canada2024-06-12
1009Canada2024-06-12
1010Canada2024-06-02
1011Australia2024-06-01
1012United Kingdom2024-06-09
1013Brazil2024-05-30
1014Germany2024-06-21
1015Brazil2024-06-15
1016Russia2024-05-26
1017United Kingdom2024-05-27
1018United Kingdom2024-06-14
1019India2024-05-31
1020Spain2024-06-13
1021Italy2024-06-08
1022Japan2024-05-30
1023France2024-05-25
1024Brazil2024-06-19
1025Spain2024-06-17
1026Spain2024-05-27
1027Argentina2024-05-30
1028Italy2024-06-02
1029India2024-05-23
1030Canada2024-06-13
1031Brazil2024-05-25
1032United Kingdom2024-06-05
1033Canada2024-06-16
1034Australia2024-06-19
1035India2024-06-21
1036Japan2024-06-08
1037Japan2024-06-06
1038India2024-06-07
1039India2024-06-20
1040Italy2024-06-20
1041Australia2024-06-21
1042Brazil2024-05-31
1043France2024-05-25
1044Spain2024-06-15
1045India2024-06-01
1046Argentina2024-06-08
1047Brazil2024-06-07
1048Germany2024-06-12
1049Japan2024-06-10

On-Demand Data

NameIdCountryDate
Mujtaba P Ruta1000Australia2024-06-06
Aditya A Waycott1001Germany2024-06-16
Clifford D Stenseth1002Japan2024-06-17
James Y Nestle1003Brazil2024-06-11
Kaitlin R Kolmetz1004France2024-06-20
Julie U Marrier1005France2024-05-25
Ashley W Inouye1006Brazil2024-06-06
Aditya M Morasca1007Japan2024-06-05
Faith N Schemmer1008United Kingdom2024-06-11
Octavia S Slusarski1009Argentina2024-06-07
Francesco D Royster1010France2024-06-19
Silvio E Darakjy1011Italy2024-06-15
Jefferson J Sergi1012Russia2024-06-17
Mayumi P Ferencz1013Germany2024-06-06
Isabel K Saylors1014France2024-05-29
Morrow R Darakjy1015France2024-06-04
Maisha P Kolmetz1016Argentina2024-05-26
Izzy U Nicka1017Russia2024-05-30
Mujtaba G Waycott1018Argentina2024-06-01
Isabel G Caudy1019Canada2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Arvin H KuskoRussiaIoni Bowcher NEW
Greenwood M WaycottBrazilIvan Magalhaes QUALIFIED
David C RutaJapanStephen Shaw UNQUALIFIED
Aruna J InouyeFranceAsiya Javayant QUALIFIED
Ashley T FollerUnited KingdomXuxue Feng PROPOSAL
Leja M GillianUnited KingdomAmy Elsner RENEWAL
Munro R FigeroaItalyAsiya Javayant QUALIFIED
Rodrigues D WhobreyAustraliaXuxue Feng PROPOSAL
Murillo J CampainIndiaAsiya Javayant UNQUALIFIED
Francesco F SergiSpainAmy Elsner PROPOSAL
Tony H WaycottGermanyOnyama Limba RENEWAL
Octavia A FollerJapanAmy Elsner QUALIFIED
Ivar I RoysterArgentinaElwin Sharvill UNQUALIFIED
Mujtaba V RutaFranceOnyama Limba NEGOTIATION
Jones H PerinGermanyXuxue Feng RENEWAL
Greenwood A ShinkoCanadaElwin Sharvill QUALIFIED
Emily N PerinIndiaOnyama Limba RENEWAL
Ricardo K PerinJapanAnna Fali PROPOSAL
Johnson W DarakjyIndiaAnna Fali UNQUALIFIED
Costa O GillianArgentinaAsiya Javayant RENEWAL
Jennifer B CampainFranceAmy Elsner NEGOTIATION
Johnson A CaudyRussiaIvan Magalhaes NEW
Leja P StensethItalyElwin Sharvill UNQUALIFIED
Kadeem M SlusarskiUnited KingdomIvan Magalhaes NEW
Tony J WaycottCanadaAnna Fali QUALIFIED
Ivar O GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Greenwood S OstroskyCanadaAsiya Javayant UNQUALIFIED
Clifford M GillianIndiaIvan Magalhaes PROPOSAL
Ivar C MaletUnited KingdomAmy Elsner PROPOSAL
Aditya V CampainGermanyIvan Magalhaes NEGOTIATION
Maisha F MacleadRussiaOnyama Limba RENEWAL
David N KolmetzCanadaIoni Bowcher NEGOTIATION
Maisha I AlbaresRussiaAnna Fali PROPOSAL
Rodrigues T StensethIndiaElwin Sharvill QUALIFIED
Maisha V GauchoAustraliaOnyama Limba UNQUALIFIED
Misaki O DarakjyArgentinaAsiya Javayant RENEWAL
Maisha R BowleyItalyAnna Fali UNQUALIFIED
Misaki A AlbaresIndiaIoni Bowcher NEW
Faith Q RutaJapanXuxue Feng PROPOSAL
Claire I WaycottCanadaXuxue Feng PROPOSAL

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