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 Y FigeroaCanadaAnna Fali NEGOTIATION
Aruna G MaletFranceAmy Elsner NEGOTIATION
Rodrigues B PerinItalyXuxue Feng RENEWAL
Emily U SchemmerCanadaBernardo Dominic UNQUALIFIED
Kadeem Q BologniaGermanyElwin Sharvill NEW
Leon Z GarufiCanadaAmy Elsner RENEWAL
Emily G SlusarskiUnited KingdomBernardo Dominic QUALIFIED
Cody D VocelkaGermanyElwin Sharvill PROPOSAL
Ashley V NickaFranceXuxue Feng NEW
Ivar X FigeroaIndiaIvan Magalhaes NEGOTIATION
Kadeem W SergiItalyXuxue Feng QUALIFIED
Leon H InouyeUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore K NickaIndiaXuxue Feng RENEWAL
Morrow N ButtArgentinaAnna Fali UNQUALIFIED
Claire Q VenereRussiaElwin Sharvill RENEWAL
Tony W SchemmerJapanIoni Bowcher QUALIFIED
Morrow Y PerinUnited KingdomAnna Fali NEGOTIATION
Salvatore T VocelkaJapanElwin Sharvill RENEWAL
Stacey T MaletJapanOnyama Limba RENEWAL
Smith D WieserItalyAnna Fali NEGOTIATION
Smith M AlbaresUnited KingdomStephen Shaw NEGOTIATION
Mujtaba K ShinkoItalyAsiya Javayant QUALIFIED
Jennifer C PaprockiBrazilAmy Elsner UNQUALIFIED
James G VocelkaItalyElwin Sharvill RENEWAL
Sinclair Y MarrierUnited KingdomStephen Shaw QUALIFIED
Greenwood U OldroydArgentinaXuxue Feng RENEWAL
Costa F DilliardJapanAsiya Javayant RENEWAL
Silvio J MaletBrazilIoni Bowcher NEGOTIATION
Murillo A SergiAustraliaXuxue Feng QUALIFIED
Faith J IturbideAustraliaXuxue Feng RENEWAL
Murillo T TollnerRussiaAnna Fali PROPOSAL
Leon I MorascaArgentinaIoni Bowcher NEW
Chavez X BologniaGermanyBernardo Dominic QUALIFIED
Ashley N FigeroaFranceIvan Magalhaes QUALIFIED
James R KolmetzFranceStephen Shaw NEW
Sinclair X ChuiFranceIoni Bowcher RENEWAL
Rodrigues I SaylorsGermanyAnna Fali PROPOSAL
Izzy M DilliardBrazilAmy Elsner NEGOTIATION
Munro K OstroskyAustraliaXuxue Feng QUALIFIED
Silvio S RutaSpainAsiya Javayant PROPOSAL
Kaitlin G SchemmerArgentinaIoni Bowcher QUALIFIED
Darci U OstroskyJapanXuxue Feng PROPOSAL
Juan O CaudyUnited KingdomIoni Bowcher NEW
Misaki F MorascaJapanIvan Magalhaes NEW
Aruna E MorascaCanadaAmy Elsner UNQUALIFIED
Jeanfrancois X SchemmerArgentinaAmy Elsner NEGOTIATION
Francesco R DarakjyAustraliaAmy Elsner RENEWAL
Silvio R FerenczIndiaIoni Bowcher PROPOSAL
Kaitlin T MaletAustraliaIoni Bowcher NEGOTIATION
Alejandro X MacleadArgentinaElwin Sharvill UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Juan G MaletFranceBernardo Dominic NEGOTIATION
Alejandro F ShinkoAustraliaIvan Magalhaes QUALIFIED
Leja A BowleyBrazilAsiya Javayant NEW
Juan Y NickaJapanIoni Bowcher UNQUALIFIED
Cody U StockhamItalyStephen Shaw NEW
Clifford I DilliardGermanyStephen Shaw UNQUALIFIED
Stacey F StensethFranceBernardo Dominic RENEWAL
Maisha L AmigonGermanyXuxue Feng NEGOTIATION
Deepesh B RutaAustraliaAsiya Javayant RENEWAL
Munro N BriddickItalyAnna Fali RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio R IturbideBrazil2024-06-06Chanay, Jeffrey A Esq UNQUALIFIED37Elwin Sharvill
1001Ashley T OstroskyIndia2024-06-16Benton, John B Jr PROPOSAL7Amy Elsner
1002Smith P RulapaughAustralia2024-06-15Buckley Miller Wright NEGOTIATION90Ivan Magalhaes
1003Mayumi G WieserFrance2024-05-28Buckley Miller Wright UNQUALIFIED25Amy Elsner
1004Arvin F FigeroaIndia2024-06-12King, Christopher A Esq NEGOTIATION37Anna Fali
1005Ricardo S CaudyUnited Kingdom2024-06-16Dorl, James J Esq UNQUALIFIED6Stephen Shaw
1006Jennifer R FollerJapan2024-06-21Morlong Associates QUALIFIED84Onyama Limba
1007Jones Y ShinkoItaly2024-06-12Feltz Printing Service UNQUALIFIED42Ioni Bowcher
1008Alejandro A MorascaFrance2024-06-03King, Christopher A Esq PROPOSAL52Asiya Javayant
1009Tony X PoquetteUnited Kingdom2024-06-01Rousseaux, Michael Esq UNQUALIFIED86Ioni Bowcher
1010Chavez P ButtSpain2024-06-12Feltz Printing Service NEGOTIATION3Amy Elsner
1011Cody V AmigonBrazil2024-06-02Chapman, Ross E Esq NEGOTIATION96Anna Fali
1012Mayumi Y BriddickSpain2024-06-19Buckley Miller Wright NEW96Amy Elsner
1013Alejandro O GillianSpain2024-06-15Rangoni Of Florence NEW64Asiya Javayant
1014Greenwood A OldroydRussia2024-06-16Benton, John B Jr NEW42Anna Fali
1015Chavez R GarufiUnited Kingdom2024-06-16Chemel, James L Cpa UNQUALIFIED72Asiya Javayant
1016Izzy H KuskoJapan2024-05-24Commercial Press RENEWAL77Bernardo Dominic
1017James Q GlickUnited Kingdom2024-06-10Chapman, Ross E Esq NEW38Amy Elsner
1018Wickens S DilliardCanada2024-06-17Chemel, James L Cpa RENEWAL85Stephen Shaw
1019Jones I RimSpain2024-06-14Commercial Press PROPOSAL53Onyama Limba
1020David Q SlusarskiJapan2024-05-31Chanay, Jeffrey A Esq UNQUALIFIED79Asiya Javayant
1021Arvin D FerenczUnited Kingdom2024-06-12Chanay, Jeffrey A Esq NEW83Ivan Magalhaes
1022Aika E RimItaly2024-06-13Dorl, James J Esq PROPOSAL70Bernardo Dominic
1023Maisha N VocelkaBrazil2024-06-10Morlong Associates PROPOSAL45Ivan Magalhaes
1024Jennifer D ChuiUnited Kingdom2024-06-12Truhlar And Truhlar Attys QUALIFIED40Asiya Javayant
1025Aika K InouyeIndia2024-06-13Dorl, James J Esq UNQUALIFIED1Asiya Javayant
1026Izzy S GauchoSpain2024-06-05Benton, John B Jr NEGOTIATION23Ioni Bowcher
1027Kadeem L WieserUnited Kingdom2024-05-29Rousseaux, Michael Esq RENEWAL70Stephen Shaw
1028Alejandro K SchemmerRussia2024-06-15Chanay, Jeffrey A Esq PROPOSAL36Amy Elsner
1029Greenwood I NestleUnited Kingdom2024-05-25Chanay, Jeffrey A Esq NEW59Asiya Javayant
1030Julie X ChuiBrazil2024-06-07Chemel, James L Cpa RENEWAL17Ivan Magalhaes
1031Munro R AmigonJapan2024-05-26Rangoni Of Florence UNQUALIFIED5Bernardo Dominic
1032Clifford G OldroydItaly2024-05-30Chemel, James L Cpa NEW4Amy Elsner
1033Jennifer V GauchoItaly2024-06-12Dorl, James J Esq UNQUALIFIED47Amy Elsner
1034Jones Z MarrierJapan2024-06-22Chemel, James L Cpa UNQUALIFIED24Xuxue Feng
1035Deepesh Q ChuiUnited Kingdom2024-06-14King, Christopher A Esq NEGOTIATION10Onyama Limba
1036Johnson M RimCanada2024-06-01Dorl, James J Esq NEGOTIATION77Onyama Limba
1037Aditya I AmigonAustralia2024-06-11Commercial Press UNQUALIFIED58Xuxue Feng
1038Ricardo O ButtCanada2024-06-20Chapman, Ross E Esq RENEWAL44Onyama Limba
1039Leja I RutaBrazil2024-06-19Truhlar And Truhlar Attys NEW80Asiya Javayant
1040Ivar B VenereGermany2024-06-07Chanay, Jeffrey A Esq UNQUALIFIED1Onyama Limba
1041Julie I GillianFrance2024-05-25Chapman, Ross E Esq NEW91Asiya Javayant
1042Jeanfrancois G CaldareraFrance2024-05-27Chapman, Ross E Esq PROPOSAL14Onyama Limba
1043Emily E FerenczSpain2024-06-20Buckley Miller Wright UNQUALIFIED19Anna Fali
1044Ivar N PaprockiSpain2024-06-16Rangoni Of Florence UNQUALIFIED11Bernardo Dominic
1045Mayumi D WhobreyBrazil2024-06-17Printing Dimensions RENEWAL5Stephen Shaw
1046Ivar F OstroskyFrance2024-06-12Feiner Bros NEGOTIATION68Bernardo Dominic
1047Claire S CaudyJapan2024-06-17Feiner Bros NEW6Amy Elsner
1048Francesco S MaletIndia2024-05-26Rousseaux, Michael Esq NEW65Xuxue Feng
1049Octavia N GarufiCanada2024-06-15Chapman, Ross E Esq RENEWAL76Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Kadeem Z OldroydGermanyIvan Magalhaes RENEWAL
Mujtaba B OldroydFranceXuxue Feng QUALIFIED
Ivar U StensethUnited KingdomOnyama Limba UNQUALIFIED
Munro U NestleAustraliaXuxue Feng QUALIFIED
Ricardo L SaylorsJapanStephen Shaw NEGOTIATION
Mayumi D GarufiRussiaAnna Fali NEGOTIATION
Claire M InouyeSpainBernardo Dominic RENEWAL
Salvatore H PerinBrazilOnyama Limba PROPOSAL
Antonio E WhobreyCanadaAsiya Javayant QUALIFIED
Maisha S AmigonSpainAsiya Javayant RENEWAL
Darci V WaycottAustraliaAnna Fali UNQUALIFIED
Leja G KuskoBrazilStephen Shaw QUALIFIED
Julie N MarrierItalyAmy Elsner NEGOTIATION
Mujtaba X MorascaItalyElwin Sharvill QUALIFIED
Alejandro R KuskoIndiaIvan Magalhaes NEGOTIATION
Munro N InouyeBrazilAmy Elsner UNQUALIFIED
Kaitlin V MacleadArgentinaAsiya Javayant NEW
Emily X RoysterSpainAnna Fali QUALIFIED
Misaki M OldroydBrazilOnyama Limba PROPOSAL
Sinclair D StockhamRussiaIoni Bowcher UNQUALIFIED
Emily I GlickJapanAmy Elsner PROPOSAL
Leja I KolmetzArgentinaIvan Magalhaes NEGOTIATION
Smith O RutaBrazilElwin Sharvill NEW
Francesco E SaylorsFranceIvan Magalhaes NEGOTIATION
Wickens N CaldareraCanadaXuxue Feng PROPOSAL
Munro L GillianBrazilStephen Shaw UNQUALIFIED
Claire U FlosiGermanyIoni Bowcher PROPOSAL
Emily I FlosiSpainAsiya Javayant UNQUALIFIED
Stacey J WhobreyBrazilAmy Elsner UNQUALIFIED
Costa E IturbideItalyOnyama Limba UNQUALIFIED
Deepesh R DoeBrazilBernardo Dominic UNQUALIFIED
Munro E FigeroaGermanyAnna Fali PROPOSAL
Costa I BologniaJapanAmy Elsner NEW
Leon R SlusarskiFranceElwin Sharvill NEW
Jones C WhobreyRussiaOnyama Limba NEW
Claire D WhobreyUnited KingdomOnyama Limba NEW
Arvin G ButtJapanAsiya Javayant QUALIFIED
Ashley A SaylorsArgentinaIoni Bowcher NEGOTIATION
Sinclair R AmigonItalyBernardo Dominic NEGOTIATION
Isabel U VocelkaCanadaAsiya Javayant RENEWAL
Aruna Y WhobreyCanadaIoni Bowcher UNQUALIFIED
Adams P GauchoSpainElwin Sharvill NEGOTIATION
Adams H VenereFranceOnyama Limba RENEWAL
Costa F CaldareraAustraliaAnna Fali NEW
Tony U MaletIndiaOnyama Limba PROPOSAL
Faith C DarakjyCanadaElwin Sharvill UNQUALIFIED
Alejandro N GillianGermanyIvan Magalhaes NEW
Stacey C IturbideItalyIvan Magalhaes RENEWAL
Morrow U OstroskyItalyOnyama Limba QUALIFIED
Silvio O KolmetzBrazilAmy Elsner RENEWAL
Frozen Columns
Name
Mayumi C Bowley
Sinclair F Wieser
Jeanfrancois K Marrier
Jones I Shinko
Johnson T Inouye
Antonio G Iturbide
Kadeem Q Ferencz
Emily J Nicka
Kaitlin M Sergi
Maisha I Royster
James J Malet
Deepesh I Briddick
Juan Y Sergi
Chavez F Bowley
Salvatore O Malet
Ashley T Foller
Aditya G Stenseth
Misaki I Vocelka
Jefferson M Caldarera
Mujtaba I Kolmetz
David R Doe
Isabel Y Rim
Juan O Garufi
Francesco G Figeroa
Sinclair U Shinko
Leon F Dilliard
Leja P Maclead
Munro T Albares
Isabel Q Stenseth
Faith O Tollner
Aruna G Iturbide
Arvin H Amigon
Antonio W Slusarski
Misaki I Bolognia
Kadeem C Rim
Ashley A Inouye
Maria U Stockham
Francesco R Campain
Maisha K Marrier
Clifford M Ostrosky
Greenwood Z Perin
Jennifer R Stockham
Juan X Rulapaugh
Munro D Campain
Cody U Ruta
Juan D Dilliard
Arvin P Stenseth
Aruna Z Ferencz
Juan Q Garufi
Tony G Flosi
IdCountryDate
1000India2024-05-27
1001Brazil2024-05-29
1002Argentina2024-06-02
1003Canada2024-05-31
1004Russia2024-05-30
1005Germany2024-06-11
1006France2024-05-27
1007Spain2024-06-17
1008Australia2024-06-07
1009Spain2024-06-22
1010Brazil2024-06-10
1011United Kingdom2024-06-21
1012Australia2024-05-27
1013Argentina2024-05-26
1014Italy2024-06-19
1015Argentina2024-06-05
1016Australia2024-06-19
1017Russia2024-06-04
1018Spain2024-06-18
1019Italy2024-06-20
1020Russia2024-06-18
1021Russia2024-06-05
1022France2024-06-11
1023Argentina2024-06-16
1024Australia2024-06-14
1025France2024-06-06
1026Italy2024-06-06
1027Brazil2024-06-13
1028United Kingdom2024-05-28
1029United Kingdom2024-05-27
1030Germany2024-06-03
1031India2024-06-07
1032Italy2024-05-30
1033Australia2024-05-31
1034India2024-05-28
1035Italy2024-06-14
1036Italy2024-06-15
1037Spain2024-05-26
1038Japan2024-06-22
1039United Kingdom2024-06-07
1040Australia2024-05-24
1041Russia2024-06-07
1042Russia2024-06-22
1043Germany2024-06-13
1044United Kingdom2024-06-22
1045Russia2024-05-30
1046Canada2024-06-09
1047Russia2024-06-06
1048Germany2024-05-29
1049France2024-06-01

