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
Salvatore M GarufiArgentinaIvan Magalhaes QUALIFIED
Darci Z KolmetzCanadaIoni Bowcher PROPOSAL
Aruna Z InouyeSpainXuxue Feng PROPOSAL
Cody M PaprockiGermanyXuxue Feng NEW
Ashley Q NickaJapanAmy Elsner QUALIFIED
Aika M DarakjyUnited KingdomBernardo Dominic NEW
Jeanfrancois C AmigonBrazilIoni Bowcher UNQUALIFIED
Jennifer D RimGermanyElwin Sharvill NEW
Julie A RimJapanIvan Magalhaes QUALIFIED
Ashley H StockhamUnited KingdomStephen Shaw NEW
Ashley U DilliardRussiaAsiya Javayant QUALIFIED
Clifford C BowleyRussiaAsiya Javayant NEGOTIATION
Antonio A GlickIndiaIoni Bowcher PROPOSAL
Francesco P FigeroaFranceIoni Bowcher NEW
Julie C FollerRussiaElwin Sharvill PROPOSAL
Murillo C TollnerUnited KingdomAmy Elsner NEGOTIATION
Johnson U GarufiArgentinaAmy Elsner NEW
Cody U OstroskyRussiaAmy Elsner NEGOTIATION
Murillo J InouyeArgentinaAsiya Javayant UNQUALIFIED
Jeanfrancois V VocelkaItalyAnna Fali QUALIFIED
Mujtaba J CampainFranceElwin Sharvill UNQUALIFIED
Maisha A StensethRussiaIoni Bowcher QUALIFIED
Silvio I MorascaCanadaAnna Fali UNQUALIFIED
Alejandro Q FollerGermanyIoni Bowcher NEW
Chavez A InouyeGermanyIvan Magalhaes NEW
Kadeem P VocelkaArgentinaXuxue Feng NEGOTIATION
Misaki V RoysterRussiaAsiya Javayant NEGOTIATION
Greenwood S MorascaGermanyAsiya Javayant UNQUALIFIED
Kaitlin X BologniaArgentinaBernardo Dominic PROPOSAL
Aditya X RoysterUnited KingdomXuxue Feng RENEWAL
Munro T WieserBrazilElwin Sharvill PROPOSAL
Cody S RoysterUnited KingdomAmy Elsner UNQUALIFIED
Claire L PerinGermanyAsiya Javayant PROPOSAL
Ashley S IturbideArgentinaAnna Fali RENEWAL
Faith U TollnerBrazilXuxue Feng NEW
Jennifer I DoeRussiaAsiya Javayant RENEWAL
Stacey C MaletUnited KingdomAmy Elsner PROPOSAL
Jeanfrancois C DarakjyJapanXuxue Feng PROPOSAL
Kaitlin I VocelkaCanadaIvan Magalhaes NEW
Chavez F InouyeFranceIvan Magalhaes QUALIFIED
Morrow P GillianArgentinaXuxue Feng QUALIFIED
Salvatore T CaldareraCanadaOnyama Limba NEGOTIATION
Maisha T RimCanadaIoni Bowcher UNQUALIFIED
Smith Z PoquetteBrazilAmy Elsner QUALIFIED
Salvatore P RutaItalyOnyama Limba NEGOTIATION
Johnson O MaletUnited KingdomAnna Fali QUALIFIED
Murillo K StockhamGermanyIoni Bowcher PROPOSAL
Antonio O ShinkoBrazilElwin Sharvill QUALIFIED
Jones K CampainRussiaAmy Elsner QUALIFIED
Kaitlin K StockhamRussiaIvan Magalhaes UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Isabel B KuskoRussiaIoni Bowcher PROPOSAL
Sinclair Y VocelkaCanadaOnyama Limba NEGOTIATION
Smith Y FigeroaArgentinaAsiya Javayant PROPOSAL
Adams Z IturbideRussiaAsiya Javayant PROPOSAL
Antonio B FlosiGermanyAmy Elsner PROPOSAL
Maisha N PoquetteItalyOnyama Limba RENEWAL
Smith R GarufiJapanAmy Elsner RENEWAL
Antonio M PerinUnited KingdomAmy Elsner UNQUALIFIED
Aruna X DarakjyIndiaStephen Shaw QUALIFIED
Misaki Y SaylorsCanadaElwin Sharvill RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Greenwood M WaycottUnited Kingdom2024-06-10Commercial Press NEGOTIATION63Asiya Javayant
1001Misaki E RoysterItaly2024-05-30Morlong Associates PROPOSAL78Elwin Sharvill
1002Mujtaba H SchemmerBrazil2024-06-04Commercial Press NEW85Stephen Shaw
1003Adams I CaudyUnited Kingdom2024-05-26Benton, John B Jr NEGOTIATION57Bernardo Dominic
1004Isabel M WhobreyRussia2024-06-15Rousseaux, Michael Esq NEW65Anna Fali
1005Antonio L BowleyIndia2024-06-01Chapman, Ross E Esq RENEWAL86Ioni Bowcher
1006Johnson E VenereCanada2024-06-15King, Christopher A Esq RENEWAL67Stephen Shaw
1007Emily P InouyeGermany2024-05-30Dorl, James J Esq PROPOSAL67Ivan Magalhaes
1008Leja X MaletIndia2024-06-18Rangoni Of Florence NEW75Anna Fali
1009Sinclair X RoysterUnited Kingdom2024-06-09King, Christopher A Esq NEGOTIATION7Ivan Magalhaes
1010Ricardo Q KuskoCanada2024-06-07Feiner Bros NEW66Anna Fali
1011Johnson F CaudyArgentina2024-06-13Feltz Printing Service RENEWAL30Elwin Sharvill
1012Izzy J RimSpain2024-06-19Chemel, James L Cpa RENEWAL93Ioni Bowcher
1013Aruna O SlusarskiGermany2024-06-19Commercial Press NEW46Anna Fali
1014Aika E RutaJapan2024-05-26Chanay, Jeffrey A Esq RENEWAL26Elwin Sharvill
1015Darci U PaprockiItaly2024-06-07Rangoni Of Florence QUALIFIED84Xuxue Feng
1016Isabel S StockhamJapan2024-06-03Morlong Associates UNQUALIFIED67Stephen Shaw
1017Maisha G FlosiAustralia2024-06-11Rousseaux, Michael Esq RENEWAL51Ioni Bowcher
1018Arvin G InouyeItaly2024-05-29Printing Dimensions PROPOSAL23Ivan Magalhaes
1019Maria G ButtFrance2024-05-29Chemel, James L Cpa RENEWAL72Ivan Magalhaes
1020Leon P FerenczJapan2024-06-15King, Christopher A Esq QUALIFIED89Xuxue Feng
1021Emily M FollerRussia2024-06-20Chapman, Ross E Esq PROPOSAL59Asiya Javayant
1022Misaki M StensethIndia2024-06-16Rangoni Of Florence RENEWAL12Amy Elsner
1023Arvin E BriddickJapan2024-05-27Rousseaux, Michael Esq PROPOSAL62Asiya Javayant
1024Isabel E NestleBrazil2024-06-09Feltz Printing Service PROPOSAL41Bernardo Dominic
1025Claire D KuskoSpain2024-06-12Feiner Bros PROPOSAL50Elwin Sharvill
1026Chavez N SlusarskiUnited Kingdom2024-06-14Dorl, James J Esq QUALIFIED2Stephen Shaw
1027Isabel B WhobreyItaly2024-06-08Rousseaux, Michael Esq NEGOTIATION96Elwin Sharvill
1028Antonio Z OldroydRussia2024-06-10Benton, John B Jr UNQUALIFIED77Xuxue Feng
1029David T MaletBrazil2024-05-30Truhlar And Truhlar Attys NEW42Anna Fali
1030Nicolas R ChuiRussia2024-06-15Printing Dimensions PROPOSAL50Xuxue Feng
1031Maisha V AmigonJapan2024-05-28Feltz Printing Service UNQUALIFIED93Bernardo Dominic
1032Francesco C BologniaGermany2024-05-28Buckley Miller Wright PROPOSAL24Onyama Limba
1033Kadeem G CaudyGermany2024-06-07King, Christopher A Esq QUALIFIED38Amy Elsner
1034Cody B PaprockiIndia2024-06-20King, Christopher A Esq NEW48Ioni Bowcher
1035Isabel F AlbaresFrance2024-06-06Benton, John B Jr QUALIFIED33Asiya Javayant
1036Ashley D FlosiCanada2024-06-17Chemel, James L Cpa NEGOTIATION72Elwin Sharvill
1037Chavez C PaprockiBrazil2024-06-18Rangoni Of Florence UNQUALIFIED4Xuxue Feng
1038Kaitlin M GauchoJapan2024-06-11Morlong Associates RENEWAL31Ivan Magalhaes
1039Darci G WieserAustralia2024-05-29Buckley Miller Wright PROPOSAL87Amy Elsner
1040David K StensethJapan2024-05-30Morlong Associates NEW71Onyama Limba
1041Darci G SaylorsRussia2024-05-26Morlong Associates RENEWAL57Ioni Bowcher
1042Wickens B PerinItaly2024-06-15Buckley Miller Wright RENEWAL45Asiya Javayant
1043Clifford Q GauchoAustralia2024-06-01Dorl, James J Esq NEW35Bernardo Dominic
1044David G WieserSpain2024-06-21Feltz Printing Service NEW0Elwin Sharvill
1045Costa J NickaItaly2024-05-24Chemel, James L Cpa PROPOSAL10Amy Elsner
1046Ashley D KolmetzIndia2024-05-31Morlong Associates NEGOTIATION94Anna Fali
1047Isabel E WieserUnited Kingdom2024-05-27Feltz Printing Service NEW54Bernardo Dominic
1048Wickens J PerinBrazil2024-06-07Chapman, Ross E Esq NEW39Stephen Shaw
1049James Y SaylorsRussia2024-06-03Benton, John B Jr UNQUALIFIED43Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Aruna S PoquetteArgentinaIoni Bowcher QUALIFIED
Nicolas E PoquetteAustraliaIvan Magalhaes RENEWAL
Aika P PerinBrazilAnna Fali NEW
Sinclair N KuskoItalyXuxue Feng RENEWAL
Ashley N OldroydBrazilXuxue Feng UNQUALIFIED
Octavia S ShinkoRussiaStephen Shaw QUALIFIED
Julie H StensethCanadaXuxue Feng NEGOTIATION
Salvatore M KolmetzBrazilAnna Fali NEGOTIATION
Juan Z InouyeFranceAsiya Javayant NEW
Munro R PoquetteCanadaXuxue Feng RENEWAL
Clifford O GarufiFranceAnna Fali NEGOTIATION
Jones I VenereIndiaXuxue Feng UNQUALIFIED
Aruna A SlusarskiBrazilOnyama Limba NEW
Jones D BriddickGermanyAmy Elsner NEW
Julie D CampainArgentinaElwin Sharvill QUALIFIED
Ivar Z OstroskyAustraliaIoni Bowcher PROPOSAL
Clifford U IturbideGermanyStephen Shaw PROPOSAL
Antonio N OldroydAustraliaXuxue Feng RENEWAL
Aika O VenereRussiaElwin Sharvill QUALIFIED
Jones Z KolmetzAustraliaElwin Sharvill RENEWAL
Antonio L DilliardArgentinaIoni Bowcher QUALIFIED
Octavia L WaycottSpainStephen Shaw RENEWAL
James S GlickCanadaAnna Fali UNQUALIFIED
Clifford H RutaGermanyStephen Shaw PROPOSAL
Octavia L MaletItalyBernardo Dominic UNQUALIFIED
Morrow N ShinkoItalyAnna Fali NEGOTIATION
Salvatore W MaletIndiaIoni Bowcher PROPOSAL
David A AmigonAustraliaAnna Fali RENEWAL
Aditya D RulapaughFranceIoni Bowcher PROPOSAL
Rodrigues G NestleRussiaIoni Bowcher QUALIFIED
Morrow I ButtBrazilStephen Shaw UNQUALIFIED
Adams Y StensethUnited KingdomAsiya Javayant NEW
Maria M SchemmerUnited KingdomAsiya Javayant NEGOTIATION
Chavez B RutaArgentinaAnna Fali NEW
Salvatore B DilliardCanadaAsiya Javayant UNQUALIFIED
Clifford N CampainRussiaAsiya Javayant NEW
Aika F WhobreyItalyIvan Magalhaes PROPOSAL
Arvin T FerenczCanadaXuxue Feng QUALIFIED
Jones Y NickaRussiaAmy Elsner PROPOSAL
Juan M BologniaGermanyAmy Elsner UNQUALIFIED
Jeanfrancois A GauchoArgentinaAmy Elsner PROPOSAL
Jennifer E ChuiJapanBernardo Dominic RENEWAL
Tony V PoquetteItalyAnna Fali UNQUALIFIED
Adams Q BriddickGermanyIoni Bowcher NEGOTIATION
Antonio Z KuskoIndiaOnyama Limba UNQUALIFIED
Salvatore F RimIndiaBernardo Dominic NEW
Silvio Z ButtArgentinaIvan Magalhaes QUALIFIED
Ashley S StockhamSpainIvan Magalhaes RENEWAL
Mujtaba I CampainBrazilBernardo Dominic NEGOTIATION
Maisha X SchemmerAustraliaOnyama Limba NEW
Frozen Columns
Name
Misaki W Venere
Octavia N Doe
Aditya H Venere
Mayumi I Bolognia
Antonio M Venere
Kaitlin T Wieser
Chavez S Doe
Ashley X Ruta
Maisha L Glick
Kadeem C Albares
Octavia I Doe
Sinclair D Paprocki
Francesco F Malet
Nicolas X Slusarski
Mujtaba S Garufi
Ivar G Chui
Misaki M Venere
Silvio G Marrier
Mayumi V Malet
Leon N Caldarera
Sinclair D Venere
Ricardo F Saylors
Misaki P Campain
Misaki P Caudy
Antonio A Gillian
Claire N Malet
James U Campain
Deepesh L Doe
Jefferson N Foller
Alejandro R Wieser
Faith C Perin
Greenwood W Venere
Deepesh Q Tollner
Deepesh H Schemmer
Octavia N Briddick
Nicolas L Paprocki
James Z Oldroyd
Claire L Nestle
Jefferson I Paprocki
Maria M Figeroa
Aika H Kolmetz
Morrow Q Saylors
Emily M Bowley
Leja T Briddick
Faith O Stockham
Francesco N Figeroa
Octavia R Venere
Salvatore E Gillian
Leon T Poquette
Kaitlin D Perin
IdCountryDate
1000Spain2024-05-28
1001Germany2024-06-04
1002Australia2024-06-03
1003United Kingdom2024-06-06
1004Germany2024-06-04
1005Australia2024-05-29
1006Italy2024-06-21
1007Italy2024-06-06
1008United Kingdom2024-05-27
1009United Kingdom2024-06-06
1010Italy2024-06-05
1011France2024-05-30
1012Canada2024-06-10
1013Canada2024-06-09
1014India2024-06-09
1015Brazil2024-05-28
1016Spain2024-06-08
1017Spain2024-06-07
1018Germany2024-05-31
1019Argentina2024-06-07
1020France2024-06-01
1021Russia2024-05-27
1022Australia2024-06-13
1023United Kingdom2024-06-03
1024Argentina2024-06-09
1025United Kingdom2024-06-09
1026Argentina2024-06-16
1027United Kingdom2024-06-06
1028Brazil2024-06-08
1029India2024-06-03
1030France2024-06-10
1031France2024-05-27
1032Australia2024-05-28
1033Argentina2024-06-02
1034Brazil2024-06-04
1035Canada2024-06-09
1036Italy2024-06-13
1037Brazil2024-05-25
1038Japan2024-06-15
1039Italy2024-06-06
1040France2024-06-20
1041Spain2024-06-12
1042Russia2024-06-01
1043United Kingdom2024-05-28
1044Brazil2024-05-26
1045Australia2024-06-13
1046Canada2024-06-14
1047India2024-05-23
1048India2024-06-01
1049Germany2024-05-26

