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
Arvin J PaprockiGermanyAsiya Javayant PROPOSAL
Wickens S FerenczGermanyAsiya Javayant UNQUALIFIED
Claire D KuskoCanadaIoni Bowcher RENEWAL
Alejandro M RimCanadaIvan Magalhaes RENEWAL
Francesco O BowleyIndiaElwin Sharvill NEGOTIATION
Antonio T CampainFranceElwin Sharvill UNQUALIFIED
Mayumi B StensethUnited KingdomBernardo Dominic RENEWAL
Rodrigues O StensethGermanyIvan Magalhaes NEW
Arvin T GlickItalyIvan Magalhaes PROPOSAL
Rodrigues H SaylorsUnited KingdomAnna Fali RENEWAL
Darci O MorascaItalyAmy Elsner QUALIFIED
Morrow G FerenczCanadaXuxue Feng UNQUALIFIED
Kadeem Z BologniaBrazilBernardo Dominic NEW
Jefferson Q SaylorsGermanyIoni Bowcher UNQUALIFIED
Aruna G PoquetteGermanyIoni Bowcher NEGOTIATION
Ivar V VocelkaCanadaAsiya Javayant NEW
David M MarrierIndiaIvan Magalhaes UNQUALIFIED
Kadeem O NickaGermanyAnna Fali UNQUALIFIED
Sinclair D TollnerRussiaAnna Fali PROPOSAL
Aditya R FigeroaUnited KingdomOnyama Limba NEW
Greenwood A PaprockiJapanIvan Magalhaes NEGOTIATION
Aika H ShinkoUnited KingdomAmy Elsner NEW
Julie S AlbaresBrazilAmy Elsner UNQUALIFIED
Octavia X VocelkaGermanyAmy Elsner NEGOTIATION
Salvatore J SergiSpainIoni Bowcher NEW
Antonio W TollnerGermanyAsiya Javayant PROPOSAL
Emily L DilliardFranceAmy Elsner NEW
Isabel X ButtItalyStephen Shaw QUALIFIED
Faith Q MaletAustraliaAsiya Javayant NEW
Adams G FlosiJapanBernardo Dominic NEGOTIATION
Wickens W DilliardSpainStephen Shaw PROPOSAL
James K CampainAustraliaXuxue Feng UNQUALIFIED
Leon X SaylorsBrazilAmy Elsner RENEWAL
Antonio K NickaCanadaOnyama Limba RENEWAL
Mujtaba O VocelkaCanadaIvan Magalhaes NEW
Izzy Y PaprockiCanadaIoni Bowcher PROPOSAL
Ricardo V WieserUnited KingdomXuxue Feng NEGOTIATION
Emily G IturbideBrazilXuxue Feng NEGOTIATION
Ivar J FlosiFranceIoni Bowcher QUALIFIED
Emily E GillianItalyIvan Magalhaes PROPOSAL
Stacey D RimIndiaXuxue Feng PROPOSAL
Ivar Q PaprockiArgentinaBernardo Dominic NEW
Kadeem I MaletJapanStephen Shaw UNQUALIFIED
Wickens X GillianUnited KingdomAsiya Javayant NEW
Arvin F OstroskyGermanyAmy Elsner RENEWAL
Murillo W ShinkoUnited KingdomIvan Magalhaes QUALIFIED
Morrow B WaycottJapanStephen Shaw UNQUALIFIED
Izzy Q ButtSpainAmy Elsner NEW
Emily M GauchoCanadaIoni Bowcher UNQUALIFIED
Aika Y GarufiUnited KingdomAmy Elsner NEW
Horizontal
NameCountryRepresentativeStatus
Julie O KuskoItalyXuxue Feng RENEWAL
David R MarrierRussiaStephen Shaw QUALIFIED
Antonio L WhobreyAustraliaElwin Sharvill UNQUALIFIED
Johnson M FigeroaFranceAnna Fali NEW
Maisha B BowleyRussiaIvan Magalhaes RENEWAL
Jennifer S KolmetzBrazilStephen Shaw RENEWAL
David T DarakjyFranceElwin Sharvill QUALIFIED
Murillo W GlickSpainXuxue Feng NEW
Izzy R AmigonGermanyAsiya Javayant QUALIFIED
Francesco K GauchoFranceAsiya Javayant UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ashley O FollerFrance2024-05-26Morlong Associates UNQUALIFIED89Ioni Bowcher
1001Aika E TollnerSpain2024-06-21Rangoni Of Florence NEW34Stephen Shaw
1002Morrow S MorascaCanada2024-06-06Buckley Miller Wright RENEWAL25Ioni Bowcher
1003Clifford K BriddickJapan2024-06-18Rangoni Of Florence PROPOSAL48Amy Elsner
1004Julie I TollnerIndia2024-06-12Commercial Press NEGOTIATION20Asiya Javayant
1005Maria Y VocelkaIndia2024-06-14King, Christopher A Esq NEW4Bernardo Dominic
1006Cody O FlosiItaly2024-06-08Morlong Associates NEGOTIATION84Amy Elsner
1007Clifford I MaletJapan2024-06-08Feltz Printing Service NEW7Stephen Shaw
1008Wickens N FollerArgentina2024-06-04Chemel, James L Cpa PROPOSAL27Anna Fali
1009Emily U FollerUnited Kingdom2024-06-16Chanay, Jeffrey A Esq RENEWAL22Ioni Bowcher
1010Morrow W WhobreyJapan2024-06-21Dorl, James J Esq NEW48Onyama Limba
1011Juan C BowleyBrazil2024-06-20Rangoni Of Florence PROPOSAL7Ioni Bowcher
1012Izzy E GillianSpain2024-05-26Printing Dimensions UNQUALIFIED7Anna Fali
1013Francesco T SlusarskiCanada2024-06-02Truhlar And Truhlar Attys PROPOSAL31Onyama Limba
1014Kaitlin K IturbideIndia2024-05-25King, Christopher A Esq QUALIFIED61Onyama Limba
1015Faith P WieserIndia2024-05-23King, Christopher A Esq QUALIFIED62Asiya Javayant
1016Nicolas K WieserCanada2024-06-06Benton, John B Jr NEW15Ioni Bowcher
1017Mujtaba O AlbaresJapan2024-06-13Dorl, James J Esq NEW92Ioni Bowcher
1018Costa F DoeJapan2024-06-19Chanay, Jeffrey A Esq QUALIFIED30Stephen Shaw
1019Greenwood Z VocelkaAustralia2024-05-27Rangoni Of Florence NEW64Xuxue Feng
1020Emily B ChuiUnited Kingdom2024-06-11Morlong Associates QUALIFIED0Amy Elsner
1021Morrow C FigeroaBrazil2024-06-06Chanay, Jeffrey A Esq PROPOSAL26Ivan Magalhaes
1022Ivar S BriddickRussia2024-05-27Printing Dimensions QUALIFIED83Stephen Shaw
1023Adams H ShinkoAustralia2024-06-13Morlong Associates RENEWAL99Asiya Javayant
1024Ivar B KuskoFrance2024-05-23Printing Dimensions QUALIFIED58Asiya Javayant
1025Emily D MaletJapan2024-06-07Commercial Press PROPOSAL44Ioni Bowcher
1026Adams Z NestleGermany2024-05-31Feltz Printing Service QUALIFIED19Amy Elsner
1027Cody Z InouyeItaly2024-05-28Feltz Printing Service RENEWAL70Ioni Bowcher
1028Jefferson W OldroydFrance2024-06-18Dorl, James J Esq RENEWAL63Ioni Bowcher
1029Clifford I VocelkaAustralia2024-06-19Rangoni Of Florence RENEWAL6Amy Elsner
1030Claire X FigeroaCanada2024-05-27Truhlar And Truhlar Attys RENEWAL8Amy Elsner
1031Costa F ShinkoSpain2024-05-28Morlong Associates QUALIFIED86Bernardo Dominic
1032Mujtaba N MacleadBrazil2024-06-15Feltz Printing Service PROPOSAL67Anna Fali
1033Leon S BologniaIndia2024-06-18Chanay, Jeffrey A Esq RENEWAL0Ivan Magalhaes
1034David M ShinkoSpain2024-06-16Printing Dimensions QUALIFIED52Amy Elsner
1035Smith S NestleAustralia2024-05-27Morlong Associates PROPOSAL58Xuxue Feng
1036Kadeem V SlusarskiItaly2024-06-14Commercial Press NEW98Amy Elsner
1037Aditya V KolmetzIndia2024-06-07Feiner Bros NEGOTIATION82Elwin Sharvill
1038Wickens M NestleJapan2024-06-20Chemel, James L Cpa NEW43Bernardo Dominic
1039Costa I RulapaughItaly2024-06-01Rangoni Of Florence NEW47Anna Fali
1040Ashley N IturbideSpain2024-05-30Printing Dimensions UNQUALIFIED51Ivan Magalhaes
1041Jefferson F ShinkoBrazil2024-06-09Commercial Press UNQUALIFIED64Elwin Sharvill
1042Jefferson V KolmetzGermany2024-05-25Morlong Associates UNQUALIFIED81Ivan Magalhaes
1043Ricardo F PoquetteSpain2024-06-14Chanay, Jeffrey A Esq NEGOTIATION76Anna Fali
1044Costa G BowleyFrance2024-06-02Morlong Associates QUALIFIED29Anna Fali
1045Isabel C SlusarskiSpain2024-06-09Chapman, Ross E Esq UNQUALIFIED94Asiya Javayant
1046Izzy F MarrierFrance2024-05-31Benton, John B Jr UNQUALIFIED64Ioni Bowcher
1047Johnson Z StensethFrance2024-06-12King, Christopher A Esq NEGOTIATION5Ioni Bowcher
1048Isabel O OldroydItaly2024-06-16Rangoni Of Florence PROPOSAL43Anna Fali
1049Costa M FlosiGermany2024-05-27Rousseaux, Michael Esq QUALIFIED97Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Mayumi B ShinkoFranceOnyama Limba NEW
Emily L DilliardGermanyAsiya Javayant UNQUALIFIED
Ivar U GarufiCanadaAmy Elsner QUALIFIED
Morrow O RutaGermanyAsiya Javayant RENEWAL
Alejandro X BowleyArgentinaBernardo Dominic QUALIFIED
Faith T GillianIndiaAnna Fali PROPOSAL
James M NickaRussiaStephen Shaw RENEWAL
Ashley D CaudyBrazilAsiya Javayant UNQUALIFIED
Rodrigues N FlosiItalyIvan Magalhaes UNQUALIFIED
Ashley U GlickBrazilIvan Magalhaes NEGOTIATION
Darci F OstroskySpainOnyama Limba NEGOTIATION
Murillo M DilliardItalyXuxue Feng RENEWAL
Leja U RulapaughIndiaIvan Magalhaes UNQUALIFIED
Leja E RoysterBrazilXuxue Feng PROPOSAL
Murillo E SaylorsUnited KingdomElwin Sharvill QUALIFIED
James F KolmetzArgentinaAmy Elsner RENEWAL
Adams E PaprockiSpainAsiya Javayant UNQUALIFIED
Wickens A AmigonUnited KingdomElwin Sharvill NEGOTIATION
Francesco E MarrierItalyIoni Bowcher RENEWAL
Alejandro R InouyeGermanyAnna Fali QUALIFIED
Morrow T SchemmerItalyIoni Bowcher NEW
Maisha L PoquetteFranceIvan Magalhaes NEGOTIATION
Adams Q NestleRussiaXuxue Feng UNQUALIFIED
Alejandro Y WieserCanadaAsiya Javayant NEW
Leja N VenereArgentinaXuxue Feng RENEWAL
Smith D FigeroaUnited KingdomIoni Bowcher NEW
Aika B MaletBrazilAnna Fali PROPOSAL
Costa J ShinkoJapanIvan Magalhaes PROPOSAL
Rodrigues D SaylorsJapanIoni Bowcher PROPOSAL
James D WaycottUnited KingdomElwin Sharvill RENEWAL
Greenwood Z SlusarskiAustraliaBernardo Dominic QUALIFIED
Deepesh N PoquetteGermanyStephen Shaw UNQUALIFIED
Octavia E DarakjyItalyAnna Fali QUALIFIED
Mayumi Y VocelkaGermanyAsiya Javayant UNQUALIFIED
Juan K MaletGermanyAnna Fali NEW
Kaitlin S FlosiItalyStephen Shaw RENEWAL
Kadeem Q DoeAustraliaIvan Magalhaes NEW
Adams M GarufiArgentinaOnyama Limba NEW
Julie C FerenczRussiaIoni Bowcher NEGOTIATION
James T GauchoUnited KingdomElwin Sharvill UNQUALIFIED
Kadeem Z OldroydAustraliaBernardo Dominic NEW
Kadeem J KolmetzArgentinaElwin Sharvill NEGOTIATION
Aruna Z DarakjyFranceAsiya Javayant NEGOTIATION
Salvatore L MaletJapanIoni Bowcher QUALIFIED
Misaki J KolmetzFranceXuxue Feng RENEWAL
Maria B PoquetteGermanyStephen Shaw RENEWAL
Aditya L VocelkaAustraliaAnna Fali PROPOSAL
Tony T AlbaresSpainAmy Elsner PROPOSAL
Jones W BowleyAustraliaAmy Elsner NEGOTIATION
Maria X PerinFranceAmy Elsner NEGOTIATION
Frozen Columns
Name
Ivar O Albares
Johnson B Ruta
Wickens S Wieser
Misaki J Perin
Murillo X Ostrosky
Rodrigues C Maclead
Johnson S Malet
Ashley V Garufi
James K Slusarski
Deepesh Y Kusko
David B Darakjy
Rodrigues L Nicka
Darci T Kusko
Clifford C Rulapaugh
Nicolas C Shinko
Chavez X Butt
Alejandro H Paprocki
Ivar L Gillian
Juan X Royster
Ricardo I Amigon
Emily H Saylors
Munro M Inouye
Isabel G Rulapaugh
Darci Q Marrier
David Q Wieser
James Z Darakjy
Rodrigues M Amigon
Wickens H Perin
Jefferson W Chui
Munro U Flosi
Alejandro B Foller
Mayumi L Bolognia
Wickens H Venere
Antonio I Iturbide
Misaki U Dilliard
James G Figeroa
Francesco C Schemmer
Octavia B Kusko
Jones Z Doe
Leon S Ferencz
Mujtaba T Glick
Arvin K Schemmer
Jennifer U Malet
Silvio E Caldarera
Wickens I Malet
Chavez I Ostrosky
Juan L Rim
Aditya I Garufi
Isabel J Schemmer
Kadeem E Caldarera
IdCountryDate
1000Argentina2024-06-12
1001Germany2024-05-28
1002Australia2024-05-28
1003Russia2024-06-17
1004Japan2024-06-02
1005Spain2024-05-30
1006Brazil2024-05-23
1007Russia2024-05-29
1008Japan2024-06-06
1009United Kingdom2024-06-01
1010India2024-06-04
1011Argentina2024-05-31
1012United Kingdom2024-05-27
1013Argentina2024-06-20
1014Spain2024-06-09
1015India2024-05-24
1016India2024-05-27
1017Australia2024-06-09
1018France2024-05-28
1019Russia2024-06-19
1020Spain2024-06-08
1021France2024-06-03
1022Spain2024-06-18
1023Australia2024-06-13
1024Germany2024-06-19
1025United Kingdom2024-05-31
1026Australia2024-06-01
1027Italy2024-05-23
1028Brazil2024-06-10
1029India2024-05-23
1030India2024-06-18
1031Canada2024-06-04
1032Brazil2024-06-21
1033Japan2024-06-20
1034Spain2024-06-07
1035France2024-06-09
1036Russia2024-05-24
1037Russia2024-06-06
1038Argentina2024-06-17
1039Brazil2024-05-25
1040Canada2024-06-21
1041Italy2024-06-15
1042Russia2024-06-12
1043Japan2024-06-16
1044Canada2024-06-02
1045United Kingdom2024-06-02
1046Canada2024-06-12
1047United Kingdom2024-06-02
1048Spain2024-06-02
1049Italy2024-06-10

