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
Salvatore F ChuiFranceAsiya Javayant UNQUALIFIED
Adams Q AlbaresJapanAsiya Javayant PROPOSAL
Rodrigues A VenereFranceXuxue Feng UNQUALIFIED
Wickens D SchemmerCanadaAnna Fali NEGOTIATION
Kaitlin G AlbaresItalyOnyama Limba NEW
James C NickaSpainBernardo Dominic NEGOTIATION
Octavia S PaprockiUnited KingdomXuxue Feng NEGOTIATION
Arvin I WaycottCanadaElwin Sharvill NEW
Ivar O BriddickBrazilIoni Bowcher NEW
Ricardo C KolmetzSpainIoni Bowcher UNQUALIFIED
Silvio F SchemmerItalyBernardo Dominic PROPOSAL
Mujtaba X InouyeSpainBernardo Dominic RENEWAL
Morrow L IturbideSpainElwin Sharvill UNQUALIFIED
Tony Z MaletBrazilAmy Elsner RENEWAL
Isabel G MacleadBrazilAnna Fali NEW
Leja N AmigonFranceOnyama Limba RENEWAL
Misaki V SergiSpainOnyama Limba RENEWAL
Jones X GauchoJapanOnyama Limba PROPOSAL
Wickens O SlusarskiAustraliaElwin Sharvill QUALIFIED
Julie B RutaUnited KingdomAmy Elsner UNQUALIFIED
Chavez I KolmetzItalyElwin Sharvill RENEWAL
Juan Z NestleBrazilAsiya Javayant NEGOTIATION
Chavez S PaprockiGermanyStephen Shaw PROPOSAL
Jeanfrancois J FigeroaIndiaStephen Shaw NEGOTIATION
Salvatore X FigeroaFranceXuxue Feng NEGOTIATION
Faith C PoquetteAustraliaOnyama Limba UNQUALIFIED
Nicolas A RimSpainIvan Magalhaes NEW
Aika T CaudyArgentinaAnna Fali NEW
Johnson C AmigonFranceIvan Magalhaes UNQUALIFIED
Alejandro D InouyeFranceOnyama Limba PROPOSAL
Aditya R OldroydFranceIvan Magalhaes NEW
Francesco J RulapaughGermanyIvan Magalhaes PROPOSAL
Ricardo K MaletIndiaBernardo Dominic QUALIFIED
Leon Z BriddickArgentinaAnna Fali QUALIFIED
Octavia Q RimItalyOnyama Limba RENEWAL
Faith Q DarakjySpainOnyama Limba PROPOSAL
Rodrigues K DoeArgentinaIoni Bowcher UNQUALIFIED
Costa N BowleyRussiaIoni Bowcher NEW
Maria F RutaRussiaOnyama Limba PROPOSAL
Costa V OldroydRussiaAnna Fali RENEWAL
Ivar C OldroydAustraliaIvan Magalhaes NEW
Leja T GlickIndiaAsiya Javayant NEW
Nicolas F RimAustraliaAsiya Javayant UNQUALIFIED
Munro V WieserCanadaAsiya Javayant NEW
Costa W BriddickGermanyBernardo Dominic NEGOTIATION
Smith M WhobreyFranceAmy Elsner UNQUALIFIED
Stacey K GillianIndiaStephen Shaw RENEWAL
Cody X WhobreyUnited KingdomIvan Magalhaes NEW
Cody P MarrierUnited KingdomXuxue Feng PROPOSAL
Smith G InouyeBrazilStephen Shaw NEW
Horizontal
NameCountryRepresentativeStatus
Silvio V KuskoBrazilElwin Sharvill PROPOSAL
Cody W FlosiArgentinaBernardo Dominic PROPOSAL
Jeanfrancois S TollnerJapanIoni Bowcher UNQUALIFIED
Jefferson I GillianAustraliaOnyama Limba RENEWAL
Ivar G OstroskySpainIvan Magalhaes RENEWAL
James I DoeFranceBernardo Dominic UNQUALIFIED
Nicolas G WhobreyIndiaOnyama Limba PROPOSAL
Maria M WaycottSpainAsiya Javayant PROPOSAL
Smith I DilliardItalyIvan Magalhaes QUALIFIED
Wickens T RimIndiaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki H FlosiGermany2024-05-27King, Christopher A Esq NEGOTIATION70Asiya Javayant
1001Wickens G GauchoItaly2024-06-11Truhlar And Truhlar Attys RENEWAL84Elwin Sharvill
1002Kadeem A SaylorsFrance2024-06-22Benton, John B Jr QUALIFIED81Xuxue Feng
1003Smith W OstroskyArgentina2024-06-14Chapman, Ross E Esq PROPOSAL50Anna Fali
1004Jones L AmigonUnited Kingdom2024-05-25Benton, John B Jr NEGOTIATION38Anna Fali
1005Emily U GauchoGermany2024-06-17King, Christopher A Esq PROPOSAL9Stephen Shaw
1006Kadeem D ShinkoSpain2024-05-29Feiner Bros NEW85Xuxue Feng
1007Stacey P FigeroaBrazil2024-06-11Buckley Miller Wright RENEWAL13Ioni Bowcher
1008Maisha T AmigonJapan2024-06-08Rousseaux, Michael Esq NEGOTIATION50Xuxue Feng
1009Kaitlin R BriddickUnited Kingdom2024-05-31King, Christopher A Esq UNQUALIFIED73Amy Elsner
1010Darci M CaldareraBrazil2024-05-26Truhlar And Truhlar Attys NEGOTIATION90Asiya Javayant
1011Chavez B CampainAustralia2024-06-17Feiner Bros PROPOSAL14Elwin Sharvill
1012Aika T RulapaughUnited Kingdom2024-06-01King, Christopher A Esq UNQUALIFIED0Onyama Limba
1013Johnson E NestleAustralia2024-06-06Rousseaux, Michael Esq UNQUALIFIED3Xuxue Feng
1014Maisha I BologniaFrance2024-06-07Truhlar And Truhlar Attys QUALIFIED20Ioni Bowcher
1015Juan K VenereAustralia2024-05-29Printing Dimensions UNQUALIFIED74Elwin Sharvill
1016Faith A SlusarskiArgentina2024-06-01King, Christopher A Esq NEGOTIATION85Asiya Javayant
1017Isabel T MorascaGermany2024-05-31Chapman, Ross E Esq RENEWAL88Asiya Javayant
1018Kadeem Z CaudyArgentina2024-06-18Chapman, Ross E Esq RENEWAL8Ivan Magalhaes
1019Izzy J NickaUnited Kingdom2024-06-15Rousseaux, Michael Esq QUALIFIED28Ivan Magalhaes
1020Salvatore X KuskoUnited Kingdom2024-05-27Buckley Miller Wright NEGOTIATION68Ivan Magalhaes
1021Juan Z MaletUnited Kingdom2024-06-14Benton, John B Jr NEW77Onyama Limba
1022Adams I SchemmerBrazil2024-06-13Buckley Miller Wright NEGOTIATION87Amy Elsner
1023Johnson D FerenczBrazil2024-06-11Feiner Bros NEGOTIATION91Ivan Magalhaes
1024Isabel M WieserFrance2024-05-25Printing Dimensions UNQUALIFIED84Ioni Bowcher
1025Kadeem Z GarufiArgentina2024-06-02Rousseaux, Michael Esq UNQUALIFIED17Asiya Javayant
1026Costa W KuskoBrazil2024-06-04Benton, John B Jr PROPOSAL65Amy Elsner
1027Jennifer R RutaUnited Kingdom2024-06-19Rousseaux, Michael Esq RENEWAL61Anna Fali
1028Juan U WieserItaly2024-05-30Rousseaux, Michael Esq NEW27Bernardo Dominic
1029Leon U NestleCanada2024-06-20Commercial Press UNQUALIFIED8Ioni Bowcher
1030Sinclair P MaletBrazil2024-06-02Rangoni Of Florence NEGOTIATION24Asiya Javayant
1031Adams Y RulapaughUnited Kingdom2024-06-09Feltz Printing Service NEW95Onyama Limba
1032Julie V SlusarskiFrance2024-05-25Chanay, Jeffrey A Esq NEW80Onyama Limba
1033Ricardo V SergiArgentina2024-06-20Feiner Bros RENEWAL62Elwin Sharvill
1034Julie N FerenczArgentina2024-06-02Rousseaux, Michael Esq QUALIFIED63Onyama Limba
1035Mayumi S SlusarskiRussia2024-06-04Chapman, Ross E Esq QUALIFIED5Ivan Magalhaes
1036Darci I WaycottUnited Kingdom2024-06-02Feiner Bros PROPOSAL41Ivan Magalhaes
1037Faith S DoeItaly2024-05-25Morlong Associates PROPOSAL41Stephen Shaw
1038Kadeem K AmigonRussia2024-06-09Buckley Miller Wright NEGOTIATION32Amy Elsner
1039Antonio N VocelkaFrance2024-05-30Dorl, James J Esq QUALIFIED87Anna Fali
1040Leja D BriddickIndia2024-06-15Printing Dimensions NEW78Amy Elsner
1041Greenwood I CampainIndia2024-05-27Buckley Miller Wright RENEWAL87Asiya Javayant
1042Misaki B DoeUnited Kingdom2024-06-21Morlong Associates NEW80Xuxue Feng
1043Leon Z FlosiFrance2024-06-13Morlong Associates UNQUALIFIED28Amy Elsner
1044Costa M CampainIndia2024-06-02Buckley Miller Wright QUALIFIED63Ivan Magalhaes
1045Mayumi J KuskoAustralia2024-06-21Chemel, James L Cpa RENEWAL51Ioni Bowcher
1046James U SlusarskiUnited Kingdom2024-05-30Morlong Associates NEW30Ioni Bowcher
1047James W SchemmerArgentina2024-05-29Chapman, Ross E Esq QUALIFIED59Asiya Javayant
1048Mujtaba D AmigonGermany2024-05-29Commercial Press RENEWAL93Amy Elsner
1049Cody Q MaletJapan2024-06-04Rangoni Of Florence QUALIFIED64Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leja P CampainRussiaIvan Magalhaes UNQUALIFIED
Clifford W FigeroaRussiaBernardo Dominic QUALIFIED
Cody B SchemmerRussiaAmy Elsner UNQUALIFIED
Wickens V ShinkoFranceStephen Shaw UNQUALIFIED
Ricardo G RutaBrazilStephen Shaw PROPOSAL
Chavez I StockhamRussiaOnyama Limba NEGOTIATION
Misaki T CaudyUnited KingdomAmy Elsner PROPOSAL
Darci A CaldareraArgentinaAnna Fali NEW
Darci D OstroskyCanadaOnyama Limba PROPOSAL
Claire N FollerCanadaOnyama Limba QUALIFIED
Mujtaba A ButtItalyStephen Shaw PROPOSAL
Kadeem W SchemmerGermanyAmy Elsner RENEWAL
Costa O BologniaUnited KingdomAnna Fali PROPOSAL
Izzy G WaycottGermanyAnna Fali NEGOTIATION
Aditya U GlickBrazilBernardo Dominic RENEWAL
Faith D NestleArgentinaAnna Fali PROPOSAL
Morrow I WieserGermanyBernardo Dominic UNQUALIFIED
Silvio G RutaJapanXuxue Feng QUALIFIED
Clifford N GlickArgentinaAsiya Javayant QUALIFIED
Chavez D KolmetzUnited KingdomIvan Magalhaes RENEWAL
Aditya M CaldareraBrazilAmy Elsner UNQUALIFIED
Juan P BologniaJapanOnyama Limba UNQUALIFIED
Francesco W BologniaJapanAnna Fali NEW
Jones R OldroydBrazilXuxue Feng PROPOSAL
Isabel B PerinIndiaStephen Shaw NEGOTIATION
Darci J GarufiCanadaOnyama Limba UNQUALIFIED
Ricardo L MarrierIndiaOnyama Limba NEW
Silvio Q BologniaIndiaIoni Bowcher RENEWAL
Salvatore U RimGermanyStephen Shaw QUALIFIED
Juan D SergiJapanIoni Bowcher NEW
Alejandro W WhobreyArgentinaAsiya Javayant UNQUALIFIED
Maria I VenereJapanBernardo Dominic NEGOTIATION
Ashley D ButtJapanIvan Magalhaes QUALIFIED
Deepesh G RutaGermanyIoni Bowcher UNQUALIFIED
Aruna K DoeRussiaOnyama Limba RENEWAL
Maria L StockhamIndiaAsiya Javayant NEGOTIATION
Aika Y WaycottItalyAsiya Javayant UNQUALIFIED
Misaki G MacleadFranceStephen Shaw UNQUALIFIED
Ivar E ShinkoCanadaStephen Shaw PROPOSAL
Arvin J MaletGermanyElwin Sharvill PROPOSAL
Maria Z SlusarskiSpainElwin Sharvill PROPOSAL
Murillo T SaylorsCanadaBernardo Dominic UNQUALIFIED
Clifford I MorascaJapanOnyama Limba UNQUALIFIED
Ashley K BriddickFranceXuxue Feng RENEWAL
Isabel G FlosiArgentinaAnna Fali NEW
Sinclair X PerinAustraliaBernardo Dominic RENEWAL
Francesco R MaletJapanAsiya Javayant RENEWAL
Darci A FlosiItalyIvan Magalhaes UNQUALIFIED
Leja L InouyeArgentinaAmy Elsner NEW
Rodrigues C NestleRussiaOnyama Limba NEGOTIATION
Frozen Columns
Name
Rodrigues E Nestle
Murillo D Albares
Kaitlin M Dilliard
Sinclair F Inouye
Antonio J Gaucho
David E Maclead
Faith I Marrier
Silvio E Inouye
Morrow U Ferencz
Jones A Marrier
Wickens C Malet
Ricardo X Campain
Ashley S Poquette
Silvio L Poquette
Kadeem G Caldarera
Isabel J Royster
Juan C Venere
Ashley I Campain
Ashley Y Caldarera
Ivar N Albares
Juan C Glick
Jennifer J Iturbide
Tony C Darakjy
Jeanfrancois X Schemmer
Leja F Oldroyd
Morrow G Kusko
Claire F Darakjy
Jones M Kusko
Aditya V Gillian
Izzy T Figeroa
Salvatore E Amigon
Ricardo N Gaucho
Stacey U Caudy
Smith E Waycott
Faith M Kolmetz
Maria G Marrier
Aditya K Vocelka
Mujtaba S Oldroyd
Wickens I Venere
Arvin T Gillian
Aruna B Schemmer
Isabel N Doe
Cody O Whobrey
Aditya N Malet
Faith Q Kolmetz
Murillo E Sergi
Ricardo J Inouye
Isabel M Garufi
Chavez B Poquette
Murillo U Briddick
IdCountryDate
1000Canada2024-05-31
1001Argentina2024-06-01
1002India2024-06-10
1003Brazil2024-06-10
1004Brazil2024-05-27
1005Canada2024-06-04
1006Japan2024-06-18
1007Germany2024-06-10
1008Brazil2024-06-21
1009France2024-05-30
1010Argentina2024-06-20
1011India2024-05-27
1012Russia2024-05-31
1013Canada2024-06-17
1014Brazil2024-06-09
1015Germany2024-06-07
1016Brazil2024-06-06
1017Italy2024-06-01
1018India2024-06-09
1019Brazil2024-06-06
1020Russia2024-05-31
1021Germany2024-06-04
1022Argentina2024-05-26
1023Australia2024-06-07
1024United Kingdom2024-06-13
1025Spain2024-05-28
1026Australia2024-06-21
1027France2024-06-01
1028Brazil2024-06-11
1029Germany2024-05-31
1030Spain2024-06-14
1031Japan2024-06-04
1032Spain2024-06-19
1033Spain2024-06-07
1034Australia2024-06-03
1035Argentina2024-06-02
1036Spain2024-06-06
1037Japan2024-05-31
1038France2024-06-13
1039Russia2024-06-06
1040Russia2024-06-03
1041Spain2024-05-29
1042Brazil2024-06-18
1043Canada2024-05-31
1044United Kingdom2024-06-05
1045Canada2024-06-22
1046India2024-05-26
1047Australia2024-06-09
1048Germany2024-06-17
1049Japan2024-06-17

