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
Wickens B KuskoGermanyOnyama Limba RENEWAL
Cody S SergiAustraliaAmy Elsner PROPOSAL
Arvin C MarrierIndiaAmy Elsner NEW
Faith K GauchoRussiaAnna Fali RENEWAL
Izzy N SlusarskiBrazilIoni Bowcher NEGOTIATION
Clifford I VocelkaIndiaAsiya Javayant RENEWAL
Aruna A CampainArgentinaStephen Shaw RENEWAL
Octavia E RutaJapanAnna Fali PROPOSAL
Costa H DarakjyFranceStephen Shaw PROPOSAL
Leja X CaldareraGermanyStephen Shaw PROPOSAL
Kaitlin S StockhamSpainAmy Elsner NEW
Stacey C SchemmerAustraliaXuxue Feng RENEWAL
Octavia L CaudyBrazilXuxue Feng QUALIFIED
Antonio B CampainGermanyOnyama Limba UNQUALIFIED
Munro Z CaudyJapanAsiya Javayant RENEWAL
Munro I BowleyItalyIoni Bowcher RENEWAL
Kadeem S CaudyAustraliaAnna Fali UNQUALIFIED
Morrow V SchemmerArgentinaStephen Shaw UNQUALIFIED
Adams E SergiGermanyIvan Magalhaes NEGOTIATION
Cody V GarufiRussiaElwin Sharvill QUALIFIED
Wickens S CampainRussiaElwin Sharvill PROPOSAL
Julie H PoquetteUnited KingdomElwin Sharvill QUALIFIED
Deepesh N MarrierRussiaAsiya Javayant UNQUALIFIED
Maria V OstroskySpainBernardo Dominic UNQUALIFIED
Emily O MaletArgentinaIoni Bowcher NEGOTIATION
Jennifer I BowleySpainAnna Fali NEW
James Y WaycottSpainAsiya Javayant NEGOTIATION
Arvin I RulapaughSpainIoni Bowcher PROPOSAL
Francesco G AlbaresBrazilAmy Elsner NEW
Salvatore G RulapaughItalyIoni Bowcher QUALIFIED
Claire H BriddickJapanBernardo Dominic NEGOTIATION
Leon Z IturbideUnited KingdomOnyama Limba PROPOSAL
Aika W NestleRussiaIoni Bowcher NEW
Johnson E KuskoJapanOnyama Limba UNQUALIFIED
Aruna K VenereBrazilIoni Bowcher UNQUALIFIED
Sinclair O BologniaBrazilAmy Elsner RENEWAL
James K TollnerBrazilXuxue Feng UNQUALIFIED
Ricardo L RulapaughItalyXuxue Feng RENEWAL
Claire I FigeroaJapanIoni Bowcher RENEWAL
David I RimCanadaAsiya Javayant RENEWAL
Tony G IturbideAustraliaOnyama Limba NEGOTIATION
Izzy K SlusarskiFranceIvan Magalhaes QUALIFIED
Ivar A BowleyAustraliaOnyama Limba QUALIFIED
Rodrigues X PaprockiJapanElwin Sharvill QUALIFIED
Mayumi Q MarrierCanadaIoni Bowcher RENEWAL
Faith N CampainArgentinaAmy Elsner NEGOTIATION
Kadeem Z PaprockiFranceBernardo Dominic UNQUALIFIED
David V BologniaBrazilOnyama Limba QUALIFIED
Kadeem S ChuiUnited KingdomOnyama Limba NEW
Mayumi K InouyeFranceAnna Fali NEW
Horizontal
NameCountryRepresentativeStatus
Aditya B KuskoBrazilStephen Shaw UNQUALIFIED
James I NestleBrazilIoni Bowcher NEGOTIATION
Misaki C KuskoJapanAmy Elsner UNQUALIFIED
Antonio C WaycottJapanAsiya Javayant PROPOSAL
Emily X KolmetzArgentinaAsiya Javayant PROPOSAL
Rodrigues J GlickSpainAsiya Javayant NEGOTIATION
Jennifer V NickaRussiaElwin Sharvill NEW
Jefferson A FigeroaRussiaElwin Sharvill RENEWAL
Johnson N ShinkoSpainElwin Sharvill NEGOTIATION
Nicolas T VenereGermanyAsiya Javayant PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Tony Q MaletJapan2024-05-31Rangoni Of Florence NEGOTIATION96Stephen Shaw
1001Ricardo K MacleadFrance2024-06-06Dorl, James J Esq RENEWAL16Elwin Sharvill
1002Isabel I FollerSpain2024-06-15Printing Dimensions PROPOSAL72Xuxue Feng
1003Wickens D RutaUnited Kingdom2024-06-15Chanay, Jeffrey A Esq NEGOTIATION70Xuxue Feng
1004Maisha S CampainSpain2024-06-07King, Christopher A Esq RENEWAL79Asiya Javayant
1005Clifford S WieserJapan2024-06-02Rousseaux, Michael Esq RENEWAL46Asiya Javayant
1006Munro M ButtItaly2024-05-29Feltz Printing Service PROPOSAL36Onyama Limba
1007Arvin V IturbideIndia2024-05-25Rousseaux, Michael Esq QUALIFIED10Asiya Javayant
1008Rodrigues W BowleyUnited Kingdom2024-06-18King, Christopher A Esq PROPOSAL64Xuxue Feng
1009Emily L MaletCanada2024-06-20Buckley Miller Wright NEW71Ioni Bowcher
1010Munro T SergiJapan2024-06-19Truhlar And Truhlar Attys RENEWAL93Elwin Sharvill
1011Nicolas D WaycottRussia2024-06-09Rangoni Of Florence RENEWAL82Bernardo Dominic
1012Smith I GauchoItaly2024-06-14Rousseaux, Michael Esq NEW90Ioni Bowcher
1013Leja R BowleyAustralia2024-05-31Printing Dimensions RENEWAL1Xuxue Feng
1014Izzy W CaldareraSpain2024-06-04Truhlar And Truhlar Attys RENEWAL40Amy Elsner
1015Jefferson I PerinArgentina2024-06-09Feltz Printing Service RENEWAL34Elwin Sharvill
1016David N MaletItaly2024-05-30Rousseaux, Michael Esq PROPOSAL60Xuxue Feng
1017Johnson Y RimItaly2024-06-10Morlong Associates QUALIFIED68Onyama Limba
1018Adams J FigeroaRussia2024-06-11Chapman, Ross E Esq PROPOSAL97Asiya Javayant
1019Maria S BriddickBrazil2024-06-15Rousseaux, Michael Esq NEW84Amy Elsner
1020Emily M WieserRussia2024-06-12Truhlar And Truhlar Attys NEW63Stephen Shaw
1021Stacey L CaudyUnited Kingdom2024-05-30Morlong Associates NEW89Ivan Magalhaes
1022Jennifer V AmigonAustralia2024-06-04Benton, John B Jr NEW20Anna Fali
1023Clifford P GauchoFrance2024-06-03Feltz Printing Service NEW35Asiya Javayant
1024Salvatore H CaudyJapan2024-06-01Chapman, Ross E Esq UNQUALIFIED18Ivan Magalhaes
1025Aditya F SergiGermany2024-05-27Benton, John B Jr PROPOSAL33Amy Elsner
1026Clifford V CampainFrance2024-06-10Chapman, Ross E Esq RENEWAL90Ioni Bowcher
1027Tony D AlbaresRussia2024-06-23Chanay, Jeffrey A Esq QUALIFIED88Elwin Sharvill
1028Emily J GarufiBrazil2024-06-19Benton, John B Jr UNQUALIFIED22Onyama Limba
1029Julie S GarufiArgentina2024-05-30Chemel, James L Cpa NEW27Elwin Sharvill
1030Antonio W ButtFrance2024-06-11Benton, John B Jr RENEWAL8Ivan Magalhaes
1031Greenwood U FollerAustralia2024-06-22Morlong Associates QUALIFIED1Ivan Magalhaes
1032Jeanfrancois S RoysterJapan2024-05-26Rangoni Of Florence NEGOTIATION60Bernardo Dominic
1033Darci Q IturbideRussia2024-06-13Commercial Press UNQUALIFIED53Elwin Sharvill
1034Tony Y MacleadGermany2024-05-31Chapman, Ross E Esq NEGOTIATION91Onyama Limba
1035Juan M SaylorsRussia2024-06-02Feiner Bros RENEWAL79Amy Elsner
1036Jefferson L DoeJapan2024-06-17Chanay, Jeffrey A Esq NEW69Xuxue Feng
1037Maria U SaylorsGermany2024-06-05Feltz Printing Service UNQUALIFIED30Xuxue Feng
1038Cody Y PoquetteCanada2024-06-06King, Christopher A Esq NEW82Stephen Shaw
1039Jennifer Y WhobreyArgentina2024-06-06Truhlar And Truhlar Attys PROPOSAL50Asiya Javayant
1040Darci Q SergiIndia2024-06-13Feiner Bros PROPOSAL9Bernardo Dominic
1041Mayumi A AlbaresGermany2024-06-05Rousseaux, Michael Esq UNQUALIFIED24Ioni Bowcher
1042Darci S CaudyArgentina2024-06-09Buckley Miller Wright QUALIFIED10Xuxue Feng
1043Mayumi R GillianItaly2024-06-06Feltz Printing Service PROPOSAL27Elwin Sharvill
1044Wickens O BriddickUnited Kingdom2024-05-25Chemel, James L Cpa PROPOSAL0Ivan Magalhaes
1045Tony R GauchoItaly2024-06-18Commercial Press NEGOTIATION46Bernardo Dominic
1046Aika J PerinGermany2024-06-22Feltz Printing Service PROPOSAL60Amy Elsner
1047Misaki C SlusarskiGermany2024-06-05Feiner Bros UNQUALIFIED21Ivan Magalhaes
1048Nicolas W NickaIndia2024-06-07Rousseaux, Michael Esq RENEWAL30Xuxue Feng
1049Kaitlin I DarakjyJapan2024-06-20Truhlar And Truhlar Attys QUALIFIED85Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Francesco Z SlusarskiItalyAnna Fali UNQUALIFIED
Aditya R MarrierIndiaXuxue Feng PROPOSAL
Nicolas M BologniaCanadaAnna Fali NEW
Cody A StensethSpainAsiya Javayant PROPOSAL
Jennifer L ChuiCanadaIvan Magalhaes QUALIFIED
Aditya R GlickSpainAmy Elsner NEW
Jefferson Y MorascaArgentinaXuxue Feng NEGOTIATION
Greenwood P GarufiFranceIoni Bowcher UNQUALIFIED
Kaitlin E OstroskyAustraliaAnna Fali NEW
Isabel X StockhamSpainIoni Bowcher NEGOTIATION
Stacey P MaletUnited KingdomOnyama Limba UNQUALIFIED
Kaitlin M GlickCanadaAnna Fali PROPOSAL
Maria E MaletCanadaAsiya Javayant NEW
Leon O FigeroaFranceIvan Magalhaes QUALIFIED
Aika D MaletCanadaElwin Sharvill UNQUALIFIED
Maria P ButtCanadaElwin Sharvill UNQUALIFIED
Morrow Q StockhamFranceOnyama Limba UNQUALIFIED
Munro E KuskoIndiaAsiya Javayant QUALIFIED
Nicolas C StockhamArgentinaStephen Shaw PROPOSAL
Tony L FigeroaArgentinaBernardo Dominic RENEWAL
Wickens A RimGermanyIoni Bowcher PROPOSAL
Murillo D AlbaresArgentinaAnna Fali RENEWAL
Silvio F BriddickJapanIoni Bowcher UNQUALIFIED
Aika W WaycottSpainElwin Sharvill PROPOSAL
Darci U RulapaughArgentinaAnna Fali NEW
Cody C SlusarskiCanadaAsiya Javayant RENEWAL
Greenwood F BriddickBrazilXuxue Feng PROPOSAL
David L SlusarskiSpainBernardo Dominic NEGOTIATION
Misaki X FollerAustraliaOnyama Limba NEW
David Z SaylorsBrazilElwin Sharvill PROPOSAL
Arvin F MarrierBrazilAmy Elsner NEGOTIATION
Murillo P VenereSpainAmy Elsner NEGOTIATION
Emily E FigeroaAustraliaStephen Shaw NEW
Tony Q DilliardUnited KingdomIoni Bowcher RENEWAL
Silvio X CampainUnited KingdomAnna Fali NEGOTIATION
James Q FollerBrazilAsiya Javayant RENEWAL
Greenwood M PaprockiArgentinaAmy Elsner UNQUALIFIED
Munro P GauchoFranceElwin Sharvill PROPOSAL
Ivar P SergiRussiaBernardo Dominic PROPOSAL
Costa C BologniaFranceIvan Magalhaes UNQUALIFIED
Ricardo M RulapaughFranceStephen Shaw UNQUALIFIED
Jones X FerenczFranceBernardo Dominic NEW
Aditya T MarrierItalyAsiya Javayant QUALIFIED
Cody C WaycottArgentinaStephen Shaw QUALIFIED
James K MaletArgentinaOnyama Limba PROPOSAL
Kadeem C VenereJapanAnna Fali UNQUALIFIED
Stacey A CaldareraJapanAsiya Javayant QUALIFIED
Ashley X IturbideIndiaOnyama Limba NEGOTIATION
Maria L FigeroaSpainAsiya Javayant NEGOTIATION
Izzy A SlusarskiUnited KingdomOnyama Limba PROPOSAL
Frozen Columns
Name
Rodrigues B Bolognia
Kadeem A Gillian
Stacey Z Kolmetz
Maisha J Venere
Emily J Foller
Aika Y Briddick
Costa V Stockham
Izzy D Oldroyd
Kaitlin Y Stenseth
Morrow Q Malet
Jefferson X Kolmetz
James H Shinko
Maria U Gillian
Mujtaba E Flosi
David N Doe
Aditya K Briddick
Kadeem L Rim
Maisha I Bolognia
Kaitlin K Perin
David J Butt
James I Stenseth
Munro A Chui
Jennifer M Waycott
Cody U Gaucho
David X Waycott
Antonio W Stenseth
Emily Y Butt
Isabel G Rulapaugh
Maisha W Gillian
Juan B Darakjy
Ashley F Iturbide
Tony G Kolmetz
Mayumi V Paprocki
Munro N Caudy
Darci A Shinko
James H Figeroa
Mayumi V Garufi
Ashley H Slusarski
Antonio K Glick
Maria S Figeroa
Maria A Nicka
Claire D Paprocki
Aika T Briddick
Nicolas T Glick
Octavia S Albares
Rodrigues D Rim
Claire D Malet
Jeanfrancois I Ostrosky
Smith P Ostrosky
Jennifer L Dilliard
IdCountryDate
1000Canada2024-06-03
1001Spain2024-06-04
1002United Kingdom2024-06-20
1003Brazil2024-05-26
1004Germany2024-06-04
1005Russia2024-06-04
1006Italy2024-06-23
1007Germany2024-06-18
1008Australia2024-06-23
1009Argentina2024-06-06
1010United Kingdom2024-06-10
1011Italy2024-06-02
1012Canada2024-06-23
1013France2024-06-17
1014Germany2024-05-27
1015France2024-06-03
1016Canada2024-05-29
1017Japan2024-05-28
1018India2024-06-23
1019Brazil2024-06-19
1020Italy2024-06-20
1021France2024-06-23
1022Brazil2024-06-01
1023India2024-06-01
1024Italy2024-06-15
1025Canada2024-05-30
1026Argentina2024-06-20
1027Italy2024-06-10
1028Canada2024-06-23
1029Japan2024-05-29
1030United Kingdom2024-06-01
1031India2024-06-23
1032Australia2024-06-08
1033India2024-05-28
1034United Kingdom2024-06-13
1035Germany2024-06-13
1036Japan2024-05-27
1037India2024-06-03
1038India2024-06-18
1039India2024-06-01
1040Australia2024-06-12
1041Australia2024-06-21
1042Japan2024-06-22
1043Russia2024-06-14
1044France2024-06-22
1045France2024-05-25
1046Russia2024-06-03
1047Australia2024-06-05
1048Germany2024-05-26
1049Spain2024-06-07