On-Demand Data

NameIdCountryDate
Morrow C Butt1000France2024-05-27
Stacey F Butt1001Australia2024-05-30
Izzy A Whobrey1002Italy2024-05-31
Isabel E Morasca1003India2024-06-03
Izzy H Ruta1004Argentina2024-06-12
Isabel N Nestle1005Germany2024-06-20
Tony F Saylors1006Spain2024-05-25
Ivar A Ostrosky1007India2024-05-25
Sinclair P Chui1008Spain2024-05-28
Maisha A Caldarera1009Italy2024-06-20
Faith O Caudy1010Australia2024-05-24
Leon Y Stockham1011Australia2024-06-12
Jennifer U Gillian1012Italy2024-06-05
Smith J Maclead1013Germany2024-06-04
Kadeem D Caldarera1014Canada2024-06-12
Faith V Poquette1015Canada2024-06-19
Ricardo U Foller1016Argentina2024-06-01
Johnson R Ruta1017Canada2024-06-13
Ivar S Doe1018Spain2024-05-26
Arvin L Stockham1019Italy2024-06-01
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Kaitlin W VocelkaSpainStephen Shaw NEW
Salvatore Y StockhamSpainIvan Magalhaes QUALIFIED
Rodrigues S DilliardBrazilElwin Sharvill NEW
Kaitlin E OldroydAustraliaAmy Elsner UNQUALIFIED
Smith H MacleadSpainIvan Magalhaes NEGOTIATION
Ivar B MacleadRussiaStephen Shaw NEW
Francesco L CaldareraSpainAnna Fali QUALIFIED
Jones V StockhamCanadaAnna Fali QUALIFIED
Jones A StensethArgentinaIvan Magalhaes RENEWAL
Kadeem X TollnerUnited KingdomIvan Magalhaes PROPOSAL
Ashley I WaycottFranceStephen Shaw NEGOTIATION
Antonio B DilliardAustraliaBernardo Dominic RENEWAL
Jennifer Q WhobreyCanadaXuxue Feng RENEWAL
Ivar S StockhamJapanIvan Magalhaes RENEWAL
Aika E BologniaFranceIvan Magalhaes NEGOTIATION
Faith F CaldareraUnited KingdomElwin Sharvill QUALIFIED
Izzy V TollnerIndiaOnyama Limba QUALIFIED
Jeanfrancois Q OldroydIndiaIvan Magalhaes NEGOTIATION
Octavia E FerenczRussiaBernardo Dominic RENEWAL
Aruna V VenereFranceXuxue Feng UNQUALIFIED
Aika I StensethCanadaXuxue Feng NEW
Ashley A WhobreyCanadaAmy Elsner RENEWAL
Ashley O MaletJapanAsiya Javayant NEW
James A DarakjyBrazilAsiya Javayant RENEWAL
Mujtaba K PerinGermanyElwin Sharvill RENEWAL
James R PerinCanadaXuxue Feng UNQUALIFIED
Salvatore B TollnerArgentinaAmy Elsner QUALIFIED
Mujtaba Y InouyeJapanStephen Shaw NEGOTIATION
Arvin Y OstroskyUnited KingdomOnyama Limba NEGOTIATION
Arvin M VenereCanadaElwin Sharvill NEW
Jeanfrancois N MaletFranceStephen Shaw QUALIFIED
Tony C RimRussiaAsiya Javayant NEW
Francesco J MorascaAustraliaBernardo Dominic PROPOSAL
Alejandro I MaletFranceAsiya Javayant RENEWAL
Cody T StensethIndiaXuxue Feng RENEWAL
Murillo A NestleIndiaIoni Bowcher NEGOTIATION
David N NickaRussiaBernardo Dominic RENEWAL
Stacey Q GarufiAustraliaIvan Magalhaes PROPOSAL
Adams U KolmetzAustraliaAnna Fali NEW
Isabel O GlickBrazilAnna Fali 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>