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
Alejandro V SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Wickens E OldroydGermanyXuxue Feng RENEWAL
Smith V AlbaresItalyAnna Fali PROPOSAL
Juan M VocelkaCanadaXuxue Feng RENEWAL
Stacey B NestleGermanyElwin Sharvill NEW
Deepesh A RutaItalyIoni Bowcher RENEWAL
Aditya V VocelkaAustraliaAmy Elsner RENEWAL
Jefferson I WaycottSpainStephen Shaw QUALIFIED
Aditya J StockhamGermanyIvan Magalhaes NEW
Jones T DilliardBrazilAsiya Javayant UNQUALIFIED
Izzy H ChuiSpainIvan Magalhaes PROPOSAL
Tony L PaprockiJapanAsiya Javayant RENEWAL
Munro R ShinkoAustraliaStephen Shaw RENEWAL
Tony N ChuiItalyAsiya Javayant RENEWAL
Izzy C NickaSpainBernardo Dominic RENEWAL
Nicolas P RimItalyElwin Sharvill NEGOTIATION
David M VenereCanadaElwin Sharvill NEW
Sinclair I GarufiCanadaStephen Shaw QUALIFIED
Aruna S StensethIndiaElwin Sharvill UNQUALIFIED
Costa K FollerUnited KingdomAsiya Javayant RENEWAL
Johnson S NickaGermanyAsiya Javayant RENEWAL
Cody S FlosiRussiaBernardo Dominic QUALIFIED
Mujtaba C DilliardAustraliaAmy Elsner QUALIFIED
Murillo B MacleadAustraliaXuxue Feng RENEWAL
Ashley Y AlbaresBrazilStephen Shaw RENEWAL
Greenwood K MorascaAustraliaAsiya Javayant NEW
Chavez B FigeroaGermanyIoni Bowcher NEW
Maisha J BowleyArgentinaOnyama Limba PROPOSAL
Antonio O MaletGermanyOnyama Limba UNQUALIFIED
James C SergiArgentinaElwin Sharvill PROPOSAL
Alejandro O MorascaRussiaOnyama Limba RENEWAL
Salvatore O ShinkoArgentinaIvan Magalhaes UNQUALIFIED
Kadeem X SchemmerArgentinaAnna Fali QUALIFIED
Faith W WaycottUnited KingdomBernardo Dominic QUALIFIED
Jeanfrancois U WhobreyUnited KingdomIvan Magalhaes NEW
Arvin U GillianSpainOnyama Limba NEGOTIATION
Maisha X FerenczItalyIoni Bowcher NEGOTIATION
Kaitlin J RutaCanadaAsiya Javayant NEGOTIATION
Salvatore L VocelkaGermanyAsiya Javayant RENEWAL
Maria Q GauchoSpainIvan Magalhaes RENEWAL
Maisha Y BologniaItalyOnyama Limba NEW
Darci X NickaRussiaOnyama Limba QUALIFIED
Kadeem U PerinSpainAsiya Javayant UNQUALIFIED
James V AlbaresRussiaIvan Magalhaes NEW
Aditya N KuskoSpainStephen Shaw RENEWAL
Tony L StockhamFranceIvan Magalhaes PROPOSAL
David J WieserFranceIvan Magalhaes RENEWAL
Maisha L DoeRussiaAsiya Javayant QUALIFIED
Rodrigues J SergiIndiaXuxue Feng PROPOSAL
Maria R DoeSpainAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore O MarrierCanadaOnyama Limba NEW
Aruna C FollerAustraliaIvan Magalhaes NEW
Deepesh P SchemmerItalyAmy Elsner NEW
Ricardo Q NestleJapanXuxue Feng NEGOTIATION
Misaki C DilliardGermanyAnna Fali QUALIFIED
Ivar A GillianUnited KingdomIvan Magalhaes NEGOTIATION
Rodrigues N BologniaRussiaAnna Fali NEW
Costa D GillianCanadaIvan Magalhaes PROPOSAL
Morrow Q StensethAustraliaIvan Magalhaes NEW
Kaitlin C BowleyIndiaAsiya Javayant NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jennifer V MaletItaly2024-06-14King, Christopher A Esq QUALIFIED52Elwin Sharvill
1001Silvio X MaletAustralia2024-06-04Feltz Printing Service UNQUALIFIED13Amy Elsner
1002Juan M FigeroaBrazil2024-06-03Chemel, James L Cpa QUALIFIED74Ioni Bowcher
1003Deepesh J VocelkaCanada2024-06-14Morlong Associates RENEWAL63Xuxue Feng
1004Izzy W MorascaAustralia2024-06-06Truhlar And Truhlar Attys RENEWAL96Amy Elsner
1005Ivar X IturbideItaly2024-06-03Truhlar And Truhlar Attys RENEWAL38Ioni Bowcher
1006Ivar X KuskoAustralia2024-06-14King, Christopher A Esq NEGOTIATION78Asiya Javayant
1007Stacey H KuskoUnited Kingdom2024-05-26Buckley Miller Wright RENEWAL15Amy Elsner
1008Mayumi M FigeroaArgentina2024-05-23Feltz Printing Service QUALIFIED4Asiya Javayant
1009Mayumi N MaletGermany2024-05-27Morlong Associates UNQUALIFIED63Elwin Sharvill
1010Munro M StensethIndia2024-05-28Feiner Bros UNQUALIFIED32Stephen Shaw
1011Antonio V VocelkaRussia2024-06-13Chapman, Ross E Esq RENEWAL82Ioni Bowcher
1012Leon T FerenczIndia2024-06-03Morlong Associates UNQUALIFIED83Anna Fali
1013Kaitlin N StockhamRussia2024-06-21Feltz Printing Service RENEWAL94Xuxue Feng
1014Jennifer U RulapaughUnited Kingdom2024-05-23Dorl, James J Esq QUALIFIED3Stephen Shaw
1015Aditya S MacleadAustralia2024-06-15Chanay, Jeffrey A Esq QUALIFIED69Stephen Shaw
1016Adams A OstroskyIndia2024-06-09King, Christopher A Esq UNQUALIFIED93Ivan Magalhaes
1017Rodrigues X InouyeCanada2024-05-31King, Christopher A Esq NEW1Anna Fali
1018Greenwood Y StensethCanada2024-06-01Rousseaux, Michael Esq NEW71Ivan Magalhaes
1019Adams L FollerRussia2024-05-30Morlong Associates QUALIFIED71Asiya Javayant
1020Jefferson W KolmetzIndia2024-05-31Chemel, James L Cpa QUALIFIED85Bernardo Dominic
1021Morrow K OldroydFrance2024-06-02Chapman, Ross E Esq PROPOSAL57Ioni Bowcher
1022Aruna G FlosiIndia2024-06-16Printing Dimensions PROPOSAL79Amy Elsner
1023Aika O PerinBrazil2024-05-24Morlong Associates QUALIFIED33Amy Elsner
1024Maisha R BologniaSpain2024-05-29Chapman, Ross E Esq RENEWAL80Ioni Bowcher
1025Cody A WieserFrance2024-06-10Truhlar And Truhlar Attys NEW32Amy Elsner
1026Ricardo B IturbideRussia2024-06-20Rousseaux, Michael Esq RENEWAL51Amy Elsner
1027Deepesh V SergiSpain2024-06-08Printing Dimensions UNQUALIFIED29Anna Fali
1028Jones K RulapaughGermany2024-05-28Rangoni Of Florence NEW3Bernardo Dominic
1029Jeanfrancois S WieserRussia2024-05-30Buckley Miller Wright UNQUALIFIED10Ioni Bowcher
1030Deepesh X RoysterCanada2024-05-23Truhlar And Truhlar Attys PROPOSAL52Xuxue Feng
1031James I ButtCanada2024-05-25Printing Dimensions NEGOTIATION4Asiya Javayant
1032Clifford I PerinUnited Kingdom2024-06-09Truhlar And Truhlar Attys NEGOTIATION30Ioni Bowcher
1033Aditya J PoquetteFrance2024-06-08Morlong Associates NEW33Xuxue Feng
1034Greenwood B RoysterUnited Kingdom2024-06-16Buckley Miller Wright NEGOTIATION14Stephen Shaw
1035Nicolas G MacleadRussia2024-06-09Buckley Miller Wright QUALIFIED75Onyama Limba
1036Johnson F GarufiArgentina2024-06-15Rousseaux, Michael Esq QUALIFIED45Stephen Shaw
1037David T IturbideFrance2024-06-11Feiner Bros QUALIFIED32Stephen Shaw
1038Isabel J ChuiArgentina2024-06-04Rousseaux, Michael Esq UNQUALIFIED87Ioni Bowcher
1039James S AlbaresItaly2024-05-28King, Christopher A Esq NEW8Onyama Limba
1040Johnson W AmigonFrance2024-05-27Morlong Associates NEGOTIATION47Amy Elsner
1041Francesco W RimGermany2024-06-02Feltz Printing Service NEW81Bernardo Dominic
1042Nicolas K RoysterJapan2024-05-24Rousseaux, Michael Esq RENEWAL45Asiya Javayant
1043Antonio H AlbaresSpain2024-06-15Morlong Associates UNQUALIFIED13Xuxue Feng
1044Francesco P VocelkaAustralia2024-06-15Truhlar And Truhlar Attys PROPOSAL99Stephen Shaw
1045Jefferson O MorascaRussia2024-05-27Truhlar And Truhlar Attys PROPOSAL96Stephen Shaw
1046Juan E DilliardCanada2024-06-03Rousseaux, Michael Esq QUALIFIED38Stephen Shaw
1047Sinclair O VocelkaCanada2024-05-29Chapman, Ross E Esq QUALIFIED89Elwin Sharvill
1048Leja H IturbideBrazil2024-06-21Rangoni Of Florence RENEWAL7Anna Fali
1049Chavez X AlbaresSpain2024-06-10Morlong Associates QUALIFIED30Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Isabel V CaudySpainStephen Shaw RENEWAL
Maria V BriddickSpainAsiya Javayant NEW
Murillo W FerenczBrazilIvan Magalhaes NEGOTIATION
Jones N AlbaresIndiaIvan Magalhaes NEGOTIATION
Clifford Y SlusarskiJapanStephen Shaw NEW
Octavia X RimFranceElwin Sharvill NEW
Mujtaba U CaldareraJapanAnna Fali UNQUALIFIED
Jeanfrancois T ShinkoItalyAmy Elsner QUALIFIED
Mujtaba S ButtJapanXuxue Feng NEGOTIATION
Jeanfrancois Z NestleRussiaOnyama Limba UNQUALIFIED
Aika E RoysterCanadaIvan Magalhaes PROPOSAL
Costa C MaletRussiaAmy Elsner PROPOSAL
Munro H StensethUnited KingdomIvan Magalhaes NEW
Salvatore A TollnerIndiaIvan Magalhaes NEW
Jefferson G BowleyUnited KingdomOnyama Limba UNQUALIFIED
Julie L BowleyAustraliaXuxue Feng PROPOSAL
James T BriddickCanadaIvan Magalhaes NEW
Cody M KuskoIndiaElwin Sharvill PROPOSAL
Salvatore L ShinkoBrazilAnna Fali UNQUALIFIED
Silvio W MaletFranceAsiya Javayant PROPOSAL
Nicolas G GlickUnited KingdomBernardo Dominic QUALIFIED
Mujtaba T ShinkoIndiaIoni Bowcher PROPOSAL
Jennifer L BologniaAustraliaXuxue Feng NEGOTIATION
Claire I DarakjyCanadaAmy Elsner RENEWAL
Nicolas E GauchoFranceAnna Fali RENEWAL
Misaki I VenereCanadaIoni Bowcher RENEWAL
Smith L ShinkoCanadaAsiya Javayant RENEWAL
Emily Y KolmetzGermanyAnna Fali NEW
Juan H OldroydGermanyIoni Bowcher QUALIFIED
Juan N WieserJapanStephen Shaw RENEWAL
Nicolas C InouyeFranceAsiya Javayant QUALIFIED
Maria R ShinkoBrazilAsiya Javayant UNQUALIFIED
Ricardo P InouyeSpainBernardo Dominic UNQUALIFIED
Faith J CaudyBrazilStephen Shaw NEW
Maisha O FlosiItalyAnna Fali UNQUALIFIED
Greenwood K RulapaughAustraliaAmy Elsner PROPOSAL
Aruna I VocelkaRussiaIvan Magalhaes RENEWAL
Emily M AmigonBrazilAnna Fali NEGOTIATION
Salvatore X FigeroaIndiaStephen Shaw PROPOSAL
Wickens I BriddickBrazilBernardo Dominic UNQUALIFIED
Alejandro X FlosiItalyAmy Elsner QUALIFIED
Aditya T RulapaughRussiaAsiya Javayant NEW
Jefferson Z GlickCanadaStephen Shaw RENEWAL
Ricardo K TollnerArgentinaAmy Elsner NEGOTIATION
Mayumi R WaycottFranceOnyama Limba QUALIFIED
Clifford C StockhamCanadaXuxue Feng UNQUALIFIED
Ashley I PerinSpainAnna Fali UNQUALIFIED
Stacey P RoysterIndiaBernardo Dominic NEGOTIATION
Aruna I RulapaughAustraliaStephen Shaw PROPOSAL
Aruna L NickaItalyElwin Sharvill UNQUALIFIED
Frozen Columns
Name
Salvatore C Schemmer
Ivar G Inouye
Jennifer U Garufi
Morrow Q Oldroyd
Smith F Bowley
Mayumi K Morasca
Stacey T Chui
Sinclair K Wieser
Juan C Poquette
Emily C Stockham
Tony Y Saylors
Tony K Nicka
Rodrigues Q Morasca
Morrow G Ostrosky
Clifford Z Flosi
Morrow Y Rim
Jennifer M Tollner
Tony U Oldroyd
Faith Q Figeroa
Darci K Figeroa
Ricardo Z Foller
Arvin G Malet
Nicolas P Rim
Francesco O Glick
Adams I Caldarera
Jefferson L Rim
Ashley W Waycott
Arvin K Doe
Aditya B Sergi
Arvin P Stenseth
Smith L Maclead
Costa C Flosi
Kadeem J Marrier
Deepesh J Saylors
Maisha F Ferencz
Kaitlin Z Slusarski
Mayumi R Stenseth
Isabel Q Inouye
Alejandro N Stockham
Aruna G Tollner
Octavia V Bowley
Claire T Flosi
Stacey Z Rulapaugh
Octavia E Marrier
Morrow N Darakjy
Aditya R Malet
Smith Z Sergi
Maria Y Poquette
Cody Q Caudy
Murillo P Whobrey
IdCountryDate
1000Germany2024-05-23
1001Australia2024-05-27
1002Brazil2024-05-25
1003Canada2024-06-04
1004Germany2024-06-17
1005Japan2024-05-31
1006Argentina2024-06-05
1007Australia2024-05-29
1008Germany2024-06-10
1009France2024-06-06
1010United Kingdom2024-05-25
1011India2024-06-21
1012United Kingdom2024-06-07
1013Brazil2024-06-11
1014Japan2024-05-29
1015Australia2024-06-10
1016Canada2024-06-07
1017Canada2024-06-02
1018Russia2024-05-30
1019Australia2024-06-09
1020Canada2024-06-15
1021United Kingdom2024-06-09
1022Argentina2024-06-20
1023India2024-06-13
1024Russia2024-05-28
1025United Kingdom2024-05-25
1026Spain2024-06-11
1027Spain2024-05-29
1028India2024-06-05
1029Canada2024-06-16
1030Argentina2024-06-08
1031Italy2024-06-13
1032India2024-05-24
1033Argentina2024-05-24
1034Russia2024-06-12
1035India2024-05-25
1036Russia2024-06-18
1037Russia2024-05-28
1038Italy2024-06-11
1039France2024-06-07
1040Japan2024-06-10
1041India2024-06-07
1042Canada2024-06-20
1043United Kingdom2024-05-23
1044Japan2024-05-29
1045India2024-06-05
1046Canada2024-05-31
1047Brazil2024-06-03
1048Italy2024-06-14
1049Japan2024-06-17

