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
Costa H SaylorsCanadaStephen Shaw RENEWAL
Aditya Z StensethBrazilAmy Elsner RENEWAL
Greenwood A SergiCanadaXuxue Feng UNQUALIFIED
Jefferson C DilliardArgentinaIvan Magalhaes PROPOSAL
Smith S PaprockiAustraliaElwin Sharvill NEW
Smith Z AlbaresArgentinaIoni Bowcher NEGOTIATION
Salvatore J DoeBrazilIvan Magalhaes NEGOTIATION
James G NestleSpainStephen Shaw NEGOTIATION
Mujtaba Y StockhamCanadaOnyama Limba UNQUALIFIED
James W MarrierSpainIoni Bowcher UNQUALIFIED
Greenwood E WieserFranceElwin Sharvill UNQUALIFIED
Johnson T StensethArgentinaXuxue Feng PROPOSAL
Sinclair R WhobreyGermanyBernardo Dominic PROPOSAL
Greenwood Z MacleadSpainOnyama Limba QUALIFIED
Aika V CampainSpainAsiya Javayant PROPOSAL
Leja U GarufiUnited KingdomElwin Sharvill NEW
Clifford W VenereJapanAmy Elsner NEW
Mujtaba G DilliardJapanIvan Magalhaes NEW
David Y PaprockiSpainElwin Sharvill NEW
Darci Z IturbideArgentinaXuxue Feng NEW
Ricardo N GillianUnited KingdomXuxue Feng UNQUALIFIED
Aika D PoquetteBrazilStephen Shaw UNQUALIFIED
Octavia W PaprockiItalyElwin Sharvill UNQUALIFIED
Deepesh N AmigonArgentinaStephen Shaw NEW
Morrow Y MaletArgentinaAmy Elsner PROPOSAL
Nicolas C GlickAustraliaElwin Sharvill RENEWAL
Jennifer D WieserJapanXuxue Feng RENEWAL
Ashley M CaudyFranceStephen Shaw NEGOTIATION
Mujtaba Q VenereGermanyAmy Elsner QUALIFIED
Jones S WieserRussiaStephen Shaw RENEWAL
Rodrigues O SergiUnited KingdomIvan Magalhaes NEGOTIATION
Darci H IturbideCanadaIoni Bowcher NEW
Jennifer Y NickaSpainAnna Fali PROPOSAL
Silvio W VocelkaFranceBernardo Dominic QUALIFIED
Leja Q RimFranceAsiya Javayant NEW
Nicolas L OldroydSpainAsiya Javayant PROPOSAL
Salvatore S DoeGermanyIoni Bowcher NEW
Aika N RulapaughGermanyOnyama Limba NEW
Misaki F FollerSpainStephen Shaw NEW
Octavia W RoysterRussiaXuxue Feng QUALIFIED
Sinclair N DarakjyAustraliaIoni Bowcher NEGOTIATION
Kadeem A FigeroaFranceAmy Elsner PROPOSAL
Morrow A WhobreyJapanIvan Magalhaes NEGOTIATION
Arvin R GillianAustraliaOnyama Limba NEW
Faith K StensethArgentinaElwin Sharvill NEGOTIATION
Antonio H PerinSpainAnna Fali UNQUALIFIED
Izzy I MorascaBrazilIoni Bowcher RENEWAL
Leja H BriddickUnited KingdomElwin Sharvill UNQUALIFIED
Mayumi V GarufiItalyXuxue Feng NEGOTIATION
Deepesh L RimBrazilAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Jefferson H SaylorsRussiaIoni Bowcher UNQUALIFIED
Silvio I CaudyFranceXuxue Feng PROPOSAL
Greenwood I RimItalyOnyama Limba PROPOSAL
Isabel U GauchoBrazilElwin Sharvill NEW
James A AlbaresJapanOnyama Limba NEW
Alejandro C BriddickCanadaXuxue Feng NEGOTIATION
Aika K SlusarskiGermanyAnna Fali PROPOSAL
Mayumi G KuskoCanadaBernardo Dominic QUALIFIED
Aditya Q StockhamBrazilElwin Sharvill NEW
Leja J FollerCanadaBernardo Dominic UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie H RulapaughItaly2025-04-02Rangoni Of Florence PROPOSAL83Ivan Magalhaes
1001Julie M FigeroaJapan2025-04-29Truhlar And Truhlar Attys NEGOTIATION28Elwin Sharvill
1002Ashley M ChuiUnited Kingdom2025-04-12Printing Dimensions QUALIFIED57Elwin Sharvill
1003Stacey Q OldroydRussia2025-04-18Chapman, Ross E Esq QUALIFIED57Stephen Shaw
1004Octavia J VocelkaBrazil2025-04-06Truhlar And Truhlar Attys PROPOSAL45Bernardo Dominic
1005Alejandro W MaletSpain2025-04-01Truhlar And Truhlar Attys QUALIFIED90Amy Elsner
1006Jones Q MacleadArgentina2025-04-11Feiner Bros RENEWAL86Amy Elsner
1007Salvatore B WaycottFrance2025-04-22Truhlar And Truhlar Attys NEGOTIATION93Stephen Shaw
1008Izzy U WaycottAustralia2025-04-20Feiner Bros RENEWAL65Anna Fali
1009Chavez I FerenczCanada2025-04-24Feltz Printing Service RENEWAL15Bernardo Dominic
1010Salvatore O MarrierCanada2025-04-04Chapman, Ross E Esq NEW1Xuxue Feng
1011Juan X MarrierJapan2025-04-07Feltz Printing Service UNQUALIFIED2Ivan Magalhaes
1012Faith V BologniaAustralia2025-04-08Feiner Bros QUALIFIED51Onyama Limba
1013Darci Q ShinkoIndia2025-04-27Feiner Bros PROPOSAL87Ivan Magalhaes
1014Stacey Z DilliardIndia2025-04-21Truhlar And Truhlar Attys NEW63Ivan Magalhaes
1015Silvio C SaylorsIndia2025-04-19Printing Dimensions QUALIFIED19Onyama Limba
1016Izzy N CaudyCanada2025-04-13Chanay, Jeffrey A Esq UNQUALIFIED57Elwin Sharvill
1017Kadeem P StensethAustralia2025-04-23King, Christopher A Esq NEW75Bernardo Dominic
1018Kadeem E RimSpain2025-04-22Dorl, James J Esq RENEWAL64Elwin Sharvill
1019Julie U PoquetteItaly2025-04-29Chapman, Ross E Esq QUALIFIED77Asiya Javayant
1020Aika G DoeCanada2025-04-01King, Christopher A Esq RENEWAL9Anna Fali
1021Isabel Y InouyeRussia2025-04-01Rousseaux, Michael Esq NEW39Stephen Shaw
1022Ivar R BowleyUnited Kingdom2025-04-11King, Christopher A Esq NEGOTIATION47Anna Fali
1023Deepesh C AmigonIndia2025-04-15Chanay, Jeffrey A Esq NEGOTIATION18Asiya Javayant
1024Juan P CaudyUnited Kingdom2025-04-17Feiner Bros NEGOTIATION97Asiya Javayant
1025Aika F RulapaughSpain2025-04-12Chemel, James L Cpa RENEWAL11Stephen Shaw
1026Ricardo S CaldareraBrazil2025-04-22Morlong Associates PROPOSAL2Amy Elsner
1027Murillo J PaprockiRussia2025-04-24Truhlar And Truhlar Attys QUALIFIED77Ivan Magalhaes
1028Kadeem F ButtItaly2025-04-15Feltz Printing Service RENEWAL53Onyama Limba
1029Leon O FerenczCanada2025-04-28Chanay, Jeffrey A Esq NEGOTIATION89Stephen Shaw
1030Emily W WhobreyIndia2025-04-27Buckley Miller Wright NEGOTIATION94Asiya Javayant
1031Izzy Z GarufiRussia2025-04-25Feltz Printing Service UNQUALIFIED80Asiya Javayant
1032Clifford Q FerenczRussia2025-04-27Buckley Miller Wright RENEWAL54Xuxue Feng
1033Maria G VocelkaItaly2025-04-25Feltz Printing Service UNQUALIFIED92Ioni Bowcher
1034Sinclair E WhobreyJapan2025-04-18Feiner Bros UNQUALIFIED64Elwin Sharvill
1035Faith L SlusarskiJapan2025-04-26Chanay, Jeffrey A Esq NEGOTIATION84Elwin Sharvill
1036Ricardo E MaletCanada2025-04-25Rangoni Of Florence RENEWAL91Amy Elsner
1037Isabel S BriddickItaly2025-04-11Chapman, Ross E Esq PROPOSAL7Ivan Magalhaes
1038David S VocelkaJapan2025-04-24Chapman, Ross E Esq RENEWAL21Xuxue Feng
1039Arvin F SaylorsAustralia2025-04-03Benton, John B Jr RENEWAL43Anna Fali
1040Stacey S ShinkoBrazil2025-04-23Chapman, Ross E Esq RENEWAL47Xuxue Feng
1041Maisha N WieserItaly2025-04-10Chapman, Ross E Esq PROPOSAL42Onyama Limba
1042Aika N SlusarskiFrance2025-04-19Rousseaux, Michael Esq NEGOTIATION20Ioni Bowcher
1043Darci J GauchoUnited Kingdom2025-04-06Chemel, James L Cpa NEGOTIATION75Ivan Magalhaes
1044Faith P BriddickRussia2025-04-30Feiner Bros NEGOTIATION14Asiya Javayant
1045Kaitlin L SaylorsCanada2025-04-24Feltz Printing Service UNQUALIFIED51Ioni Bowcher
1046Julie F ShinkoIndia2025-04-01Chanay, Jeffrey A Esq QUALIFIED69Anna Fali
1047Jones G VenereBrazil2025-04-27Morlong Associates RENEWAL97Asiya Javayant
1048Johnson Q SaylorsAustralia2025-04-11Benton, John B Jr UNQUALIFIED7Asiya Javayant
1049Leja P NickaAustralia2025-04-01Chanay, Jeffrey A Esq PROPOSAL99Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Johnson P VenereCanadaAnna Fali NEW
Antonio Q MacleadFranceOnyama Limba PROPOSAL
Greenwood R WhobreyGermanyAnna Fali NEGOTIATION
Deepesh Q WieserAustraliaIvan Magalhaes QUALIFIED
Smith N SchemmerItalyBernardo Dominic NEW
Jefferson E MaletIndiaAmy Elsner RENEWAL
Mayumi J CaldareraRussiaAmy Elsner NEGOTIATION
Costa L MaletGermanyAsiya Javayant RENEWAL
Antonio D WieserCanadaOnyama Limba PROPOSAL
Ashley C RoysterBrazilAmy Elsner RENEWAL
Misaki A StensethAustraliaIoni Bowcher PROPOSAL
Mujtaba V CampainBrazilElwin Sharvill NEGOTIATION
Mujtaba H KuskoFranceAsiya Javayant RENEWAL
Morrow I BowleyBrazilElwin Sharvill NEW
Jefferson Q BriddickSpainAnna Fali NEW
Jeanfrancois C OstroskyArgentinaIoni Bowcher QUALIFIED
Ricardo U ChuiItalyAnna Fali NEGOTIATION
Ivar X WieserArgentinaElwin Sharvill NEGOTIATION
Salvatore X WaycottArgentinaIvan Magalhaes NEW
Wickens Y CaldareraIndiaIvan Magalhaes PROPOSAL
Faith J VenereAustraliaAsiya Javayant PROPOSAL
Maisha X KolmetzItalyAsiya Javayant NEGOTIATION
Costa N SlusarskiItalyOnyama Limba PROPOSAL
Greenwood F KolmetzIndiaAmy Elsner UNQUALIFIED
Arvin L KolmetzCanadaIvan Magalhaes QUALIFIED
Chavez X CampainJapanBernardo Dominic NEW
James X MaletBrazilElwin Sharvill NEW
Aika E NestleArgentinaAmy Elsner RENEWAL
Izzy M ShinkoAustraliaElwin Sharvill NEW
Clifford H GauchoUnited KingdomAmy Elsner QUALIFIED
Aruna M GauchoArgentinaStephen Shaw NEW
Emily H FlosiItalyBernardo Dominic UNQUALIFIED
Morrow I StockhamArgentinaElwin Sharvill RENEWAL
Darci V ChuiSpainStephen Shaw PROPOSAL
Jones Z ButtCanadaStephen Shaw NEGOTIATION
Wickens D CampainJapanElwin Sharvill PROPOSAL
Faith Z GlickUnited KingdomXuxue Feng RENEWAL
Julie H TollnerBrazilXuxue Feng RENEWAL
Murillo L CampainUnited KingdomAmy Elsner RENEWAL
Chavez J FlosiRussiaAmy Elsner UNQUALIFIED
Maria D FerenczBrazilStephen Shaw NEW
Munro X WaycottCanadaAsiya Javayant PROPOSAL
Aditya E FigeroaSpainAmy Elsner PROPOSAL
Jefferson K MaletUnited KingdomStephen Shaw QUALIFIED
Cody Z WieserBrazilAsiya Javayant PROPOSAL
Jefferson N PaprockiGermanyAsiya Javayant PROPOSAL
Sinclair G SlusarskiCanadaAmy Elsner PROPOSAL
Nicolas R BowleyItalyAsiya Javayant NEGOTIATION
Adams K MaletUnited KingdomAnna Fali PROPOSAL
Johnson G GillianUnited KingdomElwin Sharvill NEW
Frozen Columns
Name
Costa W Oldroyd
Tony P Wieser
Costa H Ferencz
Jeanfrancois Y Whobrey
Izzy L Paprocki
Jones A Bolognia
Cody Z Royster
Emily Q Slusarski
Munro N Marrier
Izzy I Kusko
Chavez I Malet
Alejandro T Sergi
Ivar Z Stenseth
Rodrigues N Malet
Tony Z Nestle
Julie J Rulapaugh
Morrow E Perin
Jeanfrancois K Chui
Aruna Z Gaucho
Tony X Stenseth
Johnson J Albares
Kaitlin R Bolognia
Leja G Royster
Darci V Figeroa
Cody B Bolognia
Smith V Whobrey
Silvio R Caldarera
Chavez O Royster
Sinclair S Dilliard
Tony N Foller
Julie V Saylors
James Y Maclead
James E Gillian
Jeanfrancois H Briddick
Isabel I Bowley
Leon W Albares
Leon I Malet
Maisha O Venere
Juan M Rulapaugh
Ashley V Whobrey
Mayumi P Rulapaugh
Johnson F Wieser
Clifford L Tollner
Misaki U Butt
Octavia Y Malet
Costa Y Gillian
Ricardo D Amigon
Faith E Dilliard
Stacey Z Darakjy
Izzy Q Shinko
IdCountryDate
1000Canada2025-04-28
1001France2025-04-11
1002Canada2025-04-08
1003Japan2025-04-02
1004United Kingdom2025-04-21
1005Argentina2025-04-16
1006Brazil2025-04-30
1007Spain2025-04-24
1008Australia2025-04-28
1009Russia2025-04-05
1010Spain2025-04-15
1011Australia2025-04-05
1012Canada2025-04-01
1013India2025-04-02
1014United Kingdom2025-04-05
1015Russia2025-04-24
1016Canada2025-04-15
1017Australia2025-04-09
1018Australia2025-04-22
1019France2025-04-06
1020Australia2025-04-23
1021United Kingdom2025-04-01
1022Russia2025-04-19
1023India2025-04-15
1024Spain2025-04-21
1025Japan2025-04-12
1026Argentina2025-04-08
1027Italy2025-04-09
1028Japan2025-04-14
1029Italy2025-04-23
1030Germany2025-04-04
1031India2025-04-01
1032Russia2025-04-10
1033India2025-04-20
1034Australia2025-04-15
1035Spain2025-04-16
1036Canada2025-04-26
1037Japan2025-04-23
1038Canada2025-04-17
1039Russia2025-04-25
1040India2025-04-28
1041Argentina2025-04-05
1042Argentina2025-04-13
1043Argentina2025-04-18
1044Germany2025-04-10
1045Argentina2025-04-09
1046United Kingdom2025-04-28
1047Canada2025-04-19
1048United Kingdom2025-04-17
1049Italy2025-04-29

