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 B FlosiFranceAnna Fali RENEWAL
Mayumi V GillianItalyIvan Magalhaes PROPOSAL
Munro X CaudyRussiaAnna Fali NEW
Arvin W DarakjyBrazilStephen Shaw UNQUALIFIED
Jeanfrancois V KuskoUnited KingdomElwin Sharvill RENEWAL
Silvio O SergiIndiaOnyama Limba QUALIFIED
Deepesh O AmigonUnited KingdomIvan Magalhaes PROPOSAL
Costa X PerinSpainAnna Fali QUALIFIED
Mujtaba H ChuiSpainIoni Bowcher NEGOTIATION
Clifford X ButtFranceXuxue Feng NEGOTIATION
Murillo O FlosiJapanAsiya Javayant UNQUALIFIED
Jennifer X DarakjySpainAmy Elsner RENEWAL
Adams R OldroydAustraliaOnyama Limba PROPOSAL
Aditya C GlickRussiaXuxue Feng NEGOTIATION
Julie H MaletArgentinaXuxue Feng NEW
Clifford T VenereItalyIvan Magalhaes RENEWAL
Antonio X FollerIndiaAnna Fali RENEWAL
Sinclair E BowleyUnited KingdomIoni Bowcher NEW
Aika H OstroskyIndiaAnna Fali RENEWAL
Cody M FerenczGermanyIvan Magalhaes RENEWAL
Isabel D FollerGermanyElwin Sharvill RENEWAL
Julie O PerinArgentinaStephen Shaw RENEWAL
Jones I AlbaresItalyIoni Bowcher QUALIFIED
Jeanfrancois N WieserBrazilBernardo Dominic NEW
Claire K AmigonUnited KingdomIvan Magalhaes QUALIFIED
Faith D WhobreyGermanyIvan Magalhaes PROPOSAL
Deepesh V PaprockiAustraliaXuxue Feng UNQUALIFIED
Deepesh A BologniaRussiaAmy Elsner NEW
Darci W SlusarskiArgentinaIoni Bowcher PROPOSAL
Johnson T WaycottJapanXuxue Feng RENEWAL
Rodrigues Y SergiFranceAmy Elsner PROPOSAL
David V GlickAustraliaAmy Elsner NEW
Emily C KuskoGermanyStephen Shaw NEGOTIATION
Ivar U TollnerUnited KingdomXuxue Feng RENEWAL
Juan T AlbaresFranceXuxue Feng NEW
Aika V GillianAustraliaAnna Fali QUALIFIED
Juan O SaylorsRussiaAnna Fali PROPOSAL
Aruna C BologniaAustraliaXuxue Feng QUALIFIED
Jefferson B ShinkoItalyStephen Shaw RENEWAL
Salvatore M SergiItalyXuxue Feng NEGOTIATION
Antonio D SlusarskiUnited KingdomElwin Sharvill NEW
Antonio B NestleUnited KingdomStephen Shaw RENEWAL
Silvio M GlickArgentinaStephen Shaw NEW
Aditya H OstroskyArgentinaIoni Bowcher QUALIFIED
Alejandro L SaylorsAustraliaIvan Magalhaes RENEWAL
Cody C WhobreyFranceIvan Magalhaes PROPOSAL
Mujtaba E OstroskyAustraliaBernardo Dominic RENEWAL
Ivar J StensethItalyIoni Bowcher RENEWAL
Wickens O CampainIndiaIoni Bowcher NEGOTIATION
Isabel J ButtSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Salvatore S CaudyRussiaElwin Sharvill QUALIFIED
Ashley K NestleSpainAsiya Javayant NEGOTIATION
Octavia W SchemmerCanadaBernardo Dominic RENEWAL
Leon E GauchoRussiaIoni Bowcher PROPOSAL
Julie H ChuiUnited KingdomXuxue Feng PROPOSAL
Leja H SlusarskiArgentinaElwin Sharvill UNQUALIFIED
Kadeem B SergiItalyIvan Magalhaes NEW
Salvatore M ButtCanadaElwin Sharvill PROPOSAL
Adams Z FlosiCanadaOnyama Limba PROPOSAL
Julie O PoquetteCanadaXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki A DoeFrance2024-06-20Feiner Bros UNQUALIFIED81Bernardo Dominic
1001Murillo E TollnerRussia2024-06-02Rangoni Of Florence QUALIFIED81Elwin Sharvill
1002Johnson F GarufiAustralia2024-06-09Dorl, James J Esq QUALIFIED0Elwin Sharvill
1003Sinclair C RoysterRussia2024-05-30Chapman, Ross E Esq UNQUALIFIED83Stephen Shaw
1004Adams H RoysterAustralia2024-06-17Feiner Bros PROPOSAL85Ioni Bowcher
1005Octavia Y RulapaughSpain2024-05-26Benton, John B Jr RENEWAL93Ioni Bowcher
1006Munro R MaletIndia2024-06-07Commercial Press NEGOTIATION32Anna Fali
1007Jennifer S BologniaJapan2024-05-29Rangoni Of Florence PROPOSAL1Amy Elsner
1008Wickens Z DarakjyGermany2024-05-31Dorl, James J Esq RENEWAL2Asiya Javayant
1009Kadeem B PerinSpain2024-06-04Feiner Bros UNQUALIFIED55Ioni Bowcher
1010Faith C RoysterJapan2024-06-02Commercial Press RENEWAL56Anna Fali
1011Claire A PaprockiBrazil2024-05-26Feltz Printing Service NEGOTIATION36Anna Fali
1012Kadeem E WaycottUnited Kingdom2024-06-04Printing Dimensions UNQUALIFIED93Xuxue Feng
1013Sinclair A MacleadArgentina2024-06-08King, Christopher A Esq QUALIFIED0Bernardo Dominic
1014Deepesh S IturbideSpain2024-06-17Printing Dimensions UNQUALIFIED96Amy Elsner
1015Mujtaba S MarrierGermany2024-06-04Truhlar And Truhlar Attys QUALIFIED61Bernardo Dominic
1016Tony V WieserFrance2024-06-08Chanay, Jeffrey A Esq UNQUALIFIED41Ivan Magalhaes
1017Cody H TollnerIndia2024-06-10Commercial Press PROPOSAL67Stephen Shaw
1018Sinclair U OstroskyArgentina2024-06-17Rangoni Of Florence UNQUALIFIED45Onyama Limba
1019Maria B CaudySpain2024-06-18Feltz Printing Service QUALIFIED90Asiya Javayant
1020Salvatore D InouyeArgentina2024-06-05Chapman, Ross E Esq PROPOSAL95Bernardo Dominic
1021Salvatore K ChuiGermany2024-05-27Chapman, Ross E Esq UNQUALIFIED3Asiya Javayant
1022Maisha A CaldareraIndia2024-05-26Chapman, Ross E Esq RENEWAL27Onyama Limba
1023Ricardo H AlbaresJapan2024-05-30Commercial Press UNQUALIFIED18Ioni Bowcher
1024Ivar R PaprockiAustralia2024-05-28Feltz Printing Service QUALIFIED51Stephen Shaw
1025Faith D ShinkoGermany2024-06-05Feiner Bros RENEWAL50Onyama Limba
1026Adams L SchemmerIndia2024-06-10Chapman, Ross E Esq NEW21Ivan Magalhaes
1027Cody L SaylorsSpain2024-06-07Chemel, James L Cpa UNQUALIFIED6Onyama Limba
1028Octavia R ShinkoRussia2024-05-29Feltz Printing Service PROPOSAL33Anna Fali
1029Nicolas Y BowleyItaly2024-06-21Morlong Associates RENEWAL99Anna Fali
1030Kadeem Z DoeItaly2024-06-01Commercial Press UNQUALIFIED84Onyama Limba
1031Rodrigues M TollnerRussia2024-06-21Buckley Miller Wright QUALIFIED2Ivan Magalhaes
1032Arvin S RutaIndia2024-06-09Printing Dimensions QUALIFIED22Ivan Magalhaes
1033Ricardo Y GillianAustralia2024-06-04Commercial Press QUALIFIED4Xuxue Feng
1034Julie V MarrierUnited Kingdom2024-05-28Buckley Miller Wright UNQUALIFIED36Amy Elsner
1035Ricardo M TollnerAustralia2024-05-30Rangoni Of Florence UNQUALIFIED53Ioni Bowcher
1036Darci N OldroydGermany2024-06-16Truhlar And Truhlar Attys UNQUALIFIED30Asiya Javayant
1037Rodrigues K GlickRussia2024-06-21Buckley Miller Wright RENEWAL56Onyama Limba
1038Ashley Q RoysterJapan2024-05-28Morlong Associates PROPOSAL78Bernardo Dominic
1039Wickens C WaycottFrance2024-06-09Rangoni Of Florence RENEWAL14Elwin Sharvill
1040Misaki Z StockhamJapan2024-05-26Chanay, Jeffrey A Esq NEGOTIATION28Xuxue Feng
1041Silvio Z SaylorsIndia2024-06-03Chapman, Ross E Esq PROPOSAL98Ioni Bowcher
1042Nicolas Y NickaIndia2024-06-15Dorl, James J Esq PROPOSAL28Asiya Javayant
1043Silvio V DarakjyIndia2024-06-06Truhlar And Truhlar Attys NEW79Ivan Magalhaes
1044Murillo P OstroskyArgentina2024-06-10Rousseaux, Michael Esq NEW73Ioni Bowcher
1045Emily U AlbaresJapan2024-06-12Buckley Miller Wright UNQUALIFIED10Onyama Limba
1046Costa H WaycottJapan2024-06-11Buckley Miller Wright QUALIFIED69Ioni Bowcher
1047David L MaletSpain2024-06-11Rangoni Of Florence QUALIFIED48Stephen Shaw
1048Costa T AlbaresCanada2024-06-24Commercial Press UNQUALIFIED50Amy Elsner
1049Alejandro E RoysterAustralia2024-06-17Printing Dimensions NEGOTIATION87Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Leja W BriddickGermanyAsiya Javayant NEW
Cody F GlickSpainIoni Bowcher RENEWAL
Johnson C SergiGermanyBernardo Dominic UNQUALIFIED
Wickens P WhobreyArgentinaAmy Elsner NEGOTIATION
Sinclair T NickaItalyXuxue Feng UNQUALIFIED
Mayumi S CaldareraRussiaIvan Magalhaes NEW
Aruna Q TollnerFranceAsiya Javayant UNQUALIFIED
Adams I PerinRussiaBernardo Dominic PROPOSAL
Jones I BriddickCanadaIoni Bowcher PROPOSAL
Rodrigues F CaldareraGermanyAnna Fali NEW
Maria J WaycottGermanyElwin Sharvill UNQUALIFIED
Aruna S MacleadGermanyIvan Magalhaes NEGOTIATION
Rodrigues S InouyeIndiaBernardo Dominic RENEWAL
Greenwood M RoysterGermanyAnna Fali UNQUALIFIED
Darci Q FigeroaCanadaIvan Magalhaes PROPOSAL
Maisha A MaletIndiaIvan Magalhaes NEW
Cody Q OldroydAustraliaIvan Magalhaes NEW
Cody F RimArgentinaBernardo Dominic QUALIFIED
Jefferson N OstroskyItalyAsiya Javayant NEW
Darci U MacleadItalyAnna Fali NEGOTIATION
Maisha D InouyeJapanStephen Shaw QUALIFIED
Adams M FigeroaBrazilIvan Magalhaes QUALIFIED
Aika O MaletCanadaAnna Fali UNQUALIFIED
David O CampainGermanyAnna Fali NEW
Ivar O MorascaJapanIoni Bowcher RENEWAL
Ivar Y MaletCanadaStephen Shaw RENEWAL
Stacey Q WhobreyItalyOnyama Limba NEW
Francesco O FerenczFranceAnna Fali NEW
Leon C StockhamGermanyXuxue Feng NEW
Kadeem Z BologniaRussiaBernardo Dominic NEW
Costa E NestleArgentinaBernardo Dominic UNQUALIFIED
Sinclair G MorascaFranceAnna Fali QUALIFIED
James Q SergiJapanAnna Fali NEW
Mayumi D RulapaughJapanIvan Magalhaes RENEWAL
Mujtaba J SchemmerJapanBernardo Dominic RENEWAL
Misaki R StensethItalyXuxue Feng NEGOTIATION
Aditya H KolmetzGermanyXuxue Feng PROPOSAL
David S FigeroaBrazilAnna Fali NEGOTIATION
Antonio W BologniaFranceAnna Fali UNQUALIFIED
Kaitlin N WhobreyGermanyStephen Shaw UNQUALIFIED
Leon E MorascaGermanyIvan Magalhaes RENEWAL
David T RimSpainAsiya Javayant RENEWAL
Nicolas H KuskoArgentinaIoni Bowcher NEGOTIATION
Darci C KuskoItalyOnyama Limba NEGOTIATION
David A GlickItalyIvan Magalhaes PROPOSAL
Misaki N AmigonCanadaXuxue Feng QUALIFIED
Wickens N PoquetteSpainBernardo Dominic UNQUALIFIED
Maisha Z GlickRussiaOnyama Limba PROPOSAL
Stacey M RimBrazilBernardo Dominic PROPOSAL
Claire S VocelkaAustraliaBernardo Dominic NEGOTIATION
Frozen Columns
Name
Leja R Malet
Kadeem D Wieser
Ashley A Figeroa
Nicolas E Whobrey
Deepesh T Figeroa
Murillo D Rim
Ashley C Shinko
Smith B Shinko
Smith O Malet
Kaitlin W Darakjy
Murillo Q Ferencz
Wickens N Tollner
Adams Q Kolmetz
Maria X Iturbide
David C Figeroa
Mujtaba W Amigon
Costa J Shinko
Julie C Ostrosky
Mayumi O Stockham
Izzy L Ruta
Ricardo O Figeroa
Kadeem Z Kusko
Kadeem T Malet
Johnson S Inouye
Smith W Stenseth
Leon X Flosi
Stacey V Caldarera
James W Dilliard
Adams Q Darakjy
Maria M Wieser
Adams F Flosi
Faith L Foller
Jennifer L Kolmetz
Arvin N Albares
Leja O Bolognia
Misaki N Dilliard
Mayumi R Glick
Murillo X Perin
Aditya F Slusarski
Aditya D Gaucho
Isabel F Saylors
Isabel B Caudy
James X Butt
Mujtaba M Maclead
Antonio F Iturbide
Kaitlin K Glick
Morrow W Caudy
Cody Z Amigon
Ricardo M Vocelka
Faith P Wieser
IdCountryDate
1000Russia2024-06-19
1001Russia2024-06-03
1002Japan2024-06-18
1003India2024-06-07
1004Canada2024-06-03
1005France2024-05-27
1006France2024-06-13
1007Russia2024-06-13
1008Argentina2024-06-22
1009Argentina2024-06-20
1010Brazil2024-06-17
1011Brazil2024-06-08
1012Argentina2024-06-09
1013India2024-06-12
1014Australia2024-06-03
1015Spain2024-06-11
1016Germany2024-05-29
1017Australia2024-06-24
1018Italy2024-06-08
1019Spain2024-06-07
1020Japan2024-05-31
1021India2024-05-29
1022Germany2024-06-23
1023France2024-06-23
1024Germany2024-06-10
1025Italy2024-06-21
1026Spain2024-06-13
1027Germany2024-06-15
1028United Kingdom2024-06-04
1029Italy2024-06-16
1030Australia2024-06-09
1031Germany2024-06-16
1032Germany2024-05-26
1033Germany2024-05-29
1034Russia2024-06-17
1035Argentina2024-06-10
1036Italy2024-06-10
1037United Kingdom2024-06-06
1038United Kingdom2024-06-10
1039Russia2024-06-13
1040Argentina2024-06-10
1041United Kingdom2024-06-20
1042Germany2024-06-02
1043Brazil2024-06-06
1044Italy2024-05-30
1045India2024-06-09
1046France2024-05-28
1047Russia2024-06-10
1048Australia2024-06-22
1049Brazil2024-06-12

