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
Deepesh N DilliardJapanBernardo Dominic PROPOSAL
Clifford D GillianJapanIoni Bowcher UNQUALIFIED
Antonio O OldroydRussiaBernardo Dominic RENEWAL
Munro X ChuiCanadaBernardo Dominic QUALIFIED
David O MacleadUnited KingdomIoni Bowcher NEW
Stacey O AmigonCanadaBernardo Dominic NEW
Mayumi G RimUnited KingdomIoni Bowcher UNQUALIFIED
Kaitlin J CaldareraIndiaAsiya Javayant UNQUALIFIED
Salvatore K OldroydAustraliaAsiya Javayant NEW
Kaitlin S FigeroaAustraliaIoni Bowcher UNQUALIFIED
Morrow D AmigonIndiaOnyama Limba QUALIFIED
Silvio B ShinkoArgentinaElwin Sharvill NEGOTIATION
Emily O KuskoRussiaIvan Magalhaes PROPOSAL
Jeanfrancois S VenereSpainElwin Sharvill PROPOSAL
Tony N StockhamJapanOnyama Limba QUALIFIED
Jennifer Q OstroskyFranceOnyama Limba NEW
Octavia O ShinkoAustraliaAsiya Javayant NEW
Deepesh J ChuiFranceAsiya Javayant NEGOTIATION
Claire A PerinJapanXuxue Feng NEGOTIATION
Adams G MacleadSpainIvan Magalhaes NEGOTIATION
Tony A PoquetteRussiaXuxue Feng NEW
Tony T DilliardCanadaBernardo Dominic NEW
Leon Q StensethSpainIvan Magalhaes NEGOTIATION
Alejandro H SchemmerCanadaIoni Bowcher NEW
Deepesh U ShinkoGermanyAmy Elsner NEW
Salvatore B SchemmerItalyAnna Fali PROPOSAL
Wickens U RutaFranceAnna Fali QUALIFIED
Salvatore E AlbaresIndiaOnyama Limba NEGOTIATION
Stacey O InouyeGermanyAsiya Javayant UNQUALIFIED
Emily O RoysterFranceAmy Elsner NEGOTIATION
Johnson I FerenczGermanyAnna Fali PROPOSAL
Francesco D MorascaJapanBernardo Dominic NEW
Ashley Y BriddickUnited KingdomIvan Magalhaes RENEWAL
Francesco X TollnerGermanyElwin Sharvill NEGOTIATION
Morrow B TollnerSpainIoni Bowcher NEW
Maisha P StensethAustraliaIoni Bowcher NEGOTIATION
Clifford Z GlickAustraliaIvan Magalhaes NEGOTIATION
Jennifer N WieserUnited KingdomIoni Bowcher QUALIFIED
Misaki I NickaSpainAnna Fali PROPOSAL
Izzy A SchemmerGermanyAnna Fali RENEWAL
Arvin A FerenczArgentinaElwin Sharvill NEGOTIATION
Nicolas C MacleadUnited KingdomBernardo Dominic QUALIFIED
Emily R RutaSpainOnyama Limba RENEWAL
Darci I RutaSpainBernardo Dominic NEGOTIATION
Ashley V WaycottIndiaXuxue Feng QUALIFIED
Morrow G StensethFranceElwin Sharvill NEW
Adams D ShinkoBrazilAnna Fali RENEWAL
Murillo F BowleyRussiaIoni Bowcher UNQUALIFIED
Claire G DarakjyFranceIvan Magalhaes RENEWAL
Mujtaba T KolmetzArgentinaAnna Fali UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Adams B WhobreyGermanyAnna Fali NEGOTIATION
Isabel T PoquetteArgentinaAnna Fali PROPOSAL
Stacey I CaudyBrazilOnyama Limba NEGOTIATION
Adams E BowleyItalyAmy Elsner UNQUALIFIED
Maria V GlickIndiaBernardo Dominic NEW
Morrow L IturbideBrazilAnna Fali RENEWAL
Kaitlin C WieserJapanAmy Elsner QUALIFIED
Sinclair M NickaArgentinaAmy Elsner QUALIFIED
Mujtaba F SlusarskiItalyXuxue Feng NEGOTIATION
Aruna V CaudyCanadaAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Misaki B SergiAustralia2024-06-04Rousseaux, Michael Esq PROPOSAL48Ioni Bowcher
1001Misaki X PaprockiFrance2024-05-30Truhlar And Truhlar Attys NEGOTIATION61Elwin Sharvill
1002Ricardo W ChuiIndia2024-06-14Morlong Associates RENEWAL42Bernardo Dominic
1003Costa N MarrierGermany2024-05-27Truhlar And Truhlar Attys RENEWAL43Ivan Magalhaes
1004Tony W SergiBrazil2024-06-12Dorl, James J Esq UNQUALIFIED16Ivan Magalhaes
1005Nicolas Y MacleadItaly2024-05-26Rousseaux, Michael Esq QUALIFIED11Elwin Sharvill
1006Mayumi E FollerCanada2024-05-30Chanay, Jeffrey A Esq RENEWAL48Ivan Magalhaes
1007Ashley K SchemmerFrance2024-06-15Printing Dimensions RENEWAL27Anna Fali
1008Leon W CaudyFrance2024-06-15Feltz Printing Service UNQUALIFIED54Elwin Sharvill
1009Darci B WaycottGermany2024-06-22King, Christopher A Esq RENEWAL1Stephen Shaw
1010Jennifer M OstroskyIndia2024-06-02Truhlar And Truhlar Attys QUALIFIED20Asiya Javayant
1011Jeanfrancois I GarufiFrance2024-06-22Benton, John B Jr NEW88Bernardo Dominic
1012Munro K PoquetteRussia2024-06-23Feiner Bros RENEWAL57Amy Elsner
1013Stacey F InouyeSpain2024-06-06Feiner Bros PROPOSAL49Anna Fali
1014Arvin Y MorascaArgentina2024-06-23Commercial Press RENEWAL94Ioni Bowcher
1015Jefferson K RulapaughBrazil2024-06-15Feltz Printing Service PROPOSAL93Stephen Shaw
1016Mayumi S CampainIndia2024-06-11Feiner Bros UNQUALIFIED1Elwin Sharvill
1017Greenwood J DoeUnited Kingdom2024-06-08Truhlar And Truhlar Attys RENEWAL96Anna Fali
1018Mayumi P DilliardArgentina2024-06-04Feltz Printing Service PROPOSAL83Xuxue Feng
1019Smith F StockhamJapan2024-06-07Morlong Associates UNQUALIFIED71Elwin Sharvill
1020Leja C SergiCanada2024-05-28Chapman, Ross E Esq NEGOTIATION15Amy Elsner
1021Nicolas G RulapaughAustralia2024-06-07Benton, John B Jr NEW74Bernardo Dominic
1022Jennifer N BriddickJapan2024-05-26Chanay, Jeffrey A Esq RENEWAL98Amy Elsner
1023Misaki T FollerBrazil2024-06-17Printing Dimensions NEGOTIATION27Onyama Limba
1024Adams Y GlickRussia2024-06-07Dorl, James J Esq NEGOTIATION87Stephen Shaw
1025Ashley J GauchoGermany2024-05-31Chemel, James L Cpa RENEWAL76Elwin Sharvill
1026Juan D VocelkaAustralia2024-06-19Rangoni Of Florence PROPOSAL87Ivan Magalhaes
1027Sinclair Q KuskoSpain2024-06-17Truhlar And Truhlar Attys QUALIFIED95Anna Fali
1028David F FollerUnited Kingdom2024-05-27Dorl, James J Esq QUALIFIED89Bernardo Dominic
1029Adams K GlickCanada2024-05-29Commercial Press PROPOSAL64Ivan Magalhaes
1030Morrow G BriddickBrazil2024-05-25King, Christopher A Esq PROPOSAL3Amy Elsner
1031Alejandro I FerenczAustralia2024-06-04Chemel, James L Cpa NEW6Ivan Magalhaes
1032Mayumi R DarakjySpain2024-06-16Feiner Bros NEGOTIATION0Elwin Sharvill
1033Jefferson U MacleadCanada2024-06-11King, Christopher A Esq QUALIFIED48Onyama Limba
1034Arvin G FollerUnited Kingdom2024-06-22Morlong Associates RENEWAL4Elwin Sharvill
1035Jeanfrancois U SlusarskiJapan2024-06-16Dorl, James J Esq RENEWAL87Amy Elsner
1036Misaki B GlickJapan2024-06-20Benton, John B Jr RENEWAL39Asiya Javayant
1037Nicolas Z FlosiGermany2024-06-23Benton, John B Jr NEW48Asiya Javayant
1038Mujtaba O SchemmerUnited Kingdom2024-06-19Chapman, Ross E Esq UNQUALIFIED33Onyama Limba
1039Kaitlin N ButtItaly2024-05-28Rousseaux, Michael Esq QUALIFIED41Bernardo Dominic
1040Leja X BologniaRussia2024-05-28Buckley Miller Wright QUALIFIED7Anna Fali
1041Costa B BowleyRussia2024-06-11Feltz Printing Service NEGOTIATION24Xuxue Feng
1042Faith U StensethGermany2024-06-09Chanay, Jeffrey A Esq RENEWAL62Stephen Shaw
1043Julie O StensethRussia2024-05-30Rousseaux, Michael Esq UNQUALIFIED14Onyama Limba
1044Murillo D PerinCanada2024-06-10Chapman, Ross E Esq RENEWAL97Elwin Sharvill
1045Jeanfrancois X FollerIndia2024-06-02Buckley Miller Wright PROPOSAL99Ioni Bowcher
1046Kadeem J OldroydGermany2024-06-20Commercial Press PROPOSAL46Ivan Magalhaes
1047Ivar Q KolmetzGermany2024-05-28King, Christopher A Esq UNQUALIFIED7Onyama Limba
1048Aditya R FerenczAustralia2024-05-25Truhlar And Truhlar Attys NEGOTIATION78Ivan Magalhaes
1049Emily F FigeroaGermany2024-06-03Morlong Associates RENEWAL63Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Clifford J IturbideRussiaIvan Magalhaes PROPOSAL
Nicolas S AmigonArgentinaAsiya Javayant PROPOSAL
Francesco S StensethGermanyOnyama Limba NEW
Izzy D AlbaresRussiaAnna Fali NEW
Greenwood S VocelkaAustraliaOnyama Limba UNQUALIFIED
Ivar J OldroydSpainElwin Sharvill RENEWAL
Jefferson V OstroskyJapanIvan Magalhaes PROPOSAL
Isabel O StockhamSpainXuxue Feng NEGOTIATION
Johnson X VenereIndiaOnyama Limba PROPOSAL
Darci J ShinkoJapanAmy Elsner QUALIFIED
Tony T MacleadGermanyOnyama Limba QUALIFIED
Murillo Q BowleyGermanyElwin Sharvill UNQUALIFIED
Mujtaba O MorascaBrazilIoni Bowcher QUALIFIED
Mayumi K GlickGermanyBernardo Dominic RENEWAL
Octavia C BowleyGermanyAnna Fali RENEWAL
Aruna J GauchoBrazilAmy Elsner UNQUALIFIED
Silvio L AmigonUnited KingdomIoni Bowcher QUALIFIED
Deepesh G DoeUnited KingdomXuxue Feng PROPOSAL
Morrow E GauchoRussiaAmy Elsner NEW
Isabel K SchemmerSpainAmy Elsner NEGOTIATION
Emily C MaletFranceStephen Shaw NEGOTIATION
Costa J BowleyFranceIvan Magalhaes UNQUALIFIED
Isabel A TollnerBrazilIoni Bowcher QUALIFIED
Isabel M TollnerBrazilAsiya Javayant PROPOSAL
Francesco Z DarakjySpainAnna Fali NEW
Aruna M PaprockiUnited KingdomAnna Fali QUALIFIED
Claire E RimCanadaStephen Shaw PROPOSAL
Smith I DilliardBrazilIoni Bowcher QUALIFIED
Jefferson J NestleAustraliaElwin Sharvill PROPOSAL
Maisha B GarufiRussiaAsiya Javayant PROPOSAL
Ricardo X InouyeSpainIoni Bowcher RENEWAL
Misaki G MaletJapanBernardo Dominic NEW
Leja I MacleadGermanyElwin Sharvill RENEWAL
Sinclair Q StockhamGermanyBernardo Dominic NEW
Silvio Q NestleJapanAnna Fali PROPOSAL
Francesco Q CaudyArgentinaAnna Fali NEGOTIATION
Silvio V GlickSpainStephen Shaw QUALIFIED
Salvatore I MacleadGermanyAnna Fali UNQUALIFIED
Alejandro V CaldareraRussiaElwin Sharvill RENEWAL
Maria H PoquetteCanadaAnna Fali NEGOTIATION
Aruna O OldroydJapanXuxue Feng PROPOSAL
Morrow Y WaycottBrazilBernardo Dominic QUALIFIED
Nicolas B FollerCanadaAnna Fali PROPOSAL
Rodrigues A MaletUnited KingdomIoni Bowcher NEW
Costa W CampainFranceBernardo Dominic NEW
Maria U IturbideArgentinaIoni Bowcher RENEWAL
Alejandro U AlbaresSpainXuxue Feng QUALIFIED
Francesco O GauchoJapanAsiya Javayant RENEWAL
Julie B PoquetteBrazilIvan Magalhaes QUALIFIED
Salvatore T GauchoArgentinaOnyama Limba QUALIFIED
Frozen Columns
Name
Ricardo C Flosi
Juan M Marrier
Murillo Z Glick
Claire B Gillian
Jeanfrancois Z Doe
Izzy A Venere
Jones P Butt
Sinclair H Bolognia
Izzy X Shinko
Stacey U Stockham
Morrow G Rim
Mujtaba M Wieser
Misaki F Whobrey
Emily Z Royster
Ivar G Shinko
Juan B Whobrey
Stacey F Oldroyd
Leja M Rulapaugh
Jefferson V Ostrosky
Tony W Rulapaugh
Mayumi D Schemmer
Jennifer H Shinko
Faith L Poquette
Ashley Y Kusko
Greenwood Y Perin
Leja G Nicka
Kaitlin S Venere
Jefferson K Ruta
Rodrigues Z Oldroyd
Morrow P Malet
Aditya S Morasca
Adams H Albares
Claire D Malet
Chavez V Butt
Salvatore N Vocelka
Claire I Foller
Salvatore W Butt
Juan K Bowley
Mujtaba J Garufi
James O Malet
Stacey J Stockham
Antonio S Vocelka
James P Ruta
Maisha V Rulapaugh
Ashley I Garufi
Johnson G Royster
Morrow Z Nicka
Ricardo L Marrier
Juan R Waycott
Tony A Bowley
IdCountryDate
1000Italy2024-06-20
1001Australia2024-06-03
1002Canada2024-05-26
1003United Kingdom2024-06-15
1004Australia2024-05-29
1005Argentina2024-06-14
1006Argentina2024-06-18
1007France2024-06-20
1008Brazil2024-06-10
1009India2024-06-15
1010Spain2024-06-11
1011Argentina2024-06-21
1012Brazil2024-06-15
1013Germany2024-06-12
1014Japan2024-05-30
1015Spain2024-05-25
1016Brazil2024-06-11
1017Italy2024-06-13
1018Australia2024-06-15
1019France2024-06-05
1020Italy2024-06-10
1021France2024-06-02
1022United Kingdom2024-06-13
1023Spain2024-05-26
1024Canada2024-05-25
1025Canada2024-06-15
1026France2024-06-21
1027Italy2024-06-20
1028Japan2024-06-12
1029Argentina2024-05-31
1030Brazil2024-06-11
1031Italy2024-06-05
1032Brazil2024-06-09
1033Argentina2024-06-21
1034United Kingdom2024-05-28
1035Japan2024-06-13
1036Spain2024-06-12
1037Brazil2024-05-29
1038Argentina2024-05-29
1039Australia2024-06-04
1040Argentina2024-05-28
1041Spain2024-06-15
1042United Kingdom2024-05-28
1043India2024-05-27
1044Argentina2024-06-23
1045India2024-05-29
1046Argentina2024-05-29
1047France2024-05-28
1048India2024-06-16
1049India2024-05-26