On-Demand Data

NameIdCountryDate
Misaki Z Chui1000Japan2024-06-02
Nicolas E Chui1001Canada2024-06-21
Maria F Butt1002Spain2024-06-11
Ashley W Glick1003Canada2024-06-10
Salvatore F Saylors1004Brazil2024-06-07
Adams S Oldroyd1005Japan2024-06-04
Leja L Butt1006Brazil2024-06-21
Julie T Vocelka1007Russia2024-06-20
Silvio Y Sergi1008Argentina2024-05-27
Murillo B Dilliard1009Canada2024-06-11
James K Vocelka1010Russia2024-05-29
Alejandro S Slusarski1011Brazil2024-06-20
Aika E Ostrosky1012Germany2024-06-18
Leon U Kusko1013United Kingdom2024-06-02
Arvin R Kolmetz1014Russia2024-06-14
Jennifer A Flosi1015India2024-06-15
Rodrigues V Glick1016Germany2024-06-01
Darci T Flosi1017Italy2024-06-12
Rodrigues A Flosi1018Canada2024-05-31
Wickens L Doe1019Russia2024-05-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel A MorascaGermanyAnna Fali PROPOSAL
Jefferson N CampainSpainXuxue Feng RENEWAL
Aika K SlusarskiCanadaOnyama Limba NEW
Rodrigues C WhobreyJapanIvan Magalhaes NEGOTIATION
Stacey C WaycottJapanXuxue Feng QUALIFIED
Cody I WaycottIndiaAsiya Javayant NEW
Mujtaba W MaletIndiaAmy Elsner QUALIFIED
Emily Q OstroskyBrazilAmy Elsner NEGOTIATION
Salvatore U AlbaresRussiaIoni Bowcher NEGOTIATION
Leja J FlosiRussiaStephen Shaw UNQUALIFIED
Julie H AlbaresIndiaElwin Sharvill NEW
Izzy B MarrierAustraliaXuxue Feng UNQUALIFIED
Leja S FollerArgentinaIvan Magalhaes NEW
Jennifer M AlbaresGermanyXuxue Feng PROPOSAL
James Z MacleadCanadaOnyama Limba PROPOSAL
Aditya I NestleAustraliaAnna Fali NEW
Antonio D RutaJapanAmy Elsner UNQUALIFIED
Smith K DarakjyCanadaOnyama Limba UNQUALIFIED
Darci O OldroydItalyXuxue Feng NEW
Ivar T BowleyGermanyAsiya Javayant NEGOTIATION
Morrow A KuskoItalyAsiya Javayant UNQUALIFIED
Maisha I RoysterCanadaStephen Shaw NEW
Jeanfrancois N VenereCanadaIoni Bowcher UNQUALIFIED
Jefferson I SlusarskiCanadaOnyama Limba PROPOSAL
Claire F FigeroaFranceOnyama Limba NEGOTIATION
Ivar D DarakjyJapanOnyama Limba QUALIFIED
Leja K AmigonCanadaStephen Shaw QUALIFIED
James O KolmetzJapanStephen Shaw NEW
Murillo R MorascaBrazilAnna Fali NEW
Rodrigues D AlbaresArgentinaAsiya Javayant NEGOTIATION
Stacey G PoquetteGermanyOnyama Limba PROPOSAL
Kadeem K BowleyItalyBernardo Dominic PROPOSAL
David D GlickArgentinaAsiya Javayant PROPOSAL
Ivar Z AmigonBrazilAmy Elsner QUALIFIED
Smith C RoysterItalyXuxue Feng NEGOTIATION
Emily W MarrierBrazilAsiya Javayant QUALIFIED
Salvatore J SergiAustraliaBernardo Dominic QUALIFIED
Sinclair F DoeFranceOnyama Limba NEW
Izzy Q StockhamBrazilXuxue Feng PROPOSAL
Ivar F BowleySpainStephen Shaw 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>