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
Faith Z FlosiItalyIvan Magalhaes QUALIFIED
Faith E AlbaresRussiaIvan Magalhaes NEGOTIATION
Francesco E GarufiSpainIoni Bowcher QUALIFIED
Johnson J RimJapanBernardo Dominic QUALIFIED
Munro T SchemmerGermanyOnyama Limba PROPOSAL
James R MaletFranceStephen Shaw RENEWAL
Jones U GarufiGermanyXuxue Feng NEGOTIATION
Alejandro B GillianCanadaElwin Sharvill QUALIFIED
Jefferson F InouyeIndiaIvan Magalhaes RENEWAL
Rodrigues R BriddickJapanAmy Elsner RENEWAL
Julie Y RulapaughBrazilBernardo Dominic QUALIFIED
Salvatore P GarufiGermanyAmy Elsner RENEWAL
Faith E OstroskySpainAmy Elsner NEW
Jones H FlosiItalyXuxue Feng RENEWAL
Arvin D FlosiSpainElwin Sharvill PROPOSAL
Aika U StockhamGermanyIvan Magalhaes UNQUALIFIED
Ivar J FollerIndiaAnna Fali RENEWAL
Izzy O SlusarskiCanadaAsiya Javayant QUALIFIED
Aika Y MorascaJapanAsiya Javayant NEW
Kaitlin H FerenczCanadaAnna Fali UNQUALIFIED
Rodrigues V SergiUnited KingdomXuxue Feng PROPOSAL
Antonio T ChuiFranceXuxue Feng PROPOSAL
Adams G WieserSpainAsiya Javayant RENEWAL
Ivar W MaletArgentinaElwin Sharvill RENEWAL
Tony D AmigonItalyBernardo Dominic PROPOSAL
Darci O FigeroaJapanIvan Magalhaes NEW
Ricardo D RoysterGermanyAsiya Javayant NEW
Kaitlin Q RoysterFranceAmy Elsner NEW
Antonio F MaletArgentinaAmy Elsner NEGOTIATION
Rodrigues D ButtArgentinaStephen Shaw QUALIFIED
Salvatore R KuskoItalyIoni Bowcher PROPOSAL
Alejandro D CaldareraArgentinaOnyama Limba PROPOSAL
Jeanfrancois O FigeroaSpainElwin Sharvill UNQUALIFIED
Emily T OstroskyItalyXuxue Feng NEW
Kaitlin S CaudyBrazilXuxue Feng UNQUALIFIED
Smith D GillianItalyAnna Fali RENEWAL
Ashley Z IturbideSpainOnyama Limba PROPOSAL
Arvin J IturbideGermanyOnyama Limba QUALIFIED
Arvin G AlbaresGermanyOnyama Limba UNQUALIFIED
Nicolas C StensethSpainIoni Bowcher RENEWAL
Ricardo W SchemmerGermanyXuxue Feng UNQUALIFIED
Emily F NestleBrazilIoni Bowcher NEGOTIATION
Maria Q KuskoCanadaAnna Fali QUALIFIED
Aruna C PoquetteBrazilBernardo Dominic UNQUALIFIED
Misaki M PaprockiArgentinaXuxue Feng PROPOSAL
Costa Q AmigonAustraliaAnna Fali PROPOSAL
Antonio A KolmetzRussiaOnyama Limba PROPOSAL
Salvatore T SaylorsItalyAsiya Javayant NEW
Isabel X WhobreyItalyAmy Elsner NEGOTIATION
Ashley W IturbideAustraliaAsiya Javayant QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Faith U VocelkaIndiaOnyama Limba RENEWAL
Morrow U NickaCanadaBernardo Dominic UNQUALIFIED
Sinclair D BriddickRussiaXuxue Feng PROPOSAL
Octavia S FlosiAustraliaElwin Sharvill UNQUALIFIED
Aruna V MorascaFranceIoni Bowcher NEGOTIATION
Maisha T PerinBrazilXuxue Feng RENEWAL
Jennifer D AmigonSpainOnyama Limba NEW
Isabel E MacleadAustraliaIoni Bowcher UNQUALIFIED
Ricardo M VenereBrazilStephen Shaw PROPOSAL
Munro S GarufiGermanyOnyama Limba RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Sinclair J ChuiIndia2024-06-17Printing Dimensions NEGOTIATION99Onyama Limba
1001Mujtaba I NestleBrazil2024-06-03Morlong Associates PROPOSAL65Ivan Magalhaes
1002Munro G StensethSpain2024-06-06Rangoni Of Florence RENEWAL18Onyama Limba
1003Deepesh Q DarakjyBrazil2024-06-15Dorl, James J Esq PROPOSAL71Asiya Javayant
1004Alejandro D PerinRussia2024-06-16King, Christopher A Esq QUALIFIED74Ivan Magalhaes
1005Nicolas J FigeroaJapan2024-05-27Commercial Press UNQUALIFIED58Stephen Shaw
1006Johnson J FlosiJapan2024-06-05Morlong Associates RENEWAL49Xuxue Feng
1007Sinclair Q SergiUnited Kingdom2024-06-08Buckley Miller Wright RENEWAL81Onyama Limba
1008Maria X PoquetteJapan2024-06-14Rousseaux, Michael Esq NEW75Stephen Shaw
1009Kadeem V FigeroaGermany2024-06-23Chemel, James L Cpa NEGOTIATION35Xuxue Feng
1010Leja L StockhamItaly2024-06-23Rousseaux, Michael Esq UNQUALIFIED11Anna Fali
1011Jennifer M SergiBrazil2024-06-10Rousseaux, Michael Esq NEW1Elwin Sharvill
1012Isabel N WhobreyJapan2024-06-13King, Christopher A Esq PROPOSAL45Bernardo Dominic
1013Maria Q StockhamCanada2024-05-26Truhlar And Truhlar Attys RENEWAL96Elwin Sharvill
1014David E CampainCanada2024-06-24Dorl, James J Esq NEGOTIATION80Onyama Limba
1015Arvin U TollnerArgentina2024-06-22Morlong Associates UNQUALIFIED44Ivan Magalhaes
1016Misaki M RulapaughGermany2024-06-16Dorl, James J Esq NEW9Bernardo Dominic
1017Ivar A AmigonRussia2024-06-07Printing Dimensions RENEWAL22Amy Elsner
1018Maisha W GauchoIndia2024-06-13Buckley Miller Wright NEGOTIATION55Amy Elsner
1019Costa P NickaSpain2024-06-12Buckley Miller Wright NEW84Elwin Sharvill
1020Clifford V DilliardCanada2024-06-24King, Christopher A Esq UNQUALIFIED86Anna Fali
1021Ricardo Y SergiAustralia2024-06-05Benton, John B Jr PROPOSAL77Bernardo Dominic
1022Jennifer D BriddickArgentina2024-06-15Printing Dimensions UNQUALIFIED65Onyama Limba
1023Claire W MorascaJapan2024-06-16Buckley Miller Wright QUALIFIED52Xuxue Feng
1024Jeanfrancois S DilliardUnited Kingdom2024-05-27Chanay, Jeffrey A Esq NEW4Anna Fali
1025Cody Q FerenczIndia2024-06-17Chapman, Ross E Esq RENEWAL76Ivan Magalhaes
1026Emily O StockhamUnited Kingdom2024-05-30Truhlar And Truhlar Attys NEW22Xuxue Feng
1027Smith G GarufiRussia2024-06-19Chapman, Ross E Esq RENEWAL49Stephen Shaw
1028Silvio Z DilliardArgentina2024-05-26Printing Dimensions NEGOTIATION50Amy Elsner
1029Smith T IturbideSpain2024-06-12Morlong Associates NEGOTIATION75Onyama Limba
1030Stacey J GillianFrance2024-06-13Chanay, Jeffrey A Esq QUALIFIED80Elwin Sharvill
1031Octavia A VocelkaIndia2024-06-18Printing Dimensions NEW76Elwin Sharvill
1032Jennifer F TollnerBrazil2024-06-18Chemel, James L Cpa PROPOSAL78Anna Fali
1033Mayumi V ChuiJapan2024-06-05Buckley Miller Wright NEW41Onyama Limba
1034Costa K PerinJapan2024-05-26Chemel, James L Cpa NEW92Elwin Sharvill
1035Mayumi Z BriddickAustralia2024-05-26Rousseaux, Michael Esq NEGOTIATION8Stephen Shaw
1036Chavez Z VenereArgentina2024-06-05Chapman, Ross E Esq NEW93Xuxue Feng
1037Isabel G StensethCanada2024-06-22Rangoni Of Florence PROPOSAL3Amy Elsner
1038Sinclair F IturbideItaly2024-06-24Chapman, Ross E Esq UNQUALIFIED32Elwin Sharvill
1039Claire T DoeFrance2024-06-12Morlong Associates UNQUALIFIED65Anna Fali
1040Kadeem G DilliardBrazil2024-06-10Chapman, Ross E Esq PROPOSAL53Asiya Javayant
1041Maria W StensethRussia2024-06-24King, Christopher A Esq PROPOSAL0Xuxue Feng
1042David Z IturbideSpain2024-05-29Dorl, James J Esq QUALIFIED75Elwin Sharvill
1043Cody I NestleJapan2024-06-19Chemel, James L Cpa NEW38Elwin Sharvill
1044Clifford W TollnerCanada2024-06-23Rangoni Of Florence PROPOSAL21Anna Fali
1045Jennifer O DarakjyIndia2024-06-07Truhlar And Truhlar Attys NEGOTIATION2Stephen Shaw
1046Leon Q BologniaFrance2024-06-14Chemel, James L Cpa UNQUALIFIED4Ivan Magalhaes
1047Emily L AmigonGermany2024-06-11Benton, John B Jr RENEWAL58Elwin Sharvill
1048Claire T ShinkoJapan2024-06-02Benton, John B Jr PROPOSAL76Amy Elsner
1049Leon S RutaUnited Kingdom2024-05-29Benton, John B Jr UNQUALIFIED25Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mujtaba L GarufiCanadaOnyama Limba NEGOTIATION
Tony R RulapaughArgentinaAnna Fali RENEWAL
David K BowleyArgentinaAnna Fali NEW
Mayumi A GlickSpainXuxue Feng QUALIFIED
Greenwood V MaletGermanyStephen Shaw RENEWAL
Rodrigues K GauchoItalyBernardo Dominic QUALIFIED
Jones Q VocelkaRussiaBernardo Dominic NEW
Ivar M DarakjyBrazilAsiya Javayant NEGOTIATION
Jones X PaprockiRussiaElwin Sharvill NEGOTIATION
Jones V GlickSpainAnna Fali NEGOTIATION
Sinclair B WaycottArgentinaAmy Elsner NEW
Murillo L NestleJapanElwin Sharvill RENEWAL
Rodrigues A KuskoFranceStephen Shaw QUALIFIED
Costa H CampainGermanyAmy Elsner QUALIFIED
Jones Q BriddickBrazilStephen Shaw RENEWAL
David I KolmetzArgentinaAmy Elsner UNQUALIFIED
Jones Z SchemmerSpainAmy Elsner UNQUALIFIED
Emily I WhobreyItalyOnyama Limba PROPOSAL
Ashley X WhobreyArgentinaAnna Fali UNQUALIFIED
Kadeem Q InouyeBrazilAmy Elsner PROPOSAL
Deepesh B WaycottIndiaOnyama Limba QUALIFIED
Kadeem I PaprockiJapanAnna Fali UNQUALIFIED
Stacey T CaldareraUnited KingdomStephen Shaw NEW
Aika X MarrierFranceBernardo Dominic UNQUALIFIED
Isabel H WieserJapanXuxue Feng UNQUALIFIED
David Q NickaIndiaElwin Sharvill RENEWAL
Emily O PoquetteCanadaIvan Magalhaes NEW
Johnson U StockhamArgentinaOnyama Limba QUALIFIED
Misaki S AmigonAustraliaAmy Elsner QUALIFIED
Salvatore R MaletCanadaElwin Sharvill RENEWAL
Rodrigues F KuskoCanadaAnna Fali UNQUALIFIED
Antonio O MorascaBrazilElwin Sharvill PROPOSAL
Greenwood D BowleyJapanAsiya Javayant RENEWAL
Cody Y KuskoArgentinaXuxue Feng NEW
James R MarrierGermanyIoni Bowcher NEW
Francesco V CampainJapanOnyama Limba NEGOTIATION
Clifford M WhobreyIndiaAnna Fali QUALIFIED
Julie E KolmetzItalyAnna Fali PROPOSAL
Antonio A PerinFranceElwin Sharvill PROPOSAL
Aruna E IturbideArgentinaElwin Sharvill QUALIFIED
Jennifer A KuskoJapanIoni Bowcher PROPOSAL
Cody O RulapaughGermanyOnyama Limba NEW
Kadeem C MaletIndiaXuxue Feng UNQUALIFIED
Maria Y FollerGermanyBernardo Dominic RENEWAL
Jeanfrancois G SlusarskiBrazilAnna Fali RENEWAL
Murillo E CaldareraCanadaBernardo Dominic NEGOTIATION
Mayumi D FlosiArgentinaAmy Elsner UNQUALIFIED
Costa J StockhamJapanOnyama Limba RENEWAL
Kaitlin I PaprockiGermanyAmy Elsner NEW
Sinclair C DilliardIndiaIoni Bowcher QUALIFIED
Frozen Columns
Name
Izzy F Rulapaugh
Cody N Poquette
Adams C Gaucho
Murillo X Caldarera
Jennifer L Tollner
Murillo C Tollner
Jennifer O Inouye
Munro R Gaucho
Julie J Saylors
Mayumi K Figeroa
Izzy J Inouye
Julie K Bolognia
Emily A Gaucho
Costa A Caudy
Morrow T Shinko
Nicolas K Perin
Murillo T Schemmer
Juan R Briddick
Darci E Morasca
Isabel T Bolognia
Mayumi I Caudy
Aika Z Flosi
Ashley U Slusarski
Kadeem M Caldarera
Aruna D Chui
Murillo Y Rim
Tony X Nicka
Ashley K Garufi
Stacey E Tollner
Murillo V Kusko
Jones A Nicka
Cody O Schemmer
Deepesh J Perin
Alejandro R Saylors
Aruna X Dilliard
Ricardo F Ostrosky
Ashley O Gillian
Tony X Bowley
Mayumi N Ferencz
Nicolas L Nicka
Maisha D Ferencz
Claire P Nicka
Misaki G Glick
Salvatore N Venere
Adams C Shinko
Kaitlin H Morasca
Chavez Q Malet
Adams F Stenseth
Julie R Inouye
Tony Y Garufi
IdCountryDate
1000India2024-06-21
1001France2024-06-09
1002Argentina2024-06-04
1003Brazil2024-06-20
1004India2024-05-28
1005Canada2024-06-15
1006United Kingdom2024-05-31
1007Japan2024-05-31
1008Germany2024-06-06
1009India2024-05-30
1010Germany2024-06-13
1011Russia2024-06-22
1012Italy2024-06-02
1013Canada2024-05-30
1014Russia2024-06-22
1015Italy2024-06-16
1016Canada2024-05-31
1017Argentina2024-05-27
1018France2024-06-04
1019Argentina2024-06-09
1020Spain2024-06-07
1021Germany2024-06-08
1022Japan2024-06-18
1023Argentina2024-06-03
1024Italy2024-06-19
1025France2024-06-07
1026Italy2024-06-20
1027Italy2024-05-27
1028Germany2024-06-20
1029Italy2024-06-24
1030United Kingdom2024-05-26
1031Russia2024-06-07
1032France2024-06-11
1033Canada2024-06-02
1034Canada2024-06-01
1035France2024-05-31
1036Russia2024-06-04
1037France2024-06-08
1038Japan2024-06-16
1039Germany2024-06-21
1040India2024-06-15
1041Russia2024-05-31
1042Canada2024-06-14
1043France2024-05-26
1044France2024-06-14
1045Canada2024-06-17
1046Germany2024-05-26
1047Spain2024-06-13
1048Russia2024-05-27
1049Australia2024-05-30

