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
Chavez R DoeArgentinaOnyama Limba NEGOTIATION
Isabel E RutaUnited KingdomXuxue Feng RENEWAL
Costa F CaudyGermanyIoni Bowcher NEW
Darci O RimJapanXuxue Feng RENEWAL
Misaki T CaudyBrazilBernardo Dominic PROPOSAL
Aika J SchemmerJapanElwin Sharvill NEGOTIATION
Johnson N TollnerSpainAmy Elsner PROPOSAL
Aditya G NestleAustraliaStephen Shaw NEW
Rodrigues Y WhobreyJapanOnyama Limba QUALIFIED
Munro J IturbideAustraliaStephen Shaw RENEWAL
Mayumi M ShinkoFranceAsiya Javayant NEGOTIATION
Mayumi A StockhamGermanyAnna Fali UNQUALIFIED
Salvatore H FigeroaCanadaXuxue Feng RENEWAL
David R OstroskyRussiaAnna Fali QUALIFIED
Maisha B ShinkoItalyOnyama Limba NEW
Izzy Y OldroydItalyBernardo Dominic UNQUALIFIED
Salvatore B CaldareraIndiaAnna Fali UNQUALIFIED
Jeanfrancois O SaylorsGermanyIoni Bowcher NEGOTIATION
Claire N RulapaughRussiaXuxue Feng NEW
Misaki R CaldareraJapanAnna Fali QUALIFIED
Leon I MorascaCanadaIvan Magalhaes UNQUALIFIED
Leja W KuskoAustraliaOnyama Limba NEW
Johnson D BowleyUnited KingdomStephen Shaw RENEWAL
Juan Z SlusarskiRussiaIoni Bowcher QUALIFIED
Maria X StockhamCanadaIoni Bowcher NEGOTIATION
Leja P RoysterFranceIoni Bowcher QUALIFIED
Jones U OstroskyArgentinaIvan Magalhaes RENEWAL
Leon X VenereIndiaOnyama Limba QUALIFIED
Clifford C RulapaughCanadaAnna Fali PROPOSAL
Chavez Y WaycottCanadaBernardo Dominic NEW
Isabel W OstroskyItalyAnna Fali RENEWAL
Stacey Y RoysterBrazilAnna Fali NEGOTIATION
Antonio K InouyeFranceAmy Elsner NEGOTIATION
Arvin J KolmetzAustraliaElwin Sharvill QUALIFIED
Jennifer V SaylorsRussiaAmy Elsner RENEWAL
Tony T MarrierAustraliaAmy Elsner RENEWAL
Leja R WaycottUnited KingdomElwin Sharvill NEW
Stacey I MacleadSpainIoni Bowcher PROPOSAL
Francesco J MaletJapanIvan Magalhaes QUALIFIED
Ashley M RulapaughFranceXuxue Feng PROPOSAL
Jefferson R PoquetteJapanIoni Bowcher QUALIFIED
Emily T ShinkoIndiaAsiya Javayant NEW
Faith X StensethCanadaIoni Bowcher RENEWAL
Alejandro H RimSpainOnyama Limba NEW
Stacey U IturbideUnited KingdomElwin Sharvill RENEWAL
Cody Y ShinkoSpainIoni Bowcher PROPOSAL
Leja Z RutaIndiaAsiya Javayant QUALIFIED
Aditya G BologniaBrazilAmy Elsner QUALIFIED
Francesco T DilliardRussiaStephen Shaw QUALIFIED
Aditya O MaletGermanyAmy Elsner NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Misaki L RulapaughUnited KingdomStephen Shaw UNQUALIFIED
Emily F PaprockiFranceAmy Elsner NEGOTIATION
Aditya H BriddickRussiaIvan Magalhaes NEW
Faith O FollerIndiaStephen Shaw QUALIFIED
Chavez W GillianUnited KingdomBernardo Dominic NEW
Clifford O FigeroaFranceXuxue Feng NEW
Deepesh R ShinkoGermanyAmy Elsner RENEWAL
Greenwood J BologniaGermanyIvan Magalhaes RENEWAL
Silvio I SlusarskiIndiaAsiya Javayant UNQUALIFIED
Aruna E FerenczGermanyIvan Magalhaes PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Francesco C KuskoGermany2024-05-26Benton, John B Jr UNQUALIFIED7Bernardo Dominic
1001Alejandro E ShinkoGermany2024-06-18Chemel, James L Cpa NEGOTIATION20Amy Elsner
1002Alejandro Z MaletGermany2024-06-01Rousseaux, Michael Esq RENEWAL23Asiya Javayant
1003Deepesh E AmigonSpain2024-06-04King, Christopher A Esq NEGOTIATION69Amy Elsner
1004Rodrigues S IturbideFrance2024-06-12King, Christopher A Esq NEGOTIATION68Asiya Javayant
1005Julie R GarufiItaly2024-06-11Morlong Associates RENEWAL91Ivan Magalhaes
1006Jeanfrancois L BologniaAustralia2024-06-19Printing Dimensions NEW28Stephen Shaw
1007Misaki P DarakjyFrance2024-06-16Chanay, Jeffrey A Esq RENEWAL12Ivan Magalhaes
1008Aditya W KolmetzFrance2024-06-10Dorl, James J Esq PROPOSAL54Xuxue Feng
1009Nicolas W FigeroaGermany2024-06-07Dorl, James J Esq UNQUALIFIED14Asiya Javayant
1010Arvin F WhobreySpain2024-05-25Chapman, Ross E Esq RENEWAL59Asiya Javayant
1011Johnson U SchemmerArgentina2024-06-10Commercial Press PROPOSAL49Ivan Magalhaes
1012Emily N FlosiBrazil2024-06-06King, Christopher A Esq RENEWAL13Asiya Javayant
1013Darci K MaletGermany2024-06-11Chapman, Ross E Esq UNQUALIFIED98Stephen Shaw
1014Octavia R MorascaAustralia2024-06-02Feltz Printing Service QUALIFIED39Onyama Limba
1015Antonio A KolmetzUnited Kingdom2024-06-04Rousseaux, Michael Esq PROPOSAL80Ioni Bowcher
1016Murillo J AmigonRussia2024-06-08Chanay, Jeffrey A Esq RENEWAL55Stephen Shaw
1017Maisha V KolmetzFrance2024-06-15Feiner Bros RENEWAL84Amy Elsner
1018Costa D ChuiAustralia2024-05-26Truhlar And Truhlar Attys PROPOSAL76Stephen Shaw
1019Aruna O ShinkoAustralia2024-06-08Dorl, James J Esq PROPOSAL20Onyama Limba
1020Kadeem R RulapaughBrazil2024-05-27Rangoni Of Florence QUALIFIED13Ivan Magalhaes
1021Isabel S RutaAustralia2024-05-31Truhlar And Truhlar Attys NEW2Amy Elsner
1022Silvio K BowleyRussia2024-06-12Truhlar And Truhlar Attys NEGOTIATION39Asiya Javayant
1023Isabel W CaudySpain2024-05-24Buckley Miller Wright UNQUALIFIED22Bernardo Dominic
1024Salvatore I IturbideRussia2024-06-05Dorl, James J Esq QUALIFIED18Bernardo Dominic
1025Misaki Y AmigonBrazil2024-05-29Feltz Printing Service NEW79Anna Fali
1026Ivar Y RutaIndia2024-06-01Rousseaux, Michael Esq QUALIFIED90Amy Elsner
1027Smith S SergiJapan2024-06-09Commercial Press UNQUALIFIED76Ioni Bowcher
1028Morrow D OstroskyBrazil2024-06-16Rangoni Of Florence PROPOSAL87Bernardo Dominic
1029Jennifer K BriddickUnited Kingdom2024-06-05Commercial Press QUALIFIED29Anna Fali
1030Ashley Y RulapaughGermany2024-06-14Chapman, Ross E Esq RENEWAL8Ioni Bowcher
1031Jones Z InouyeGermany2024-06-20Commercial Press RENEWAL90Xuxue Feng
1032Greenwood A ChuiJapan2024-06-17Rousseaux, Michael Esq QUALIFIED35Ioni Bowcher
1033Ricardo T MaletGermany2024-05-27Benton, John B Jr RENEWAL72Ioni Bowcher
1034Cody N GillianFrance2024-05-24Rangoni Of Florence QUALIFIED10Onyama Limba
1035Aditya G OstroskyJapan2024-06-04Morlong Associates UNQUALIFIED83Onyama Limba
1036Jones W MaletBrazil2024-06-17Buckley Miller Wright PROPOSAL74Anna Fali
1037Smith K IturbideArgentina2024-05-26Printing Dimensions QUALIFIED47Onyama Limba
1038Rodrigues N CampainSpain2024-05-28Commercial Press PROPOSAL53Ioni Bowcher
1039Ashley F TollnerIndia2024-05-29Printing Dimensions NEW84Elwin Sharvill
1040James R MaletSpain2024-06-11Truhlar And Truhlar Attys PROPOSAL48Onyama Limba
1041Isabel N BowleyItaly2024-06-01Feiner Bros UNQUALIFIED31Xuxue Feng
1042Sinclair L GarufiCanada2024-06-11Rousseaux, Michael Esq PROPOSAL84Amy Elsner
1043Emily T WhobreyRussia2024-05-30Truhlar And Truhlar Attys NEW5Ioni Bowcher
1044Ashley V KolmetzUnited Kingdom2024-06-15Morlong Associates PROPOSAL89Asiya Javayant
1045Ashley D InouyeUnited Kingdom2024-06-15Printing Dimensions QUALIFIED1Elwin Sharvill
1046Jones V KuskoFrance2024-06-10Rangoni Of Florence NEGOTIATION73Asiya Javayant
1047Ivar K FollerGermany2024-06-16Printing Dimensions UNQUALIFIED16Onyama Limba
1048Leon W VenereItaly2024-06-09Rangoni Of Florence RENEWAL81Stephen Shaw
1049Jeanfrancois T GillianRussia2024-06-01Chapman, Ross E Esq NEGOTIATION99Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Nicolas X VocelkaFranceXuxue Feng NEGOTIATION
Mujtaba X FollerCanadaAmy Elsner NEW
Johnson G OstroskyBrazilStephen Shaw PROPOSAL
Juan V GauchoCanadaAnna Fali RENEWAL
Claire V StensethBrazilStephen Shaw UNQUALIFIED
Emily P KuskoRussiaAnna Fali UNQUALIFIED
Maisha Y InouyeBrazilElwin Sharvill QUALIFIED
Tony F VenereBrazilAsiya Javayant QUALIFIED
Leon J OstroskyBrazilAmy Elsner PROPOSAL
Morrow Y FerenczUnited KingdomXuxue Feng UNQUALIFIED
Smith T CampainBrazilStephen Shaw PROPOSAL
Emily L IturbideSpainXuxue Feng QUALIFIED
Aika F VenereItalyAsiya Javayant PROPOSAL
Ivar Z FigeroaArgentinaStephen Shaw RENEWAL
Izzy X SaylorsIndiaBernardo Dominic NEW
Smith X RimItalyIoni Bowcher NEGOTIATION
Izzy P MaletBrazilIvan Magalhaes NEW
Darci M StockhamArgentinaStephen Shaw PROPOSAL
Kadeem W CaldareraSpainIoni Bowcher PROPOSAL
Claire Q CaldareraCanadaIoni Bowcher NEW
Isabel S AlbaresFranceBernardo Dominic PROPOSAL
Maisha V AmigonArgentinaBernardo Dominic UNQUALIFIED
Greenwood J FollerRussiaBernardo Dominic RENEWAL
Clifford O GlickGermanyAmy Elsner PROPOSAL
Cody T FigeroaSpainXuxue Feng UNQUALIFIED
Munro M WhobreySpainXuxue Feng NEW
Morrow G RutaGermanyOnyama Limba NEW
Morrow R MaletFranceAmy Elsner PROPOSAL
David E WieserItalyAmy Elsner RENEWAL
Leja R GillianCanadaIoni Bowcher QUALIFIED
Izzy V GillianArgentinaIvan Magalhaes NEGOTIATION
Aruna D VocelkaItalyStephen Shaw NEGOTIATION
Misaki Y MarrierAustraliaIvan Magalhaes PROPOSAL
Cody G IturbideAustraliaStephen Shaw PROPOSAL
Misaki K NestleItalyIvan Magalhaes PROPOSAL
Stacey H ButtItalyOnyama Limba PROPOSAL
Munro Z StockhamArgentinaAsiya Javayant NEW
Kaitlin J NestleIndiaAsiya Javayant PROPOSAL
Nicolas Y SaylorsAustraliaStephen Shaw RENEWAL
Kaitlin A FlosiItalyBernardo Dominic UNQUALIFIED
Claire W FerenczUnited KingdomOnyama Limba UNQUALIFIED
Maisha J MarrierCanadaElwin Sharvill QUALIFIED
Rodrigues N FigeroaRussiaBernardo Dominic UNQUALIFIED
Nicolas F CaudyIndiaElwin Sharvill NEW
Greenwood D DilliardCanadaIvan Magalhaes NEGOTIATION
Maria Q BriddickSpainAsiya Javayant UNQUALIFIED
Misaki T RulapaughFranceBernardo Dominic PROPOSAL
Jeanfrancois W DilliardRussiaAmy Elsner NEGOTIATION
Jeanfrancois L WieserSpainAmy Elsner NEGOTIATION
Maria B RimSpainIvan Magalhaes RENEWAL
Frozen Columns
Name
Maria Z Whobrey
Silvio R Nestle
Sinclair L Foller
Maria N Royster
Jeanfrancois Q Maclead
Sinclair G Foller
Nicolas B Whobrey
Misaki S Sergi
Mujtaba N Kolmetz
Francesco B Poquette
Smith Q Chui
Jennifer B Inouye
Greenwood G Figeroa
Morrow I Maclead
Aruna I Vocelka
Smith E Garufi
Jones R Doe
Aruna A Nestle
Cody Y Chui
Morrow Q Poquette
Ivar G Bowley
Nicolas Q Glick
Ivar M Saylors
Maisha X Bolognia
Tony U Slusarski
Antonio Z Vocelka
Tony K Shinko
Nicolas G Whobrey
Jefferson R Amigon
Mujtaba F Glick
Salvatore U Campain
Jefferson P Poquette
Misaki Z Shinko
Leon D Darakjy
Leon F Stockham
Jeanfrancois L Butt
Costa U Figeroa
Sinclair B Sergi
Leja P Bolognia
Antonio R Oldroyd
Silvio M Malet
Greenwood P Oldroyd
Johnson L Ostrosky
David W Venere
Munro M Nestle
Ivar J Sergi
Jones E Rulapaugh
Nicolas J Saylors
Murillo F Whobrey
Greenwood U Paprocki
IdCountryDate
1000Japan2024-05-24
1001Canada2024-06-08
1002Canada2024-05-31
1003United Kingdom2024-05-30
1004Japan2024-05-23
1005Japan2024-06-08
1006India2024-06-06
1007Australia2024-05-28
1008Spain2024-06-10
1009Russia2024-05-30
1010Japan2024-06-07
1011Spain2024-05-24
1012Italy2024-05-31
1013France2024-06-21
1014Russia2024-05-26
1015Spain2024-05-27
1016Italy2024-06-11
1017India2024-05-26
1018Italy2024-06-06
1019Germany2024-06-06
1020Argentina2024-05-29
1021Argentina2024-06-20
1022Australia2024-06-14
1023Russia2024-06-13
1024Japan2024-05-23
1025France2024-06-17
1026Argentina2024-06-05
1027Brazil2024-06-01
1028Spain2024-05-30
1029Brazil2024-06-04
1030Argentina2024-06-18
1031Brazil2024-06-11
1032Italy2024-06-18
1033Japan2024-06-01
1034Russia2024-06-13
1035United Kingdom2024-06-18
1036Australia2024-05-31
1037United Kingdom2024-06-07
1038Australia2024-05-23
1039Germany2024-05-31
1040France2024-06-01
1041Japan2024-06-14
1042Australia2024-05-25
1043France2024-06-12
1044Russia2024-05-25
1045United Kingdom2024-05-29
1046Canada2024-06-11
1047Canada2024-06-21
1048Australia2024-05-31
1049Japan2024-06-02

