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
Deepesh Q MorascaIndiaAnna Fali NEGOTIATION
Jennifer L FerenczJapanAnna Fali NEW
Deepesh C NestleUnited KingdomXuxue Feng RENEWAL
Ashley I AmigonSpainElwin Sharvill QUALIFIED
Emily M CaudyArgentinaElwin Sharvill NEW
Leon D FollerGermanyStephen Shaw NEW
Claire J NestleCanadaAmy Elsner NEW
Leja V KuskoJapanAnna Fali NEGOTIATION
Jones E SaylorsCanadaAnna Fali RENEWAL
Ashley M FollerFranceAsiya Javayant QUALIFIED
Aditya K NestleCanadaOnyama Limba NEGOTIATION
Munro Y VocelkaSpainElwin Sharvill UNQUALIFIED
Francesco D WaycottIndiaXuxue Feng NEW
Maisha N CampainArgentinaAsiya Javayant NEGOTIATION
Clifford C PaprockiRussiaBernardo Dominic NEW
Sinclair J MacleadSpainAnna Fali UNQUALIFIED
Maisha P NickaAustraliaXuxue Feng UNQUALIFIED
Stacey V OldroydAustraliaAsiya Javayant NEGOTIATION
Jennifer V ButtFranceAsiya Javayant PROPOSAL
Juan Q DilliardJapanAsiya Javayant RENEWAL
Salvatore U MaletUnited KingdomXuxue Feng UNQUALIFIED
Octavia G ChuiSpainStephen Shaw QUALIFIED
Jefferson S PerinAustraliaXuxue Feng NEW
Jeanfrancois Y PoquetteJapanAnna Fali PROPOSAL
Ashley K SergiIndiaAnna Fali NEGOTIATION
Jennifer I FerenczCanadaOnyama Limba NEW
Aruna Y MacleadBrazilXuxue Feng NEW
Ricardo F AlbaresArgentinaBernardo Dominic UNQUALIFIED
James W ChuiJapanAsiya Javayant UNQUALIFIED
Alejandro R InouyeRussiaXuxue Feng NEGOTIATION
Alejandro D IturbideSpainAmy Elsner NEW
Mayumi X MaletGermanyAmy Elsner RENEWAL
Ricardo Q SergiArgentinaStephen Shaw PROPOSAL
Jennifer D FollerRussiaElwin Sharvill NEGOTIATION
James X MaletIndiaStephen Shaw PROPOSAL
Morrow X DarakjyItalyOnyama Limba RENEWAL
Morrow J RutaRussiaAsiya Javayant RENEWAL
Izzy O ChuiArgentinaElwin Sharvill NEGOTIATION
Ricardo D KolmetzItalyElwin Sharvill RENEWAL
Silvio W SlusarskiFranceIvan Magalhaes QUALIFIED
Costa W VocelkaIndiaAsiya Javayant QUALIFIED
Claire C GlickJapanAsiya Javayant NEW
Jones P CaudyRussiaElwin Sharvill NEGOTIATION
Izzy N FigeroaJapanAmy Elsner NEGOTIATION
Octavia U OstroskyFranceStephen Shaw RENEWAL
Maria U ShinkoRussiaAsiya Javayant QUALIFIED
Johnson E DarakjyArgentinaOnyama Limba QUALIFIED
Clifford J VenereIndiaXuxue Feng NEW
Mujtaba P BowleyJapanBernardo Dominic RENEWAL
Jefferson N StensethRussiaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jennifer Y AmigonGermanyAsiya Javayant RENEWAL
Ricardo P SchemmerGermanyAsiya Javayant NEGOTIATION
Rodrigues Q AlbaresBrazilOnyama Limba NEGOTIATION
Rodrigues H MacleadUnited KingdomOnyama Limba NEW
Mujtaba L CaldareraSpainElwin Sharvill PROPOSAL
Jefferson X ShinkoSpainXuxue Feng UNQUALIFIED
Juan M SlusarskiBrazilBernardo Dominic NEW
Francesco Q RutaFranceAsiya Javayant QUALIFIED
Morrow V ChuiAustraliaIvan Magalhaes NEW
Salvatore W StensethUnited KingdomAmy Elsner RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jeanfrancois B OstroskyFrance2024-06-12Chapman, Ross E Esq PROPOSAL39Asiya Javayant
1001Jones X RulapaughJapan2024-05-17Benton, John B Jr UNQUALIFIED17Amy Elsner
1002Faith P CampainSpain2024-05-21King, Christopher A Esq RENEWAL44Stephen Shaw
1003Clifford A CampainFrance2024-05-19Rousseaux, Michael Esq UNQUALIFIED14Onyama Limba
1004Ivar L WhobreyFrance2024-05-23Chapman, Ross E Esq RENEWAL99Bernardo Dominic
1005Isabel F SaylorsGermany2024-05-28Rangoni Of Florence NEW13Elwin Sharvill
1006Octavia R BologniaRussia2024-06-01Buckley Miller Wright NEGOTIATION92Amy Elsner
1007Emily Q MarrierUnited Kingdom2024-05-17Chanay, Jeffrey A Esq QUALIFIED28Ivan Magalhaes
1008Aditya D FlosiGermany2024-05-20Chemel, James L Cpa PROPOSAL50Ioni Bowcher
1009Adams W InouyeRussia2024-06-01Benton, John B Jr PROPOSAL48Anna Fali
1010Kaitlin F ChuiFrance2024-06-04Feiner Bros NEW5Bernardo Dominic
1011Isabel W SergiSpain2024-06-08Printing Dimensions UNQUALIFIED47Asiya Javayant
1012Izzy V GlickItaly2024-06-07Buckley Miller Wright RENEWAL9Ioni Bowcher
1013Mujtaba V FerenczRussia2024-05-22Rousseaux, Michael Esq QUALIFIED61Bernardo Dominic
1014Octavia F MacleadBrazil2024-06-09Chemel, James L Cpa NEGOTIATION68Asiya Javayant
1015Jefferson N OldroydUnited Kingdom2024-05-20Feiner Bros PROPOSAL64Ivan Magalhaes
1016Antonio G StensethArgentina2024-06-11Chemel, James L Cpa NEGOTIATION99Ioni Bowcher
1017Claire R BowleyJapan2024-05-29Feiner Bros UNQUALIFIED54Ioni Bowcher
1018Ricardo X FerenczFrance2024-05-30Truhlar And Truhlar Attys RENEWAL58Asiya Javayant
1019Misaki R DilliardArgentina2024-05-22Truhlar And Truhlar Attys NEGOTIATION44Xuxue Feng
1020Mujtaba M InouyeFrance2024-05-21Benton, John B Jr NEGOTIATION45Anna Fali
1021Izzy Y ButtIndia2024-05-26Truhlar And Truhlar Attys PROPOSAL93Anna Fali
1022Darci T PoquetteAustralia2024-06-10Chemel, James L Cpa QUALIFIED69Bernardo Dominic
1023Misaki S AlbaresAustralia2024-05-30Feltz Printing Service QUALIFIED54Ioni Bowcher
1024Ricardo Q FigeroaCanada2024-05-19King, Christopher A Esq NEW82Onyama Limba
1025Jeanfrancois M CampainIndia2024-06-06Printing Dimensions QUALIFIED36Bernardo Dominic
1026David F NestleIndia2024-06-12Commercial Press RENEWAL5Bernardo Dominic
1027Murillo M KuskoJapan2024-05-30Dorl, James J Esq PROPOSAL31Bernardo Dominic
1028Jennifer A CaudyCanada2024-05-19Morlong Associates RENEWAL72Stephen Shaw
1029Murillo I VenereSpain2024-05-30Truhlar And Truhlar Attys NEW24Ivan Magalhaes
1030Jennifer I InouyeBrazil2024-06-04Chanay, Jeffrey A Esq UNQUALIFIED44Onyama Limba
1031Stacey K AlbaresBrazil2024-06-07Commercial Press UNQUALIFIED88Xuxue Feng
1032Jones E RutaArgentina2024-06-10Dorl, James J Esq RENEWAL51Elwin Sharvill
1033Darci W WaycottSpain2024-05-18Truhlar And Truhlar Attys RENEWAL71Elwin Sharvill
1034Wickens N BologniaJapan2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED51Amy Elsner
1035Adams Y VenereJapan2024-06-08Rangoni Of Florence RENEWAL46Asiya Javayant
1036Jefferson N KolmetzBrazil2024-05-17Truhlar And Truhlar Attys NEGOTIATION82Xuxue Feng
1037Faith P VenereGermany2024-05-21Commercial Press PROPOSAL10Elwin Sharvill
1038Stacey F FlosiUnited Kingdom2024-06-09Truhlar And Truhlar Attys PROPOSAL24Asiya Javayant
1039Maria D NestleUnited Kingdom2024-05-21Feiner Bros UNQUALIFIED33Ioni Bowcher
1040Deepesh R NestleJapan2024-05-24Morlong Associates NEW38Ivan Magalhaes
1041Misaki N RimItaly2024-05-30Feiner Bros RENEWAL0Amy Elsner
1042Darci X FigeroaArgentina2024-05-21Morlong Associates PROPOSAL22Ivan Magalhaes
1043Jennifer U FerenczItaly2024-05-30Benton, John B Jr NEW90Xuxue Feng
1044Sinclair C GauchoBrazil2024-06-02Commercial Press QUALIFIED96Amy Elsner
1045Izzy H VenereItaly2024-05-19Rousseaux, Michael Esq UNQUALIFIED61Stephen Shaw
1046Kaitlin H BriddickUnited Kingdom2024-06-01Rousseaux, Michael Esq UNQUALIFIED19Xuxue Feng
1047Isabel B PoquetteJapan2024-05-28Chapman, Ross E Esq UNQUALIFIED2Onyama Limba
1048Sinclair P RimUnited Kingdom2024-06-08Rousseaux, Michael Esq UNQUALIFIED54Elwin Sharvill
1049James B ButtItaly2024-05-24Printing Dimensions NEW81Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Alejandro M KolmetzArgentinaAsiya Javayant NEW
Murillo O PoquetteBrazilIoni Bowcher UNQUALIFIED
Cody C RimIndiaAmy Elsner RENEWAL
Ricardo G BriddickSpainXuxue Feng NEGOTIATION
Jefferson F AmigonIndiaIoni Bowcher RENEWAL
Izzy L SlusarskiJapanElwin Sharvill PROPOSAL
Morrow B FerenczCanadaBernardo Dominic PROPOSAL
Alejandro S GillianJapanElwin Sharvill NEGOTIATION
Johnson I WaycottIndiaElwin Sharvill QUALIFIED
Faith F FigeroaGermanyIoni Bowcher UNQUALIFIED
Jefferson B NickaUnited KingdomXuxue Feng QUALIFIED
Smith P MaletSpainAmy Elsner QUALIFIED
Maisha S FlosiUnited KingdomAsiya Javayant QUALIFIED
Maisha R AlbaresJapanAmy Elsner NEGOTIATION
Tony Z PoquetteGermanyIvan Magalhaes RENEWAL
Costa R FigeroaGermanyXuxue Feng PROPOSAL
Adams T WieserArgentinaXuxue Feng PROPOSAL
James W OstroskyGermanyXuxue Feng NEGOTIATION
Aika T MaletCanadaOnyama Limba NEGOTIATION
Faith A FerenczCanadaAsiya Javayant UNQUALIFIED
Aika P AlbaresArgentinaIoni Bowcher NEW
Cody G BowleyJapanAmy Elsner QUALIFIED
Aruna H RoysterArgentinaAnna Fali UNQUALIFIED
Kaitlin I VocelkaAustraliaXuxue Feng UNQUALIFIED
Aruna B RimJapanElwin Sharvill QUALIFIED
Nicolas T GlickArgentinaXuxue Feng NEW
Morrow F RoysterRussiaAmy Elsner NEW
Mujtaba Z BologniaFranceAsiya Javayant UNQUALIFIED
Juan B RutaFranceAsiya Javayant UNQUALIFIED
David B WieserUnited KingdomStephen Shaw NEW
Clifford I ChuiArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois O PoquetteArgentinaIvan Magalhaes NEW
Isabel J AlbaresGermanyXuxue Feng NEW
Aika S FollerFranceElwin Sharvill RENEWAL
James L PerinFranceXuxue Feng NEGOTIATION
Emily M MaletGermanyElwin Sharvill PROPOSAL
David S TollnerAustraliaAnna Fali QUALIFIED
Mayumi T AlbaresUnited KingdomBernardo Dominic NEGOTIATION
Mayumi M ShinkoSpainElwin Sharvill NEW
Francesco E WaycottItalyAmy Elsner QUALIFIED
Mayumi C SchemmerRussiaXuxue Feng UNQUALIFIED
Aika R GauchoJapanAmy Elsner QUALIFIED
Aditya U RulapaughIndiaElwin Sharvill UNQUALIFIED
Alejandro T MacleadAustraliaOnyama Limba UNQUALIFIED
Francesco V MaletJapanElwin Sharvill PROPOSAL
Ashley L RutaFranceBernardo Dominic UNQUALIFIED
Leja S RulapaughIndiaIoni Bowcher PROPOSAL
Maria F StockhamSpainAmy Elsner PROPOSAL
Munro Z NestleItalyElwin Sharvill PROPOSAL
Johnson X ChuiBrazilIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Stacey R Waycott
Aditya M Darakjy
Faith R Nestle
Faith B Darakjy
Julie U Bolognia
Juan Y Figeroa
Isabel L Gillian
Francesco P Perin
Silvio A Sergi
Smith Y Perin
Jefferson Z Oldroyd
Jeanfrancois K Nicka
Silvio O Schemmer
Leon A Perin
Deepesh M Schemmer
Jennifer G Tollner
Murillo A Garufi
Silvio A Garufi
Arvin O Schemmer
Stacey I Amigon
Jennifer C Perin
Arvin U Albares
Arvin X Caudy
Arvin Y Poquette
Juan P Campain
Alejandro Z Saylors
Clifford L Caldarera
Silvio B Rim
Julie N Albares
Maria P Tollner
Mujtaba M Dilliard
Deepesh W Whobrey
Darci K Caudy
Kadeem B Schemmer
David C Chui
Costa C Shinko
Ricardo J Albares
Maisha B Ostrosky
Aruna B Malet
Johnson Z Iturbide
Faith M Amigon
Leon A Malet
Munro E Sergi
Antonio G Vocelka
Izzy K Kusko
Ricardo B Saylors
Cody C Sergi
Aika I Ferencz
Jeanfrancois N Figeroa
Jennifer F Nicka
IdCountryDate
1000United Kingdom2024-05-22
1001Brazil2024-05-22
1002Japan2024-06-08
1003Argentina2024-05-28
1004Australia2024-05-24
1005Germany2024-06-14
1006France2024-06-14
1007Argentina2024-05-19
1008Italy2024-05-29
1009Australia2024-06-08
1010Australia2024-05-25
1011Japan2024-05-21
1012Italy2024-06-09
1013Germany2024-06-08
1014France2024-05-18
1015Germany2024-06-03
1016Germany2024-05-27
1017Canada2024-05-28
1018France2024-05-16
1019Canada2024-05-26
1020United Kingdom2024-06-02
1021Japan2024-05-17
1022Germany2024-05-27
1023India2024-06-03
1024Italy2024-06-08
1025Italy2024-05-27
1026Italy2024-05-27
1027United Kingdom2024-05-23
1028Germany2024-05-26
1029Canada2024-06-03
1030Russia2024-05-16
1031United Kingdom2024-06-13
1032Spain2024-06-09
1033Italy2024-05-25
1034Russia2024-06-13
1035France2024-06-11
1036United Kingdom2024-06-14
1037Australia2024-05-22
1038Canada2024-05-22
1039India2024-05-17
1040Canada2024-05-28
1041United Kingdom2024-05-30
1042Canada2024-05-27
1043Australia2024-05-25
1044Australia2024-05-29
1045Brazil2024-05-18
1046Brazil2024-06-05
1047France2024-05-18
1048Italy2024-06-05
1049Russia2024-05-27