On-Demand Data

NameIdCountryDate
Juan L Albares1000Japan2024-05-24
Smith E Chui1001Argentina2024-06-21
Clifford Z Garufi1002Japan2024-06-08
Wickens A Caudy1003Argentina2024-06-22
Murillo X Ruta1004Japan2024-05-31
Jeanfrancois A Inouye1005France2024-05-27
Kaitlin X Bowley1006Japan2024-05-29
Leja X Ferencz1007Spain2024-05-27
Misaki D Rulapaugh1008Brazil2024-06-14
Ashley Y Morasca1009Russia2024-06-03
Kadeem O Rulapaugh1010United Kingdom2024-06-01
Clifford M Amigon1011Brazil2024-05-31
Kadeem B Malet1012Japan2024-06-11
Maria K Albares1013Spain2024-06-21
Stacey C Maclead1014India2024-06-04
Kadeem J Stockham1015Canada2024-05-27
Aruna N Malet1016India2024-06-15
Aika K Ruta1017Australia2024-06-13
Leon D Poquette1018Germany2024-06-13
Ashley Y Ferencz1019France2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Morrow D PaprockiFranceStephen Shaw PROPOSAL
Murillo H RutaArgentinaStephen Shaw UNQUALIFIED
Smith J WhobreyJapanIvan Magalhaes UNQUALIFIED
Sinclair Y MacleadArgentinaIoni Bowcher RENEWAL
Octavia Z PerinJapanStephen Shaw UNQUALIFIED
Leja K OldroydIndiaIvan Magalhaes RENEWAL
Jeanfrancois J BriddickArgentinaOnyama Limba RENEWAL
Deepesh U WhobreyIndiaAmy Elsner UNQUALIFIED
Clifford J RoysterArgentinaAmy Elsner NEW
Deepesh J PoquetteCanadaAsiya Javayant RENEWAL
Salvatore M StockhamIndiaStephen Shaw UNQUALIFIED
Silvio G TollnerBrazilElwin Sharvill UNQUALIFIED
Aditya A StensethAustraliaAsiya Javayant RENEWAL
Leja W StensethSpainBernardo Dominic UNQUALIFIED
Rodrigues L GlickJapanStephen Shaw QUALIFIED
Isabel W ShinkoRussiaAsiya Javayant UNQUALIFIED
Deepesh R BologniaJapanIvan Magalhaes PROPOSAL
Claire C BowleyGermanyAnna Fali RENEWAL
Jennifer E OldroydItalyAnna Fali NEW
Maria U RoysterSpainAnna Fali QUALIFIED
Maria B NestleFranceIoni Bowcher NEGOTIATION
Claire C DarakjyUnited KingdomOnyama Limba NEW
Julie T SergiCanadaElwin Sharvill RENEWAL
Octavia G MaletJapanIvan Magalhaes NEGOTIATION
Munro V BriddickIndiaAsiya Javayant QUALIFIED
Greenwood G NickaArgentinaStephen Shaw UNQUALIFIED
James W TollnerUnited KingdomAmy Elsner UNQUALIFIED
Octavia R VenereAustraliaStephen Shaw NEGOTIATION
Adams K RoysterIndiaAmy Elsner UNQUALIFIED
Cody O PerinRussiaIvan Magalhaes QUALIFIED
Deepesh U GauchoJapanElwin Sharvill NEGOTIATION
Ashley W GlickJapanAsiya Javayant NEW
Kaitlin C WhobreyBrazilIoni Bowcher RENEWAL
Deepesh V VenereIndiaXuxue Feng NEGOTIATION
Juan L VocelkaAustraliaAmy Elsner QUALIFIED
Aika P ButtGermanyXuxue Feng RENEWAL
Maria Q BowleyRussiaOnyama Limba QUALIFIED
Cody M RimJapanIvan Magalhaes RENEWAL
Nicolas X FlosiJapanElwin Sharvill NEGOTIATION
Deepesh L RimBrazilAsiya Javayant UNQUALIFIED

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