On-Demand Data

NameIdCountryDate
Wickens D Perin1000Canada2025-04-08
Kaitlin T Darakjy1001Italy2025-04-06
Emily V Dilliard1002India2025-04-07
Juan O Maclead1003Canada2025-04-04
Clifford O Garufi1004Italy2025-04-22
Ricardo F Stockham1005Australia2025-04-22
Clifford J Campain1006United Kingdom2025-04-11
Jeanfrancois G Kusko1007Australia2025-04-29
Tony L Albares1008Russia2025-04-25
Aditya K Maclead1009Russia2025-04-24
Smith F Figeroa1010Spain2025-04-03
Stacey Z Maclead1011Japan2025-04-13
Aruna C Malet1012Italy2025-04-19
Morrow R Waycott1013Argentina2025-04-09
Johnson M Wieser1014France2025-04-30
Deepesh Y Iturbide1015Italy2025-04-08
Juan G Sergi1016Brazil2025-04-29
Ivar S Gillian1017Australia2025-04-11
Rodrigues Q Waycott1018Spain2025-04-12
Rodrigues K Poquette1019India2025-04-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Isabel S OldroydIndiaAnna Fali NEW
Jones X WieserCanadaIvan Magalhaes RENEWAL
Juan G PoquetteUnited KingdomOnyama Limba RENEWAL
Wickens K FigeroaCanadaStephen Shaw UNQUALIFIED
Jennifer J ShinkoCanadaBernardo Dominic UNQUALIFIED
Stacey B TollnerGermanyAnna Fali NEGOTIATION
Kaitlin U SlusarskiFranceElwin Sharvill NEW
Greenwood O FigeroaItalyStephen Shaw RENEWAL
Darci C BriddickSpainElwin Sharvill UNQUALIFIED
Octavia M TollnerCanadaIoni Bowcher NEW
Jefferson C CampainFranceIoni Bowcher QUALIFIED
Octavia L ButtRussiaIoni Bowcher NEW
Antonio M CaldareraGermanyIoni Bowcher UNQUALIFIED
Aika B GauchoGermanyAmy Elsner QUALIFIED
Mayumi U AmigonGermanyElwin Sharvill QUALIFIED
Emily K DarakjyItalyIvan Magalhaes UNQUALIFIED
Aika V WieserJapanIoni Bowcher PROPOSAL
Rodrigues S VenereBrazilAmy Elsner QUALIFIED
Juan W CampainUnited KingdomIvan Magalhaes PROPOSAL
Julie I StensethJapanAmy Elsner PROPOSAL
Alejandro Z FlosiFranceXuxue Feng NEGOTIATION
Chavez K PerinAustraliaIoni Bowcher RENEWAL
Faith H KuskoUnited KingdomIoni Bowcher RENEWAL
Ivar W ButtItalyBernardo Dominic QUALIFIED
Izzy R DoeJapanIvan Magalhaes QUALIFIED
Murillo S FlosiBrazilOnyama Limba QUALIFIED
Claire A MacleadGermanyIoni Bowcher QUALIFIED
Costa Y OstroskyAustraliaBernardo Dominic NEW
Wickens L StockhamFranceElwin Sharvill NEW
James U BologniaCanadaXuxue Feng RENEWAL
Emily I GauchoJapanIvan Magalhaes UNQUALIFIED
Stacey V TollnerRussiaElwin Sharvill QUALIFIED
Ashley U GlickAustraliaAsiya Javayant RENEWAL
Faith C FerenczFranceAnna Fali QUALIFIED
Mujtaba J GlickSpainBernardo Dominic NEW
Cody Y MaletGermanyElwin Sharvill RENEWAL
Jefferson H RutaSpainStephen Shaw PROPOSAL
Aika D RimGermanyElwin Sharvill PROPOSAL
Wickens J FollerUnited KingdomIoni Bowcher UNQUALIFIED
Ivar C VocelkaFranceIoni Bowcher RENEWAL

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