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
Aruna U RimSpainIvan Magalhaes PROPOSAL
Ashley B GlickJapanBernardo Dominic UNQUALIFIED
James E CaudyFranceAmy Elsner RENEWAL
Faith K CampainJapanStephen Shaw QUALIFIED
Tony E PoquetteUnited KingdomAsiya Javayant NEW
Salvatore K IturbideRussiaElwin Sharvill RENEWAL
Costa L CampainJapanOnyama Limba NEGOTIATION
Costa X AlbaresIndiaAmy Elsner PROPOSAL
Juan T MaletIndiaXuxue Feng UNQUALIFIED
Costa O AmigonCanadaElwin Sharvill RENEWAL
Emily C AmigonIndiaBernardo Dominic PROPOSAL
Jefferson R BologniaIndiaAsiya Javayant RENEWAL
Morrow W WieserJapanAnna Fali PROPOSAL
Clifford J MorascaArgentinaAsiya Javayant QUALIFIED
Greenwood E BriddickFranceStephen Shaw PROPOSAL
Greenwood F CaudyRussiaXuxue Feng NEGOTIATION
Arvin W AlbaresSpainOnyama Limba RENEWAL
Aruna S GlickArgentinaElwin Sharvill PROPOSAL
Greenwood B OstroskyArgentinaBernardo Dominic RENEWAL
Clifford B InouyeIndiaElwin Sharvill NEGOTIATION
Sinclair N SergiSpainElwin Sharvill UNQUALIFIED
Faith K FerenczUnited KingdomBernardo Dominic PROPOSAL
Nicolas J FerenczSpainElwin Sharvill NEGOTIATION
Wickens O RulapaughCanadaStephen Shaw NEW
Smith W NickaCanadaAmy Elsner NEGOTIATION
Faith G BowleyItalyElwin Sharvill NEGOTIATION
Salvatore X ChuiUnited KingdomIvan Magalhaes NEW
Smith A SergiSpainAnna Fali NEGOTIATION
Misaki T SchemmerFranceXuxue Feng NEGOTIATION
Izzy K WaycottBrazilBernardo Dominic NEW
Costa M IturbideBrazilXuxue Feng QUALIFIED
Wickens Z NestleRussiaAsiya Javayant NEGOTIATION
Wickens E PoquetteUnited KingdomStephen Shaw RENEWAL
Francesco M FlosiBrazilXuxue Feng RENEWAL
Maria H CampainBrazilIoni Bowcher RENEWAL
Kadeem S VocelkaSpainXuxue Feng UNQUALIFIED
Leon R WaycottIndiaAnna Fali QUALIFIED
Greenwood V MarrierRussiaAmy Elsner UNQUALIFIED
Morrow D ShinkoRussiaIoni Bowcher PROPOSAL
Isabel D SergiBrazilIvan Magalhaes UNQUALIFIED
Nicolas T InouyeItalyAsiya Javayant QUALIFIED
Greenwood Y OldroydRussiaStephen Shaw RENEWAL
Jennifer A CaldareraItalyBernardo Dominic NEW
Adams J GillianCanadaStephen Shaw QUALIFIED
Jones R GillianBrazilBernardo Dominic NEGOTIATION
Arvin O RutaIndiaAmy Elsner UNQUALIFIED
Salvatore B OldroydFranceAnna Fali RENEWAL
Faith H VenereRussiaAnna Fali UNQUALIFIED
Aika F AmigonBrazilStephen Shaw RENEWAL
Aditya D GillianIndiaOnyama Limba NEW
Horizontal
NameCountryRepresentativeStatus
Izzy Q VenereAustraliaElwin Sharvill QUALIFIED
Smith H RulapaughIndiaIoni Bowcher UNQUALIFIED
Ashley N ButtRussiaBernardo Dominic NEW
Adams I SergiGermanyElwin Sharvill NEGOTIATION
Arvin V BologniaJapanIoni Bowcher NEGOTIATION
Francesco J CaldareraGermanyOnyama Limba RENEWAL
Jefferson G OldroydCanadaElwin Sharvill NEGOTIATION
Wickens L FlosiFranceAsiya Javayant PROPOSAL
Misaki H SergiSpainBernardo Dominic NEGOTIATION
Isabel C TollnerArgentinaIvan Magalhaes NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Murillo L CampainCanada2025-05-27Rangoni Of Florence RENEWAL29Onyama Limba
1001Jennifer F FigeroaSpain2025-05-28Commercial Press PROPOSAL90Onyama Limba
1002Octavia K VenereJapan2025-05-23Printing Dimensions QUALIFIED17Amy Elsner
1003Mujtaba T RulapaughItaly2025-05-29Truhlar And Truhlar Attys NEW73Ivan Magalhaes
1004Murillo Y BowleyItaly2025-05-18Chanay, Jeffrey A Esq QUALIFIED38Stephen Shaw
1005Misaki A SlusarskiCanada2025-06-04Dorl, James J Esq NEW99Ioni Bowcher
1006Aruna X GarufiItaly2025-06-14Chapman, Ross E Esq UNQUALIFIED53Ioni Bowcher
1007Isabel I FerenczArgentina2025-05-27Chanay, Jeffrey A Esq NEW25Ioni Bowcher
1008Ricardo H InouyeRussia2025-05-20Commercial Press NEW98Xuxue Feng
1009Jeanfrancois K NickaFrance2025-05-31Rangoni Of Florence UNQUALIFIED66Onyama Limba
1010Izzy H MaletJapan2025-06-01Rangoni Of Florence UNQUALIFIED98Stephen Shaw
1011Antonio H MaletArgentina2025-05-22Feiner Bros NEW54Ivan Magalhaes
1012James A MaletBrazil2025-06-04Morlong Associates QUALIFIED71Ivan Magalhaes
1013Sinclair X VocelkaIndia2025-05-28Rousseaux, Michael Esq NEW55Bernardo Dominic
1014Salvatore D FlosiSpain2025-06-01Printing Dimensions QUALIFIED82Bernardo Dominic
1015Nicolas F MaletIndia2025-06-16Chanay, Jeffrey A Esq RENEWAL32Ioni Bowcher
1016Munro A BriddickCanada2025-05-21Feiner Bros NEW66Anna Fali
1017Faith O PoquetteJapan2025-05-28Morlong Associates NEW69Elwin Sharvill
1018Darci F WhobreyJapan2025-06-06Rousseaux, Michael Esq RENEWAL57Anna Fali
1019Leja U CaudyRussia2025-06-07Feiner Bros RENEWAL83Elwin Sharvill
1020Cody Q ButtAustralia2025-06-05Chemel, James L Cpa UNQUALIFIED70Ivan Magalhaes
1021James N OstroskyFrance2025-06-09Feltz Printing Service PROPOSAL0Asiya Javayant
1022Chavez A BowleyJapan2025-06-01Rousseaux, Michael Esq NEW14Xuxue Feng
1023Kaitlin O BologniaArgentina2025-05-30Benton, John B Jr NEGOTIATION97Stephen Shaw
1024Mayumi J AmigonSpain2025-05-22Morlong Associates RENEWAL80Ioni Bowcher
1025Kadeem V FollerUnited Kingdom2025-06-13King, Christopher A Esq NEW16Elwin Sharvill
1026Julie J IturbideRussia2025-06-04Feiner Bros NEW31Anna Fali
1027Octavia E GauchoRussia2025-06-11Truhlar And Truhlar Attys NEGOTIATION0Asiya Javayant
1028Arvin D PoquetteBrazil2025-05-21Buckley Miller Wright PROPOSAL73Asiya Javayant
1029Maria C SaylorsJapan2025-05-22Rousseaux, Michael Esq UNQUALIFIED57Xuxue Feng
1030Aruna O BriddickGermany2025-06-15Feltz Printing Service UNQUALIFIED38Onyama Limba
1031Jones X PoquetteItaly2025-06-14Buckley Miller Wright NEW42Elwin Sharvill
1032Murillo I PoquetteCanada2025-05-23Buckley Miller Wright QUALIFIED38Ivan Magalhaes
1033Jennifer O CaldareraIndia2025-05-20Chemel, James L Cpa RENEWAL30Onyama Limba
1034Smith G BologniaSpain2025-06-13Feiner Bros UNQUALIFIED33Xuxue Feng
1035Mujtaba V CaldareraIndia2025-05-20Truhlar And Truhlar Attys PROPOSAL25Ioni Bowcher
1036Ashley B GarufiIndia2025-05-28Morlong Associates NEW86Anna Fali
1037Wickens B RutaJapan2025-05-19Benton, John B Jr QUALIFIED15Ioni Bowcher
1038Darci F DarakjyBrazil2025-05-24Printing Dimensions QUALIFIED34Stephen Shaw
1039Costa Z SaylorsJapan2025-05-27Dorl, James J Esq UNQUALIFIED71Anna Fali
1040Costa J BowleySpain2025-06-06Chapman, Ross E Esq NEW41Elwin Sharvill
1041Adams L ChuiItaly2025-05-20Feltz Printing Service NEGOTIATION85Elwin Sharvill
1042Jeanfrancois D VenereAustralia2025-06-01Chanay, Jeffrey A Esq UNQUALIFIED58Onyama Limba
1043Murillo L SergiArgentina2025-06-04Feiner Bros QUALIFIED42Stephen Shaw
1044Ricardo H SchemmerIndia2025-06-15Chemel, James L Cpa RENEWAL29Bernardo Dominic
1045Jennifer W KuskoGermany2025-05-28Morlong Associates NEW3Asiya Javayant
1046Alejandro S KolmetzUnited Kingdom2025-05-23Buckley Miller Wright NEW11Ioni Bowcher
1047Arvin W ButtSpain2025-06-04Buckley Miller Wright QUALIFIED80Xuxue Feng
1048Morrow W FlosiCanada2025-05-29Printing Dimensions NEW82Asiya Javayant
1049Salvatore D DoeBrazil2025-05-21Commercial Press QUALIFIED11Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Jennifer D DilliardItalyIvan Magalhaes NEW
Mujtaba U MaletUnited KingdomAmy Elsner UNQUALIFIED
Jones H FollerGermanyIoni Bowcher QUALIFIED
Smith Q SaylorsFranceStephen Shaw NEW
Francesco T PaprockiJapanElwin Sharvill PROPOSAL
Ashley C WaycottItalyIvan Magalhaes QUALIFIED
Wickens P MaletAustraliaIoni Bowcher QUALIFIED
Jeanfrancois T NestleItalyIvan Magalhaes QUALIFIED
Salvatore Y BriddickSpainAnna Fali NEW
Greenwood S GlickArgentinaOnyama Limba NEW
Jeanfrancois Z PoquetteJapanIvan Magalhaes PROPOSAL
Clifford Z BriddickBrazilAmy Elsner PROPOSAL
Faith T NestleAustraliaAsiya Javayant NEW
Greenwood I PerinRussiaIvan Magalhaes QUALIFIED
Clifford V MaletRussiaXuxue Feng RENEWAL
Salvatore Z NickaCanadaStephen Shaw NEGOTIATION
Faith R InouyeJapanIvan Magalhaes UNQUALIFIED
Francesco Q FlosiJapanStephen Shaw NEGOTIATION
Munro U RoysterGermanyAnna Fali RENEWAL
Adams I StensethBrazilAmy Elsner PROPOSAL
Claire B RimSpainElwin Sharvill NEW
Johnson H NickaBrazilOnyama Limba PROPOSAL
Tony E SaylorsGermanyBernardo Dominic NEGOTIATION
Ricardo T DarakjyFranceElwin Sharvill PROPOSAL
Tony P PerinAustraliaXuxue Feng UNQUALIFIED
Silvio T StockhamIndiaIvan Magalhaes UNQUALIFIED
Kadeem S MacleadSpainXuxue Feng QUALIFIED
Costa O DoeRussiaBernardo Dominic NEGOTIATION
Ricardo S VenereFranceElwin Sharvill QUALIFIED
Murillo R RutaUnited KingdomIvan Magalhaes PROPOSAL
Murillo N TollnerAustraliaIoni Bowcher NEW
Aruna C ButtGermanyOnyama Limba QUALIFIED
Morrow K MaletGermanyAnna Fali NEGOTIATION
Emily Q RulapaughSpainAmy Elsner NEW
Jones O PoquetteArgentinaAsiya Javayant RENEWAL
Juan F CaldareraIndiaAnna Fali PROPOSAL
Clifford H StockhamJapanXuxue Feng RENEWAL
Arvin Y PerinBrazilXuxue Feng QUALIFIED
Cody L CaudyGermanyOnyama Limba QUALIFIED
Isabel Z VocelkaUnited KingdomStephen Shaw PROPOSAL
Kadeem B SlusarskiItalyElwin Sharvill NEW
Tony L WaycottJapanIvan Magalhaes RENEWAL
Aika M ShinkoUnited KingdomStephen Shaw NEGOTIATION
Nicolas P RimUnited KingdomXuxue Feng RENEWAL
Jefferson O PerinBrazilOnyama Limba QUALIFIED
Octavia A KuskoJapanAmy Elsner PROPOSAL
Arvin T KolmetzAustraliaIoni Bowcher UNQUALIFIED
Adams T DilliardRussiaStephen Shaw NEW
Rodrigues E WhobreyArgentinaIvan Magalhaes NEGOTIATION
Murillo T GillianJapanAmy Elsner NEGOTIATION
Frozen Columns
Name
James K Oldroyd
Darci C Morasca
Aruna B Inouye
Rodrigues B Slusarski
Misaki L Chui
Costa Y Whobrey
Greenwood U Campain
Ashley G Saylors
Salvatore A Bowley
Francesco H Schemmer
Arvin B Shinko
Jones O Kolmetz
Munro T Darakjy
Emily Q Morasca
Misaki T Nicka
Darci C Nestle
Munro Z Saylors
Aika J Malet
Darci R Foller
Johnson K Nicka
Isabel O Stockham
David I Bowley
David Z Saylors
Misaki I Campain
Cody U Rim
Deepesh T Campain
Francesco W Nicka
Jennifer F Chui
Murillo W Vocelka
Antonio I Marrier
David M Gaucho
Silvio Y Oldroyd
Adams N Malet
Kaitlin L Schemmer
Nicolas W Tollner
Mujtaba I Wieser
Deepesh C Garufi
Morrow F Wieser
Jones A Chui
Cody U Bolognia
Emily U Flosi
Alejandro Q Marrier
Darci X Whobrey
Costa Q Malet
Wickens K Doe
Smith Z Iturbide
Ashley R Bowley
Jeanfrancois B Morasca
Mayumi Y Campain
Greenwood Q Doe
IdCountryDate
1000United Kingdom2025-05-22
1001Canada2025-05-25
1002India2025-05-19
1003Russia2025-05-20
1004France2025-05-23
1005France2025-05-31
1006Japan2025-06-07
1007Brazil2025-06-04
1008Russia2025-06-09
1009Japan2025-05-31
1010Germany2025-06-12
1011Australia2025-06-15
1012Spain2025-06-01
1013Italy2025-06-09
1014Italy2025-06-13
1015Russia2025-05-25
1016Argentina2025-05-18
1017Canada2025-05-22
1018Japan2025-06-08
1019Canada2025-06-05
1020Russia2025-06-10
1021Germany2025-06-05
1022France2025-06-14
1023United Kingdom2025-06-16
1024Japan2025-06-10
1025Italy2025-05-19
1026Japan2025-05-25
1027Italy2025-05-18
1028United Kingdom2025-05-31
1029Brazil2025-06-13
1030Germany2025-06-01
1031Canada2025-05-23
1032Brazil2025-06-03
1033Argentina2025-05-25
1034Australia2025-06-02
1035India2025-05-28
1036Canada2025-06-08
1037Japan2025-05-21
1038Italy2025-06-05
1039Italy2025-05-25
1040Japan2025-06-15
1041Russia2025-05-28
1042Australia2025-06-15
1043United Kingdom2025-06-08
1044Australia2025-05-28
1045Canada2025-06-15
1046India2025-06-12
1047Japan2025-05-26
1048Italy2025-06-10
1049Australia2025-06-14