On-Demand Data

NameIdCountryDate
Leja R Waycott1000Canada2024-06-05
Cody V Gaucho1001India2024-06-20
Ashley J Malet1002Germany2024-05-27
Julie L Glick1003Japan2024-05-24
Kadeem V Butt1004Canada2024-05-26
Misaki J Glick1005Spain2024-06-12
Juan P Figeroa1006Germany2024-05-27
Maisha S Slusarski1007Brazil2024-06-12
Claire Y Ostrosky1008Germany2024-06-08
Murillo K Slusarski1009Russia2024-05-28
Stacey V Oldroyd1010India2024-06-04
Antonio D Chui1011Canada2024-06-15
Jennifer I Gaucho1012United Kingdom2024-06-17
Ivar I Sergi1013United Kingdom2024-06-11
Stacey P Whobrey1014Australia2024-06-05
David B Gillian1015Australia2024-06-15
Aika P Briddick1016United Kingdom2024-06-15
Claire B Wieser1017United Kingdom2024-06-01
Emily Q Gillian1018United Kingdom2024-05-24
Jeanfrancois Z Doe1019Canada2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Faith W PerinArgentinaAsiya Javayant UNQUALIFIED
Deepesh G BowleyUnited KingdomAnna Fali RENEWAL
Aditya P RulapaughSpainAsiya Javayant NEGOTIATION
Claire P ShinkoArgentinaStephen Shaw RENEWAL
Stacey D GarufiArgentinaIvan Magalhaes RENEWAL
Rodrigues E VenereRussiaXuxue Feng UNQUALIFIED
Morrow Y GarufiSpainAmy Elsner UNQUALIFIED
Octavia I PaprockiArgentinaXuxue Feng UNQUALIFIED
Emily F SergiUnited KingdomAsiya Javayant UNQUALIFIED
Francesco F FigeroaIndiaAnna Fali NEW
Rodrigues Q DoeUnited KingdomAsiya Javayant NEW
Stacey G RutaBrazilIoni Bowcher UNQUALIFIED
Leja T BowleyCanadaAsiya Javayant NEGOTIATION
Emily L OstroskyAustraliaStephen Shaw NEGOTIATION
Stacey F MorascaBrazilElwin Sharvill NEGOTIATION
Aruna X MacleadBrazilAsiya Javayant UNQUALIFIED
Clifford B TollnerCanadaElwin Sharvill NEGOTIATION
Nicolas X CampainGermanyAmy Elsner PROPOSAL
Julie T AmigonIndiaStephen Shaw QUALIFIED
Aika J CaudyRussiaAnna Fali PROPOSAL
Aika O CaudyItalyIvan Magalhaes NEW
Faith P AmigonSpainAsiya Javayant UNQUALIFIED
Kaitlin H CampainArgentinaAmy Elsner QUALIFIED
Clifford J WaycottUnited KingdomBernardo Dominic RENEWAL
Aruna H CampainCanadaIvan Magalhaes PROPOSAL
Arvin D AmigonGermanyElwin Sharvill QUALIFIED
Rodrigues B NickaIndiaBernardo Dominic PROPOSAL
Silvio R RutaSpainBernardo Dominic UNQUALIFIED
Ivar N ButtArgentinaElwin Sharvill QUALIFIED
Maisha J FigeroaGermanyOnyama Limba UNQUALIFIED
Aika K BologniaGermanyAmy Elsner NEW
Smith T MaletBrazilAnna Fali QUALIFIED
David A NickaItalyIvan Magalhaes RENEWAL
Leon O SaylorsCanadaStephen Shaw NEGOTIATION
Julie T RoysterBrazilAsiya Javayant QUALIFIED
Silvio M StockhamArgentinaAsiya Javayant PROPOSAL
Julie W FigeroaRussiaAmy Elsner PROPOSAL
Misaki G RimIndiaIvan Magalhaes RENEWAL
Nicolas C DilliardItalyElwin Sharvill QUALIFIED
Greenwood D ButtBrazilAnna Fali 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>