On-Demand Data

NameIdCountryDate
Arvin X Slusarski1000Argentina2024-06-20
Kadeem B Dilliard1001Japan2024-05-26
Ashley E Wieser1002Australia2024-05-30
Ashley V Caldarera1003Germany2024-06-21
Ricardo H Paprocki1004Russia2024-06-11
Greenwood G Iturbide1005United Kingdom2024-06-10
Julie Q Vocelka1006Spain2024-05-24
Izzy F Nicka1007France2024-06-05
Emily B Chui1008Australia2024-05-30
Aika T Nestle1009India2024-05-31
Emily O Glick1010United Kingdom2024-06-03
Murillo Q Foller1011France2024-05-25
Mayumi L Maclead1012Japan2024-05-30
Costa F Malet1013India2024-06-03
Mayumi H Nestle1014Italy2024-06-13
Munro M Iturbide1015Brazil2024-05-29
Clifford X Stenseth1016United Kingdom2024-05-25
Munro D Kolmetz1017Canada2024-06-02
Costa P Bowley1018Russia2024-06-21
Jeanfrancois T Darakjy1019Germany2024-06-05
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leja H BowleyArgentinaBernardo Dominic RENEWAL
Emily X KolmetzJapanStephen Shaw UNQUALIFIED
Jennifer F RutaCanadaElwin Sharvill QUALIFIED
Darci X GillianRussiaIoni Bowcher QUALIFIED
Darci P ChuiCanadaXuxue Feng NEW
Tony K MaletJapanAnna Fali RENEWAL
Murillo E FerenczFranceXuxue Feng QUALIFIED
Johnson G WieserSpainStephen Shaw PROPOSAL
Aika J MacleadAustraliaXuxue Feng NEGOTIATION
Clifford B SlusarskiSpainBernardo Dominic RENEWAL
Munro N FerenczRussiaXuxue Feng NEGOTIATION
Aika U KuskoRussiaStephen Shaw PROPOSAL
Sinclair B BriddickFranceIvan Magalhaes UNQUALIFIED
Greenwood Q StockhamAustraliaAsiya Javayant NEW
Isabel B PoquetteRussiaAmy Elsner RENEWAL
Emily J NickaBrazilBernardo Dominic QUALIFIED
James G PerinUnited KingdomStephen Shaw RENEWAL
Deepesh V SlusarskiAustraliaXuxue Feng QUALIFIED
Costa P MaletFranceIvan Magalhaes UNQUALIFIED
Stacey Q MorascaSpainIvan Magalhaes NEGOTIATION
Leon H WieserSpainIoni Bowcher NEW
Darci E OldroydUnited KingdomAmy Elsner PROPOSAL
Murillo M AmigonSpainOnyama Limba QUALIFIED
Tony D IturbideRussiaIoni Bowcher UNQUALIFIED
Salvatore P SchemmerCanadaOnyama Limba UNQUALIFIED
Jefferson M BowleyIndiaAnna Fali QUALIFIED
Munro M PoquetteRussiaIvan Magalhaes RENEWAL
Izzy X TollnerItalyIvan Magalhaes QUALIFIED
Claire G MaletUnited KingdomIoni Bowcher QUALIFIED
Octavia Z FerenczItalyBernardo Dominic NEW
Munro D PerinCanadaAmy Elsner PROPOSAL
Octavia M CaudyItalyIvan Magalhaes RENEWAL
Octavia E ShinkoRussiaElwin Sharvill NEGOTIATION
Faith V GauchoCanadaIvan Magalhaes UNQUALIFIED
Antonio I FigeroaGermanyAnna Fali QUALIFIED
Leon D FigeroaArgentinaAnna Fali QUALIFIED
Deepesh M StockhamSpainStephen Shaw PROPOSAL
Darci H MaletFranceXuxue Feng RENEWAL
Murillo I SlusarskiFranceStephen Shaw PROPOSAL
Alejandro F CaldareraItalyStephen Shaw QUALIFIED

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