On-Demand Data

NameIdCountryDate
Deepesh R Marrier1000Germany2025-05-24
Darci P Doe1001United Kingdom2025-06-11
Sinclair Y Dilliard1002United Kingdom2025-05-29
Julie Q Venere1003France2025-05-25
Ricardo J Doe1004France2025-06-10
Jones Y Slusarski1005Brazil2025-06-09
Antonio O Malet1006Japan2025-05-31
Johnson U Doe1007India2025-05-23
Darci P Sergi1008Russia2025-05-19
Deepesh E Slusarski1009Japan2025-05-23
Ashley I Nicka1010Canada2025-05-28
Clifford K Caudy1011Italy2025-05-30
Kaitlin V Vocelka1012Italy2025-06-09
Jefferson H Chui1013Canada2025-06-10
Chavez U Waycott1014Australia2025-06-08
Deepesh V Saylors1015Argentina2025-06-08
Emily W Shinko1016France2025-06-02
Rodrigues M Doe1017Spain2025-06-16
Salvatore R Schemmer1018Spain2025-05-30
Leja P Shinko1019Japan2025-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Octavia Y GarufiAustraliaBernardo Dominic RENEWAL
Juan K GarufiArgentinaOnyama Limba QUALIFIED
James Y GlickSpainIvan Magalhaes QUALIFIED
Alejandro P RoysterArgentinaOnyama Limba QUALIFIED
Clifford D VenereGermanyAsiya Javayant NEW
Aika R GlickJapanXuxue Feng UNQUALIFIED
Izzy S SaylorsRussiaElwin Sharvill QUALIFIED
Francesco H KolmetzCanadaElwin Sharvill NEW
Deepesh X ShinkoJapanStephen Shaw NEGOTIATION
Costa Y NickaJapanElwin Sharvill QUALIFIED
Ricardo U RimBrazilAsiya Javayant PROPOSAL
Aruna I FigeroaFranceElwin Sharvill NEW
Kaitlin E MorascaItalyStephen Shaw RENEWAL
Costa W PaprockiCanadaBernardo Dominic RENEWAL
Johnson V KolmetzRussiaElwin Sharvill PROPOSAL
Leon D PerinRussiaOnyama Limba PROPOSAL
Emily K MarrierSpainElwin Sharvill NEW
Francesco Y DoeFranceOnyama Limba QUALIFIED
Maisha D DilliardGermanyAnna Fali NEW
Deepesh G MarrierGermanyIvan Magalhaes UNQUALIFIED
Jeanfrancois O TollnerGermanyIoni Bowcher RENEWAL
Maria A SchemmerArgentinaAsiya Javayant NEGOTIATION
Claire R MacleadJapanAmy Elsner NEGOTIATION
James Y FerenczFranceXuxue Feng PROPOSAL
Munro D FigeroaUnited KingdomOnyama Limba RENEWAL
Mayumi G GlickGermanyStephen Shaw PROPOSAL
Salvatore Q DoeSpainAnna Fali PROPOSAL
Rodrigues A ButtRussiaIvan Magalhaes UNQUALIFIED
Juan H CaldareraUnited KingdomElwin Sharvill QUALIFIED
Jones V KolmetzFranceAsiya Javayant NEGOTIATION
Sinclair S CaldareraBrazilXuxue Feng UNQUALIFIED
Silvio Q GarufiSpainAsiya Javayant QUALIFIED
Claire G InouyeCanadaElwin Sharvill PROPOSAL
David M IturbideItalyBernardo Dominic NEGOTIATION
Leja M BriddickArgentinaAsiya Javayant RENEWAL
Costa T WieserIndiaElwin Sharvill RENEWAL
Aditya Z GlickGermanyElwin Sharvill NEGOTIATION
Mujtaba O GlickItalyBernardo Dominic PROPOSAL
James I WhobreySpainStephen Shaw UNQUALIFIED
Julie Z FlosiArgentinaXuxue Feng 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>