On-Demand Data

NameIdCountryDate
Darci F Garufi1000Brazil2024-05-30
Morrow U Bowley1001Japan2024-06-04
Faith E Dilliard1002Russia2024-06-08
Julie D Iturbide1003Brazil2024-06-05
Rodrigues K Marrier1004Spain2024-06-10
Alejandro A Paprocki1005Brazil2024-06-12
Cody U Amigon1006Germany2024-05-27
Jefferson T Waycott1007Russia2024-06-19
Jones N Doe1008India2024-05-29
David U Caldarera1009Spain2024-06-21
Maisha N Royster1010Germany2024-06-24
Ivar P Briddick1011Japan2024-06-06
Juan Q Amigon1012Canada2024-05-27
Leon Z Inouye1013France2024-06-14
Maisha Y Vocelka1014Spain2024-06-07
Wickens Q Stockham1015India2024-06-22
Octavia J Maclead1016India2024-06-01
Kaitlin A Venere1017Russia2024-06-12
Kaitlin G Whobrey1018Japan2024-06-08
Arvin R Briddick1019Japan2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aruna S PaprockiUnited KingdomAnna Fali NEGOTIATION
Darci E NestleFranceStephen Shaw RENEWAL
Julie Z MaletItalyOnyama Limba RENEWAL
Kadeem Z OstroskySpainStephen Shaw NEW
Deepesh D MaletIndiaAnna Fali NEGOTIATION
Kadeem A IturbideAustraliaAsiya Javayant PROPOSAL
Emily S BriddickIndiaElwin Sharvill PROPOSAL
Arvin C WhobreyJapanAnna Fali NEW
Chavez W StensethIndiaIoni Bowcher QUALIFIED
Leja P InouyeFranceAsiya Javayant PROPOSAL
Murillo N FigeroaBrazilElwin Sharvill PROPOSAL
Salvatore K KuskoItalyAmy Elsner NEW
Stacey Z WaycottCanadaIoni Bowcher QUALIFIED
Johnson C GarufiAustraliaBernardo Dominic RENEWAL
Morrow F GlickUnited KingdomIoni Bowcher QUALIFIED
Arvin I InouyeUnited KingdomAmy Elsner NEGOTIATION
Chavez I StockhamCanadaAnna Fali PROPOSAL
Johnson Z FlosiGermanyIvan Magalhaes NEW
Clifford K ShinkoRussiaElwin Sharvill QUALIFIED
Silvio Y VocelkaBrazilStephen Shaw NEW
Nicolas L SaylorsCanadaAmy Elsner QUALIFIED
Francesco B RulapaughBrazilIvan Magalhaes PROPOSAL
Maria D WaycottGermanyAnna Fali QUALIFIED
Juan Z StensethRussiaElwin Sharvill QUALIFIED
Darci W WieserSpainBernardo Dominic NEGOTIATION
Salvatore O GauchoFranceBernardo Dominic NEW
Morrow W SaylorsBrazilBernardo Dominic PROPOSAL
Leon L GarufiJapanIoni Bowcher NEGOTIATION
Adams T VenereUnited KingdomElwin Sharvill QUALIFIED
Francesco G MarrierArgentinaIoni Bowcher NEGOTIATION
Sinclair R SergiItalyAmy Elsner QUALIFIED
Kadeem C StockhamIndiaBernardo Dominic RENEWAL
Costa W RulapaughItalyOnyama Limba NEGOTIATION
David X SaylorsBrazilOnyama Limba PROPOSAL
Aditya F StockhamArgentinaElwin Sharvill NEGOTIATION
Faith L DoeJapanBernardo Dominic RENEWAL
Darci E SlusarskiIndiaIvan Magalhaes PROPOSAL
Kadeem D RimSpainXuxue Feng QUALIFIED
Greenwood C GlickIndiaAsiya Javayant NEW
Leja I CampainJapanXuxue Feng NEGOTIATION

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