On-Demand Data

NameIdCountryDate
Juan Q Stenseth1000Australia2024-06-08
Leon S Amigon1001India2024-06-23
Julie I Shinko1002India2024-06-20
Munro X Garufi1003Germany2024-06-07
Isabel B Butt1004Brazil2024-06-10
Johnson N Dilliard1005Brazil2024-05-29
Juan U Waycott1006Italy2024-05-28
Mayumi E Stockham1007Brazil2024-06-07
James V Iturbide1008Brazil2024-06-18
Maria Z Vocelka1009Brazil2024-06-21
Jennifer Q Schemmer1010India2024-06-03
Francesco G Kusko1011Canada2024-06-11
Rodrigues O Oldroyd1012Germany2024-06-19
Jefferson P Dilliard1013Argentina2024-05-31
Costa E Gillian1014Canada2024-06-15
Aditya J Ferencz1015France2024-06-02
Arvin G Briddick1016Japan2024-06-01
Jones C Wieser1017Argentina2024-05-25
Silvio W Flosi1018France2024-06-17
Maisha G Oldroyd1019Japan2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Silvio H StockhamUnited KingdomXuxue Feng UNQUALIFIED
Sinclair K MacleadJapanIvan Magalhaes RENEWAL
Tony T PerinAustraliaXuxue Feng QUALIFIED
Aruna K OstroskyBrazilAsiya Javayant UNQUALIFIED
James Z SergiAustraliaAnna Fali RENEWAL
Stacey W ButtGermanyIvan Magalhaes NEW
Clifford Z MaletJapanElwin Sharvill UNQUALIFIED
Jennifer K NestleIndiaBernardo Dominic PROPOSAL
Juan Q ButtCanadaIoni Bowcher NEW
Ashley Y StensethCanadaXuxue Feng RENEWAL
Isabel V KuskoJapanElwin Sharvill NEGOTIATION
Smith L FigeroaItalyElwin Sharvill QUALIFIED
Francesco J PoquetteItalyAmy Elsner QUALIFIED
Leja B WieserIndiaAnna Fali PROPOSAL
Ashley Q BologniaAustraliaElwin Sharvill UNQUALIFIED
Sinclair C StensethCanadaAsiya Javayant NEW
Antonio S RulapaughRussiaAnna Fali QUALIFIED
Rodrigues C BriddickSpainIvan Magalhaes RENEWAL
Smith C ShinkoRussiaIvan Magalhaes UNQUALIFIED
Isabel R SaylorsGermanyStephen Shaw RENEWAL
Faith L MorascaArgentinaIvan Magalhaes QUALIFIED
Rodrigues P WieserFranceOnyama Limba UNQUALIFIED
Emily E MarrierSpainXuxue Feng UNQUALIFIED
Octavia S IturbideFranceStephen Shaw NEW
Alejandro A BriddickSpainAsiya Javayant UNQUALIFIED
Octavia O VocelkaCanadaBernardo Dominic QUALIFIED
Ricardo P CaldareraRussiaIvan Magalhaes PROPOSAL
Arvin Y GlickIndiaElwin Sharvill QUALIFIED
Stacey N WieserGermanyXuxue Feng NEGOTIATION
Aruna M GlickAustraliaAsiya Javayant NEGOTIATION
Aditya W PoquetteRussiaAnna Fali UNQUALIFIED
Aruna P BologniaFranceAsiya Javayant RENEWAL
Juan E DilliardArgentinaAsiya Javayant PROPOSAL
Ivar M MaletArgentinaIvan Magalhaes RENEWAL
Jefferson Y OldroydIndiaOnyama Limba NEGOTIATION
Mayumi U StockhamRussiaElwin Sharvill NEGOTIATION
Izzy V CaudyJapanIvan Magalhaes QUALIFIED
Claire S VenereSpainIoni Bowcher RENEWAL
Jefferson D FigeroaCanadaAmy Elsner NEW
David J StensethGermanyIvan Magalhaes 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>