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
Juan H NestleGermanyOnyama Limba PROPOSAL
Izzy Y DarakjyBrazilIvan Magalhaes NEGOTIATION
Misaki M DoeGermanyAnna Fali QUALIFIED
Aruna R TollnerSpainElwin Sharvill RENEWAL
Jefferson M KuskoJapanAsiya Javayant NEGOTIATION
Kadeem L AmigonRussiaAmy Elsner NEGOTIATION
Mujtaba S PoquetteJapanOnyama Limba RENEWAL
Deepesh G GillianBrazilXuxue Feng QUALIFIED
Ashley R StensethArgentinaAsiya Javayant RENEWAL
Munro P StensethIndiaAsiya Javayant PROPOSAL
Costa T RulapaughAustraliaElwin Sharvill UNQUALIFIED
Jefferson S FlosiBrazilOnyama Limba PROPOSAL
Jennifer E DilliardBrazilElwin Sharvill RENEWAL
Maisha L VenereFranceStephen Shaw RENEWAL
Izzy H OldroydIndiaBernardo Dominic UNQUALIFIED
Salvatore C PerinUnited KingdomBernardo Dominic RENEWAL
Smith R BriddickFranceXuxue Feng PROPOSAL
Morrow D GlickArgentinaOnyama Limba NEW
Isabel W MaletGermanyIvan Magalhaes QUALIFIED
Nicolas Z BowleyArgentinaOnyama Limba RENEWAL
Aditya A SergiIndiaElwin Sharvill QUALIFIED
David P ChuiRussiaAsiya Javayant NEW
Salvatore W TollnerArgentinaIoni Bowcher PROPOSAL
Aruna L PaprockiUnited KingdomAnna Fali NEW
Aika X ShinkoIndiaStephen Shaw NEW
Smith V PaprockiJapanAmy Elsner RENEWAL
Maisha G MarrierGermanyOnyama Limba QUALIFIED
Murillo O FigeroaSpainIoni Bowcher PROPOSAL
Leon Q AlbaresJapanElwin Sharvill RENEWAL
Aditya Q PoquetteCanadaAsiya Javayant QUALIFIED
Arvin B MaletCanadaOnyama Limba QUALIFIED
Aika F SaylorsGermanyIvan Magalhaes UNQUALIFIED
Leon W StensethJapanAmy Elsner NEW
Costa W CaldareraItalyXuxue Feng QUALIFIED
Jones P StensethFranceAnna Fali RENEWAL
Rodrigues E AlbaresIndiaAnna Fali QUALIFIED
Nicolas R BowleySpainOnyama Limba QUALIFIED
Ashley B RutaJapanIvan Magalhaes PROPOSAL
Sinclair J BowleyItalyElwin Sharvill NEGOTIATION
Adams K MacleadBrazilOnyama Limba NEW
Nicolas I PoquetteRussiaOnyama Limba NEW
Wickens W GauchoUnited KingdomStephen Shaw NEGOTIATION
Wickens A ChuiJapanAsiya Javayant UNQUALIFIED
Clifford B CaldareraIndiaIoni Bowcher NEGOTIATION
Darci Z KuskoRussiaElwin Sharvill NEGOTIATION
Sinclair R GillianFranceIoni Bowcher QUALIFIED
Faith S StockhamIndiaBernardo Dominic NEGOTIATION
Chavez M TollnerCanadaElwin Sharvill QUALIFIED
Jeanfrancois R GillianSpainOnyama Limba NEW
Aika X SlusarskiUnited KingdomAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio L DoeArgentinaAsiya Javayant QUALIFIED
Jeanfrancois Y MorascaGermanyXuxue Feng NEGOTIATION
Misaki X BriddickFranceAsiya Javayant UNQUALIFIED
Emily M TollnerArgentinaAnna Fali PROPOSAL
Isabel T IturbideArgentinaElwin Sharvill PROPOSAL
Octavia F BriddickJapanBernardo Dominic RENEWAL
Ricardo T DilliardUnited KingdomAnna Fali PROPOSAL
Munro H StensethIndiaAmy Elsner NEGOTIATION
Misaki C DarakjyRussiaIvan Magalhaes NEGOTIATION
Francesco M MorascaBrazilAnna Fali NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily K DarakjyItaly2025-04-12Feltz Printing Service QUALIFIED86Asiya Javayant
1001Tony O NickaJapan2025-04-01Chanay, Jeffrey A Esq NEGOTIATION48Xuxue Feng
1002Kaitlin H CaldareraUnited Kingdom2025-04-18Feiner Bros UNQUALIFIED22Stephen Shaw
1003Izzy P InouyeGermany2025-04-17Feltz Printing Service QUALIFIED66Elwin Sharvill
1004Salvatore X RoysterSpain2025-04-04Benton, John B Jr QUALIFIED46Xuxue Feng
1005Claire Y GillianCanada2025-04-08Chemel, James L Cpa RENEWAL58Xuxue Feng
1006Salvatore U MaletUnited Kingdom2025-04-18Commercial Press QUALIFIED22Ioni Bowcher
1007Rodrigues P MacleadRussia2025-04-29King, Christopher A Esq RENEWAL19Anna Fali
1008James W KolmetzItaly2025-04-21Commercial Press QUALIFIED20Bernardo Dominic
1009Juan P ShinkoAustralia2025-04-13Morlong Associates UNQUALIFIED14Bernardo Dominic
1010Darci I SchemmerGermany2025-04-11Chemel, James L Cpa PROPOSAL4Stephen Shaw
1011Julie Y MacleadGermany2025-04-25Chemel, James L Cpa PROPOSAL74Elwin Sharvill
1012Leon D MarrierSpain2025-04-24Chanay, Jeffrey A Esq NEW20Amy Elsner
1013Silvio W SchemmerSpain2025-04-05Buckley Miller Wright UNQUALIFIED1Anna Fali
1014Greenwood C DoeGermany2025-04-16Chanay, Jeffrey A Esq RENEWAL73Stephen Shaw
1015Stacey S DoeCanada2025-04-11Rangoni Of Florence NEGOTIATION79Asiya Javayant
1016Stacey M StensethBrazil2025-04-04Rangoni Of Florence NEGOTIATION30Amy Elsner
1017Johnson C BologniaUnited Kingdom2025-04-16Benton, John B Jr RENEWAL2Asiya Javayant
1018Claire L MacleadArgentina2025-04-01Commercial Press NEW54Ivan Magalhaes
1019Mayumi M RimArgentina2025-04-27Rangoni Of Florence UNQUALIFIED38Amy Elsner
1020Clifford K VocelkaGermany2025-04-30Commercial Press UNQUALIFIED70Bernardo Dominic
1021Silvio I NestleCanada2025-04-26Chapman, Ross E Esq PROPOSAL18Elwin Sharvill
1022Jeanfrancois T GauchoUnited Kingdom2025-04-13Benton, John B Jr PROPOSAL74Anna Fali
1023Munro A WaycottItaly2025-04-06Chanay, Jeffrey A Esq NEW96Onyama Limba
1024Isabel A WieserCanada2025-04-21Rousseaux, Michael Esq UNQUALIFIED81Amy Elsner
1025Deepesh D VocelkaArgentina2025-04-07Feiner Bros UNQUALIFIED26Stephen Shaw
1026Salvatore X GlickIndia2025-04-14Commercial Press NEGOTIATION74Xuxue Feng
1027Wickens N IturbideFrance2025-04-29Dorl, James J Esq UNQUALIFIED32Stephen Shaw
1028Stacey F StockhamFrance2025-04-07Dorl, James J Esq RENEWAL41Anna Fali
1029Ashley Q CampainFrance2025-04-10Rangoni Of Florence NEGOTIATION18Stephen Shaw
1030Costa F NickaAustralia2025-04-04Commercial Press NEGOTIATION62Ioni Bowcher
1031Maria Q DoeUnited Kingdom2025-04-04Buckley Miller Wright PROPOSAL69Asiya Javayant
1032Maria B DoeArgentina2025-04-26Commercial Press RENEWAL23Stephen Shaw
1033Maria X PerinJapan2025-04-03Buckley Miller Wright NEW48Ioni Bowcher
1034Aruna Y NickaUnited Kingdom2025-04-23Dorl, James J Esq UNQUALIFIED18Xuxue Feng
1035Darci U DilliardFrance2025-04-13Morlong Associates RENEWAL51Onyama Limba
1036Claire M CaudyGermany2025-04-29Benton, John B Jr NEGOTIATION7Asiya Javayant
1037Aditya X OstroskyArgentina2025-04-02Morlong Associates PROPOSAL32Xuxue Feng
1038Leon R PaprockiSpain2025-04-07Commercial Press NEW39Ivan Magalhaes
1039Leon A NestleIndia2025-04-21Chanay, Jeffrey A Esq NEW75Ivan Magalhaes
1040Mayumi I BologniaAustralia2025-04-06King, Christopher A Esq NEW72Ioni Bowcher
1041Cody E MaletBrazil2025-04-09King, Christopher A Esq NEW41Ivan Magalhaes
1042Costa A FollerCanada2025-04-29Dorl, James J Esq NEW35Bernardo Dominic
1043Stacey O VenereRussia2025-04-13Truhlar And Truhlar Attys NEGOTIATION70Anna Fali
1044Murillo I SchemmerJapan2025-04-09Chanay, Jeffrey A Esq QUALIFIED35Stephen Shaw
1045Stacey J VenereIndia2025-04-22Morlong Associates NEW35Amy Elsner
1046Sinclair Y BologniaItaly2025-04-21Morlong Associates NEW6Ivan Magalhaes
1047Cody M FigeroaAustralia2025-04-12Morlong Associates UNQUALIFIED17Stephen Shaw
1048Faith R RoysterItaly2025-04-12Benton, John B Jr QUALIFIED71Onyama Limba
1049Tony K CampainUnited Kingdom2025-04-08Truhlar And Truhlar Attys NEGOTIATION28Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Greenwood Z KuskoIndiaElwin Sharvill UNQUALIFIED
Johnson Z RulapaughSpainOnyama Limba NEGOTIATION
Jefferson Z MorascaItalyStephen Shaw UNQUALIFIED
Munro F RimFranceBernardo Dominic UNQUALIFIED
Aruna D BologniaJapanAnna Fali PROPOSAL
Claire N RutaAustraliaIoni Bowcher UNQUALIFIED
Ricardo J BowleyGermanyElwin Sharvill PROPOSAL
Alejandro G GlickJapanAmy Elsner NEGOTIATION
Kaitlin P OldroydItalyXuxue Feng PROPOSAL
Deepesh I SchemmerArgentinaOnyama Limba NEGOTIATION
Cody K ChuiGermanyIvan Magalhaes NEW
Arvin L CampainItalyAnna Fali QUALIFIED
Kaitlin T StockhamItalyIvan Magalhaes RENEWAL
Faith Q WieserCanadaStephen Shaw UNQUALIFIED
Emily P DarakjySpainIoni Bowcher UNQUALIFIED
Misaki B InouyeFranceAnna Fali RENEWAL
Emily E WaycottGermanyStephen Shaw UNQUALIFIED
Sinclair A PoquetteBrazilXuxue Feng PROPOSAL
Leon C KolmetzArgentinaAmy Elsner RENEWAL
Jones E GauchoIndiaAmy Elsner NEGOTIATION
Octavia X StockhamCanadaStephen Shaw UNQUALIFIED
Maisha X WhobreyJapanBernardo Dominic QUALIFIED
Chavez H WaycottArgentinaOnyama Limba QUALIFIED
Alejandro W CaudyCanadaElwin Sharvill RENEWAL
Alejandro H FlosiJapanAmy Elsner PROPOSAL
Ivar G ShinkoIndiaAsiya Javayant UNQUALIFIED
Maisha P MacleadIndiaAnna Fali UNQUALIFIED
Costa D GarufiBrazilAmy Elsner UNQUALIFIED
Maisha L BologniaAustraliaOnyama Limba PROPOSAL
Maisha O SchemmerGermanyOnyama Limba NEGOTIATION
Isabel I FerenczArgentinaAmy Elsner RENEWAL
Silvio G CaldareraAustraliaStephen Shaw UNQUALIFIED
Tony D GauchoFranceElwin Sharvill QUALIFIED
Jennifer C AmigonIndiaIvan Magalhaes UNQUALIFIED
James J MorascaBrazilAmy Elsner NEGOTIATION
Leon N OldroydGermanyAsiya Javayant NEW
Maisha A WhobreyAustraliaAnna Fali UNQUALIFIED
Munro J RutaArgentinaAnna Fali PROPOSAL
Stacey H BologniaIndiaBernardo Dominic NEW
Stacey M SchemmerItalyAsiya Javayant NEGOTIATION
Johnson A AlbaresGermanyAnna Fali PROPOSAL
Mujtaba B BowleyAustraliaOnyama Limba PROPOSAL
Rodrigues V NestleUnited KingdomIvan Magalhaes NEW
Murillo W SchemmerItalyXuxue Feng PROPOSAL
Ivar A MaletArgentinaStephen Shaw NEW
Cody U PoquetteBrazilIvan Magalhaes NEGOTIATION
Munro Y RulapaughFranceAnna Fali NEW
Isabel X GarufiFranceAmy Elsner NEW
Rodrigues B PaprockiItalyIoni Bowcher QUALIFIED
Jennifer I VenereGermanyBernardo Dominic UNQUALIFIED
Frozen Columns
Name
Costa C Whobrey
Munro T Waycott
Mujtaba W Malet
Ricardo I Butt
Julie S Royster
Cody K Kusko
Salvatore X Albares
Jones R Saylors
Morrow K Marrier
Darci A Garufi
Jeanfrancois H Campain
Maisha T Glick
Stacey B Perin
Antonio R Oldroyd
Aika W Paprocki
Misaki P Ferencz
Juan M Wieser
Ashley T Saylors
Ashley B Bolognia
Ricardo Z Stenseth
Kaitlin I Caldarera
Juan W Wieser
Clifford E Inouye
Jones W Perin
Cody C Caudy
Greenwood D Royster
Sinclair F Ostrosky
David Z Tollner
Kadeem K Perin
Rodrigues J Stenseth
Clifford G Schemmer
Nicolas S Saylors
Chavez Z Marrier
Salvatore K Saylors
Johnson J Briddick
Arvin J Caudy
Costa G Rim
Izzy Z Rulapaugh
Silvio V Nicka
Morrow M Caldarera
Isabel M Garufi
Arvin K Rulapaugh
Salvatore C Nicka
Aditya C Malet
Tony B Dilliard
Tony E Briddick
Cody O Ruta
Ashley W Amigon
Maisha H Glick
Arvin E Tollner
IdCountryDate
1000Italy2025-04-26
1001France2025-04-30
1002Brazil2025-04-09
1003Canada2025-04-07
1004Canada2025-04-27
1005Argentina2025-04-25
1006Germany2025-04-16
1007Russia2025-04-01
1008Japan2025-04-18
1009Japan2025-04-19
1010Canada2025-04-23
1011Brazil2025-04-05
1012Germany2025-04-11
1013Australia2025-04-21
1014Spain2025-04-05
1015France2025-04-09
1016Brazil2025-04-24
1017Brazil2025-04-17
1018Brazil2025-04-09
1019France2025-04-18
1020United Kingdom2025-04-01
1021France2025-04-21
1022Canada2025-04-11
1023Japan2025-04-01
1024United Kingdom2025-04-27
1025Spain2025-04-06
1026United Kingdom2025-04-04
1027Australia2025-04-26
1028India2025-04-11
1029Argentina2025-04-11
1030Italy2025-04-07
1031United Kingdom2025-04-10
1032France2025-04-04
1033Australia2025-04-15
1034Canada2025-04-07
1035Australia2025-04-16
1036India2025-04-17
1037France2025-04-12
1038India2025-04-28
1039United Kingdom2025-04-26
1040Germany2025-04-06
1041India2025-04-05
1042France2025-04-08
1043India2025-04-13
1044Italy2025-04-22
1045Australia2025-04-17
1046Brazil2025-04-02
1047Australia2025-04-26
1048Germany2025-04-06
1049Italy2025-04-16