On-Demand Data

NameIdCountryDate
Isabel T Butt1000Spain2024-06-08
Ivar G Bowley1001France2024-06-03
Octavia P Sergi1002Russia2024-05-24
Aruna X Waycott1003Brazil2024-06-14
Jennifer Q Sergi1004Spain2024-05-24
Wickens N Poquette1005Australia2024-06-08
Octavia K Marrier1006Russia2024-05-28
Costa D Sergi1007Brazil2024-06-11
Leon Z Poquette1008Brazil2024-06-09
Johnson M Butt1009Canada2024-05-31
Greenwood Z Perin1010Japan2024-05-28
Misaki Z Garufi1011France2024-06-04
Aika I Whobrey1012Canada2024-06-04
Ashley T Bolognia1013Italy2024-06-13
Deepesh G Dilliard1014Spain2024-06-05
Leon A Garufi1015Germany2024-05-24
Isabel S Royster1016Canada2024-06-18
Maria W Ostrosky1017Argentina2024-06-05
Jones F Kusko1018Germany2024-05-27
Wickens S Glick1019Japan2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Julie Y IturbideSpainBernardo Dominic RENEWAL
Misaki Q AlbaresArgentinaOnyama Limba UNQUALIFIED
Alejandro G MaletJapanOnyama Limba UNQUALIFIED
Greenwood B OstroskyArgentinaStephen Shaw NEGOTIATION
Smith D AmigonArgentinaOnyama Limba PROPOSAL
Silvio O AlbaresCanadaElwin Sharvill PROPOSAL
David K StensethJapanBernardo Dominic UNQUALIFIED
Murillo L CampainGermanyOnyama Limba NEW
Juan R CaudySpainOnyama Limba QUALIFIED
Ashley H SaylorsRussiaAsiya Javayant UNQUALIFIED
Maisha E FollerIndiaXuxue Feng NEGOTIATION
Arvin K MacleadUnited KingdomAmy Elsner RENEWAL
Silvio P AlbaresCanadaIvan Magalhaes UNQUALIFIED
Kaitlin O ShinkoAustraliaStephen Shaw UNQUALIFIED
Tony H OldroydGermanyIoni Bowcher QUALIFIED
Ashley U MaletBrazilIvan Magalhaes UNQUALIFIED
Rodrigues J StockhamRussiaBernardo Dominic NEGOTIATION
Nicolas J ShinkoJapanStephen Shaw NEW
Johnson Z GauchoUnited KingdomIoni Bowcher UNQUALIFIED
Faith F AlbaresJapanIvan Magalhaes RENEWAL
Adams G AmigonSpainXuxue Feng RENEWAL
Clifford Z MarrierRussiaIoni Bowcher NEGOTIATION
Wickens Q KolmetzSpainXuxue Feng QUALIFIED
Antonio Z CampainCanadaStephen Shaw UNQUALIFIED
Cody I WaycottSpainAnna Fali NEGOTIATION
Adams F CaudyCanadaAnna Fali QUALIFIED
David B MacleadCanadaAsiya Javayant UNQUALIFIED
Izzy L BriddickUnited KingdomAmy Elsner PROPOSAL
Leja N RimItalyAmy Elsner NEW
Isabel J SergiJapanOnyama Limba QUALIFIED
Jeanfrancois R BriddickAustraliaElwin Sharvill NEGOTIATION
Maria V GlickCanadaAmy Elsner NEW
Greenwood C StensethSpainBernardo Dominic RENEWAL
Munro Z SaylorsCanadaIoni Bowcher UNQUALIFIED
Faith H SaylorsSpainAsiya Javayant NEW
Chavez Y DoeArgentinaStephen Shaw PROPOSAL
Francesco F GauchoIndiaElwin Sharvill RENEWAL
Cody N OldroydFranceElwin Sharvill NEW
Darci K SergiArgentinaAmy Elsner NEW
Aika D GarufiIndiaAsiya Javayant 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>