On-Demand Data

NameIdCountryDate
Isabel S Chui1000Germany2024-06-24
Misaki S Malet1001Germany2024-05-29
Deepesh R Poquette1002Brazil2024-06-04
Antonio J Paprocki1003India2024-06-14
Ricardo S Vocelka1004France2024-06-14
Clifford B Ostrosky1005Argentina2024-06-01
Stacey L Saylors1006Argentina2024-06-18
Smith D Nestle1007Australia2024-06-20
Morrow R Tollner1008India2024-06-18
Kadeem Y Inouye1009Australia2024-05-30
Rodrigues P Venere1010Japan2024-05-27
Kadeem D Dilliard1011Russia2024-06-09
Salvatore Q Kolmetz1012Italy2024-06-12
Maria G Slusarski1013Australia2024-06-03
David B Rim1014Japan2024-06-14
Aditya B Nestle1015United Kingdom2024-06-06
Stacey T Malet1016Spain2024-06-15
Clifford H Glick1017Japan2024-06-23
Cody Q Gaucho1018India2024-06-12
Octavia J Inouye1019Australia2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ricardo Q OstroskyFranceElwin Sharvill UNQUALIFIED
Munro F SlusarskiSpainAmy Elsner NEW
Kadeem D FerenczAustraliaXuxue Feng UNQUALIFIED
Claire Z CampainGermanyOnyama Limba UNQUALIFIED
Greenwood J GauchoFranceAnna Fali QUALIFIED
Izzy B SergiGermanyStephen Shaw NEW
Cody H WhobreyArgentinaBernardo Dominic PROPOSAL
Maria S BologniaArgentinaXuxue Feng UNQUALIFIED
Silvio F NestleItalyAnna Fali QUALIFIED
Tony A StockhamSpainAmy Elsner PROPOSAL
Salvatore P OstroskyUnited KingdomOnyama Limba NEW
Leon Y OstroskyUnited KingdomOnyama Limba UNQUALIFIED
Stacey J FigeroaIndiaBernardo Dominic RENEWAL
James C VenereFranceStephen Shaw QUALIFIED
Aditya X StensethGermanyIoni Bowcher NEGOTIATION
Ricardo U NestleCanadaStephen Shaw RENEWAL
David U PerinSpainElwin Sharvill RENEWAL
Antonio F MaletFranceXuxue Feng NEGOTIATION
Morrow V IturbideUnited KingdomAmy Elsner QUALIFIED
Wickens D BriddickItalyBernardo Dominic PROPOSAL
Wickens Z NickaBrazilXuxue Feng PROPOSAL
Antonio B GarufiRussiaIoni Bowcher UNQUALIFIED
Faith V ChuiUnited KingdomAmy Elsner NEGOTIATION
Aika W TollnerGermanyIvan Magalhaes NEGOTIATION
Jeanfrancois M FollerBrazilXuxue Feng UNQUALIFIED
Mujtaba B SergiRussiaIoni Bowcher PROPOSAL
Ricardo Z MorascaAustraliaAsiya Javayant PROPOSAL
Claire E GarufiArgentinaAnna Fali NEW
Juan T DoeSpainOnyama Limba NEGOTIATION
Claire A IturbideBrazilIvan Magalhaes UNQUALIFIED
Jeanfrancois S MaletJapanAmy Elsner QUALIFIED
Ivar H InouyeFranceStephen Shaw PROPOSAL
Chavez J InouyeCanadaIoni Bowcher QUALIFIED
Kadeem N FollerBrazilIvan Magalhaes PROPOSAL
Wickens P SergiSpainElwin Sharvill RENEWAL
Salvatore L MacleadFranceAmy Elsner PROPOSAL
Ivar D OldroydCanadaStephen Shaw NEW
Wickens J SlusarskiCanadaStephen Shaw NEW
Darci V FerenczUnited KingdomXuxue Feng NEW
Ashley A RutaGermanyAmy Elsner NEW

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