On-Demand Data

NameIdCountryDate
Leja T Briddick1000Canada2025-04-01
Clifford P Figeroa1001United Kingdom2025-04-10
Julie P Nicka1002India2025-04-02
Darci U Bolognia1003Canada2025-04-18
Jefferson E Malet1004Australia2025-04-25
Izzy G Inouye1005United Kingdom2025-04-01
Greenwood B Caldarera1006Australia2025-04-06
Isabel O Malet1007Italy2025-04-02
Leon V Caldarera1008Brazil2025-04-13
Aditya X Sergi1009Germany2025-04-24
Emily B Caldarera1010India2025-04-14
Izzy B Malet1011United Kingdom2025-04-25
Emily F Nicka1012Italy2025-04-25
Claire D Vocelka1013Canada2025-04-07
Darci S Kolmetz1014Russia2025-04-01
Alejandro E Dilliard1015Japan2025-04-08
Claire C Marrier1016Spain2025-04-19
Clifford P Royster1017France2025-04-10
Octavia S Chui1018Brazil2025-04-09
David L Dilliard1019United Kingdom2025-04-29
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Francesco I DilliardRussiaAsiya Javayant UNQUALIFIED
Maria F SchemmerArgentinaElwin Sharvill QUALIFIED
Mujtaba Z DilliardFranceIoni Bowcher NEGOTIATION
Emily V ButtRussiaIoni Bowcher RENEWAL
Isabel C WieserCanadaOnyama Limba NEGOTIATION
Aruna K FerenczAustraliaStephen Shaw QUALIFIED
James X CampainJapanAsiya Javayant NEGOTIATION
Leon I NestleArgentinaAsiya Javayant NEW
Wickens W KolmetzFranceAnna Fali QUALIFIED
Julie D StockhamGermanyElwin Sharvill PROPOSAL
Jennifer H OldroydSpainIvan Magalhaes PROPOSAL
David M DilliardCanadaXuxue Feng QUALIFIED
Alejandro S StensethBrazilIoni Bowcher UNQUALIFIED
David O ButtFranceIvan Magalhaes PROPOSAL
Emily E SchemmerBrazilIvan Magalhaes PROPOSAL
Rodrigues C FerenczSpainIoni Bowcher UNQUALIFIED
Juan J VocelkaGermanyStephen Shaw NEGOTIATION
Kadeem K ShinkoIndiaStephen Shaw QUALIFIED
Aruna T GillianUnited KingdomOnyama Limba NEW
Tony I FerenczArgentinaAnna Fali UNQUALIFIED
Rodrigues B ButtJapanAnna Fali UNQUALIFIED
Deepesh Q DilliardRussiaStephen Shaw NEW
Leja B FigeroaAustraliaAmy Elsner QUALIFIED
Leja D FlosiCanadaBernardo Dominic PROPOSAL
Chavez Y MacleadAustraliaIoni Bowcher QUALIFIED
Aika F GillianRussiaElwin Sharvill UNQUALIFIED
Kaitlin M PerinIndiaBernardo Dominic NEGOTIATION
Julie D VocelkaGermanyAmy Elsner NEGOTIATION
Emily U CampainIndiaStephen Shaw NEW
Smith N NickaItalyStephen Shaw RENEWAL
Nicolas A CaldareraRussiaIvan Magalhaes NEW
Johnson A VenereJapanAmy Elsner NEW
Julie W NickaJapanIvan Magalhaes NEW
Antonio J TollnerBrazilStephen Shaw NEW
Aika E StockhamSpainBernardo Dominic QUALIFIED
Jeanfrancois R ChuiIndiaAmy Elsner UNQUALIFIED
Johnson I MacleadIndiaIoni Bowcher NEGOTIATION
Ivar F RoysterIndiaBernardo Dominic QUALIFIED
Leon U KuskoUnited KingdomElwin Sharvill NEW
Murillo W MaletArgentinaXuxue Feng 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>