On-Demand Data

NameIdCountryDate
Leon R Whobrey1000Argentina2024-06-02
Johnson M Saylors1001Japan2024-06-09
Isabel P Waycott1002Canada2024-06-23
Jennifer E Slusarski1003Canada2024-06-04
Morrow V Iturbide1004United Kingdom2024-06-18
Stacey K Bowley1005Canada2024-06-17
Juan D Flosi1006Canada2024-06-03
Ashley S Foller1007Russia2024-06-08
Johnson J Gaucho1008Japan2024-06-19
Johnson X Shinko1009Italy2024-06-19
Nicolas B Schemmer1010Japan2024-06-17
Rodrigues L Venere1011Russia2024-06-11
Silvio N Maclead1012Russia2024-05-30
Murillo B Nicka1013United Kingdom2024-05-27
Kadeem F Iturbide1014France2024-06-08
Maria R Waycott1015United Kingdom2024-06-02
Octavia Z Maclead1016Australia2024-06-17
Aika U Campain1017Argentina2024-06-15
Maisha X Glick1018Italy2024-06-10
Mujtaba S Royster1019Spain2024-06-21
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Chavez W RutaSpainAnna Fali QUALIFIED
Jones R AlbaresAustraliaAsiya Javayant UNQUALIFIED
Misaki S MaletItalyOnyama Limba RENEWAL
Maisha U KolmetzJapanAmy Elsner NEGOTIATION
Kadeem S SaylorsCanadaXuxue Feng RENEWAL
Jones R GauchoItalyBernardo Dominic PROPOSAL
Smith U SergiSpainAmy Elsner QUALIFIED
Kaitlin B StockhamUnited KingdomIoni Bowcher QUALIFIED
Mujtaba T BowleyItalyIvan Magalhaes PROPOSAL
Nicolas O SlusarskiCanadaAmy Elsner QUALIFIED
Jefferson E WaycottGermanyElwin Sharvill RENEWAL
Aruna H WieserGermanyAmy Elsner NEGOTIATION
Nicolas V SlusarskiBrazilXuxue Feng PROPOSAL
James N PerinSpainAmy Elsner RENEWAL
Mayumi Y NestleFranceStephen Shaw QUALIFIED
Julie C InouyeSpainAmy Elsner PROPOSAL
Mujtaba Y FlosiBrazilOnyama Limba UNQUALIFIED
Chavez E ShinkoFranceStephen Shaw PROPOSAL
Munro R WhobreyArgentinaElwin Sharvill UNQUALIFIED
Jones C GauchoRussiaElwin Sharvill QUALIFIED
Jeanfrancois D KuskoJapanOnyama Limba NEW
Kadeem S FigeroaRussiaBernardo Dominic NEGOTIATION
Deepesh M DilliardRussiaAsiya Javayant PROPOSAL
Deepesh P SergiArgentinaXuxue Feng PROPOSAL
Deepesh E VocelkaItalyAnna Fali QUALIFIED
Wickens J OstroskyIndiaStephen Shaw PROPOSAL
Leon J MaletCanadaAsiya Javayant NEW
Murillo P ChuiGermanyStephen Shaw QUALIFIED
David H GarufiItalyOnyama Limba QUALIFIED
Faith S WieserCanadaIoni Bowcher PROPOSAL
Francesco M VenereArgentinaAnna Fali NEGOTIATION
Morrow K CaudyIndiaAsiya Javayant RENEWAL
Jeanfrancois D MaletBrazilAmy Elsner PROPOSAL
Adams I BriddickArgentinaStephen Shaw UNQUALIFIED
Stacey R SlusarskiArgentinaAsiya Javayant QUALIFIED
Faith W MarrierArgentinaOnyama Limba UNQUALIFIED
Deepesh Q MarrierIndiaOnyama Limba PROPOSAL
Tony K StockhamBrazilAnna Fali RENEWAL
Cody Z KolmetzArgentinaStephen Shaw NEW
Mayumi Y RutaGermanyBernardo Dominic UNQUALIFIED

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