On-Demand Data

NameIdCountryDate
Maisha X Slusarski1000India2024-05-23
Leon P Marrier1001Russia2024-06-12
Jefferson I Kolmetz1002Canada2024-05-26
Emily O Chui1003France2024-05-20
Francesco W Caudy1004India2024-06-13
Faith P Gillian1005United Kingdom2024-06-05
Ivar Q Rulapaugh1006Italy2024-05-30
Chavez L Gaucho1007Australia2024-06-09
Clifford L Saylors1008Australia2024-05-25
Octavia W Bolognia1009Italy2024-06-12
Misaki X Sergi1010Canada2024-05-24
Costa N Venere1011Spain2024-06-03
Wickens B Venere1012India2024-05-30
Sinclair D Kolmetz1013Spain2024-05-17
Tony N Doe1014Australia2024-06-03
Aditya B Malet1015France2024-05-21
Ricardo W Ferencz1016Germany2024-06-07
Darci H Albares1017Italy2024-05-28
Octavia U Bowley1018Spain2024-06-01
Darci G Caldarera1019Canada2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Clifford R BowleyGermanyOnyama Limba UNQUALIFIED
Murillo V MaletJapanElwin Sharvill RENEWAL
Smith O KolmetzJapanAnna Fali PROPOSAL
Jones C MaletIndiaOnyama Limba QUALIFIED
Kaitlin Z NestleFranceAsiya Javayant NEW
Isabel W PerinBrazilAsiya Javayant UNQUALIFIED
Isabel J CaudyCanadaElwin Sharvill QUALIFIED
Misaki Z BowleySpainAmy Elsner PROPOSAL
Rodrigues K FerenczIndiaAsiya Javayant UNQUALIFIED
Isabel X CaudyIndiaBernardo Dominic PROPOSAL
Clifford M DilliardAustraliaBernardo Dominic PROPOSAL
Alejandro R BowleyAustraliaXuxue Feng QUALIFIED
Octavia Z PoquetteJapanBernardo Dominic NEGOTIATION
Johnson K ChuiRussiaBernardo Dominic NEGOTIATION
Tony A RoysterSpainBernardo Dominic NEW
Faith J StockhamCanadaAnna Fali UNQUALIFIED
Salvatore M BriddickAustraliaAmy Elsner UNQUALIFIED
Greenwood C MaletCanadaBernardo Dominic RENEWAL
Izzy K PaprockiSpainAmy Elsner UNQUALIFIED
Morrow Q WhobreyGermanyIvan Magalhaes RENEWAL
Kaitlin B NestleAustraliaIoni Bowcher NEW
Leon E PoquetteRussiaStephen Shaw UNQUALIFIED
Nicolas Y NickaGermanyAmy Elsner PROPOSAL
Wickens A GillianItalyAnna Fali NEGOTIATION
Adams X StockhamGermanyAnna Fali RENEWAL
Adams I IturbideArgentinaBernardo Dominic RENEWAL
Nicolas D MacleadJapanIvan Magalhaes UNQUALIFIED
Johnson D AmigonBrazilIvan Magalhaes UNQUALIFIED
Silvio V WieserArgentinaAnna Fali NEGOTIATION
Clifford S FigeroaJapanOnyama Limba UNQUALIFIED
Clifford J RulapaughRussiaStephen Shaw NEGOTIATION
Tony X OstroskyFranceIvan Magalhaes PROPOSAL
Ashley P AmigonArgentinaBernardo Dominic RENEWAL
Aruna N RoysterJapanAsiya Javayant QUALIFIED
Johnson B ShinkoIndiaAsiya Javayant NEGOTIATION
Francesco I PoquetteIndiaIvan Magalhaes QUALIFIED
Rodrigues H InouyeFranceBernardo Dominic NEW
Clifford B NickaItalyAnna Fali QUALIFIED
Tony Z InouyeSpainOnyama Limba UNQUALIFIED
Adams W PaprockiItalyAsiya 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>