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
Isabel S MarrierItalyBernardo Dominic QUALIFIED
Leon I KuskoBrazilAmy Elsner PROPOSAL
Smith A GillianBrazilIvan Magalhaes NEW
Jennifer E TollnerGermanyElwin Sharvill UNQUALIFIED
Johnson C AlbaresBrazilStephen Shaw QUALIFIED
Aika X PoquetteJapanAmy Elsner NEW
Clifford T DarakjyUnited KingdomElwin Sharvill UNQUALIFIED
Murillo H DilliardJapanAmy Elsner QUALIFIED
Adams M FollerArgentinaIoni Bowcher NEW
Salvatore Z GillianCanadaBernardo Dominic PROPOSAL
Arvin G GauchoArgentinaIoni Bowcher QUALIFIED
Izzy F DarakjyUnited KingdomIoni Bowcher QUALIFIED
Silvio D IturbideFranceBernardo Dominic RENEWAL
Salvatore K MorascaGermanyAnna Fali UNQUALIFIED
Clifford Q SlusarskiFranceIvan Magalhaes RENEWAL
Octavia E MaletGermanyIvan Magalhaes QUALIFIED
Salvatore P IturbideBrazilAmy Elsner NEW
Sinclair U SergiUnited KingdomStephen Shaw PROPOSAL
Jefferson L PoquetteFranceStephen Shaw UNQUALIFIED
James K CampainArgentinaXuxue Feng NEW
Adams U WhobreyFranceOnyama Limba RENEWAL
David A MorascaFranceAsiya Javayant NEW
Izzy J BologniaBrazilIoni Bowcher RENEWAL
Aditya P FlosiFranceIvan Magalhaes UNQUALIFIED
Munro A CaldareraUnited KingdomAnna Fali QUALIFIED
Leja C MacleadJapanOnyama Limba PROPOSAL
Deepesh N DilliardFranceXuxue Feng UNQUALIFIED
David D DarakjyIndiaOnyama Limba PROPOSAL
Salvatore I MaletGermanyIvan Magalhaes UNQUALIFIED
Francesco Z MorascaFranceIoni Bowcher QUALIFIED
Aditya T KolmetzFranceXuxue Feng UNQUALIFIED
Cody H CaldareraArgentinaIoni Bowcher QUALIFIED
Mayumi R VenereSpainAsiya Javayant NEGOTIATION
Chavez M ButtRussiaXuxue Feng PROPOSAL
Juan B AmigonRussiaIoni Bowcher NEW
Maria Q InouyeCanadaAnna Fali QUALIFIED
Ricardo G ChuiItalyBernardo Dominic NEW
Tony C FerenczSpainIvan Magalhaes QUALIFIED
Darci T GillianArgentinaAsiya Javayant NEW
Ricardo P MaletAustraliaXuxue Feng NEW
Julie B FigeroaFranceBernardo Dominic UNQUALIFIED
David L CampainIndiaStephen Shaw RENEWAL
Ivar G KolmetzSpainAmy Elsner RENEWAL
Maria I StockhamCanadaAnna Fali NEGOTIATION
Leja E AmigonIndiaIoni Bowcher UNQUALIFIED
Aruna Q VenereUnited KingdomOnyama Limba PROPOSAL
Leon I ChuiCanadaIvan Magalhaes QUALIFIED
Francesco I NickaRussiaAmy Elsner UNQUALIFIED
Smith Y OstroskyGermanyAmy Elsner RENEWAL
Arvin L MorascaArgentinaAnna Fali NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Izzy Z GillianCanadaOnyama Limba QUALIFIED
Maria G VenereCanadaAmy Elsner RENEWAL
Leon C AmigonGermanyAmy Elsner PROPOSAL
Cody A KolmetzIndiaAsiya Javayant UNQUALIFIED
Silvio G SlusarskiUnited KingdomIvan Magalhaes UNQUALIFIED
Claire J WhobreyRussiaBernardo Dominic NEGOTIATION
Adams O IturbideIndiaElwin Sharvill NEW
Salvatore T BologniaAustraliaElwin Sharvill NEW
Costa F GillianRussiaElwin Sharvill QUALIFIED
Maria O GauchoCanadaStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem X FigeroaBrazil2024-06-06Morlong Associates PROPOSAL38Bernardo Dominic
1001Cody K AmigonGermany2024-05-25Rousseaux, Michael Esq NEGOTIATION86Ioni Bowcher
1002Clifford K ButtSpain2024-05-28Morlong Associates NEGOTIATION88Ioni Bowcher
1003Aruna R NestleBrazil2024-05-25Buckley Miller Wright RENEWAL38Elwin Sharvill
1004Costa M VocelkaFrance2024-05-23Chanay, Jeffrey A Esq QUALIFIED57Ioni Bowcher
1005Ashley M FigeroaIndia2024-05-28Rangoni Of Florence NEGOTIATION6Ioni Bowcher
1006Mayumi P NestleCanada2024-06-12Feiner Bros QUALIFIED45Xuxue Feng
1007Chavez O PoquetteIndia2024-06-15Rousseaux, Michael Esq NEGOTIATION74Elwin Sharvill
1008David J CampainSpain2024-06-05Truhlar And Truhlar Attys UNQUALIFIED74Stephen Shaw
1009Rodrigues M InouyeSpain2024-05-31Feltz Printing Service UNQUALIFIED59Bernardo Dominic
1010Misaki C PaprockiCanada2024-05-25Truhlar And Truhlar Attys NEW93Amy Elsner
1011Murillo F MorascaFrance2024-06-14King, Christopher A Esq UNQUALIFIED4Onyama Limba
1012Kaitlin Q SlusarskiBrazil2024-06-08Printing Dimensions PROPOSAL44Anna Fali
1013Cody S DilliardFrance2024-06-18Chemel, James L Cpa NEGOTIATION7Anna Fali
1014Jefferson X AmigonBrazil2024-06-06Printing Dimensions PROPOSAL54Amy Elsner
1015Munro V SergiRussia2024-06-14Truhlar And Truhlar Attys NEW63Amy Elsner
1016Misaki F WaycottBrazil2024-06-14Feltz Printing Service QUALIFIED48Elwin Sharvill
1017Alejandro W RimAustralia2024-06-12Printing Dimensions QUALIFIED24Stephen Shaw
1018Mujtaba I FollerUnited Kingdom2024-06-01Benton, John B Jr RENEWAL41Elwin Sharvill
1019Kaitlin D RutaFrance2024-06-20Truhlar And Truhlar Attys RENEWAL92Xuxue Feng
1020Julie E WhobreyBrazil2024-06-21Chanay, Jeffrey A Esq RENEWAL47Anna Fali
1021Jennifer K SlusarskiGermany2024-06-20King, Christopher A Esq PROPOSAL37Onyama Limba
1022Jeanfrancois R ChuiSpain2024-06-07Rousseaux, Michael Esq PROPOSAL27Ioni Bowcher
1023Morrow Q SergiArgentina2024-05-26Rousseaux, Michael Esq UNQUALIFIED89Asiya Javayant
1024Octavia V FlosiArgentina2024-06-11Chemel, James L Cpa UNQUALIFIED64Elwin Sharvill
1025Clifford R KuskoItaly2024-06-18Truhlar And Truhlar Attys PROPOSAL28Bernardo Dominic
1026Octavia Z FollerUnited Kingdom2024-06-11Chanay, Jeffrey A Esq NEGOTIATION67Amy Elsner
1027Julie M BriddickUnited Kingdom2024-06-21Benton, John B Jr NEW32Ioni Bowcher
1028James O VocelkaCanada2024-05-27Chanay, Jeffrey A Esq PROPOSAL56Amy Elsner
1029Munro J PerinCanada2024-06-17Benton, John B Jr NEGOTIATION90Amy Elsner
1030Mayumi Z InouyeSpain2024-05-28Truhlar And Truhlar Attys NEGOTIATION68Ioni Bowcher
1031Misaki W SaylorsFrance2024-06-08Printing Dimensions PROPOSAL10Ioni Bowcher
1032Rodrigues C TollnerGermany2024-05-25Rangoni Of Florence PROPOSAL64Amy Elsner
1033Emily J CaudyAustralia2024-05-31Rangoni Of Florence QUALIFIED94Ivan Magalhaes
1034Johnson G GauchoGermany2024-05-30Truhlar And Truhlar Attys NEW18Anna Fali
1035Ashley P TollnerFrance2024-05-25Printing Dimensions NEW43Bernardo Dominic
1036Kadeem Q GillianItaly2024-06-21Chapman, Ross E Esq NEW14Onyama Limba
1037Ivar G VenereCanada2024-06-17Morlong Associates UNQUALIFIED96Ioni Bowcher
1038Salvatore W SaylorsGermany2024-06-07Buckley Miller Wright RENEWAL15Amy Elsner
1039Izzy R RoysterIndia2024-06-21Chemel, James L Cpa QUALIFIED27Bernardo Dominic
1040Darci S AlbaresFrance2024-06-15Printing Dimensions RENEWAL7Asiya Javayant
1041Mujtaba T MacleadGermany2024-06-09Chanay, Jeffrey A Esq PROPOSAL3Bernardo Dominic
1042Kadeem F GarufiItaly2024-06-07Morlong Associates UNQUALIFIED86Ivan Magalhaes
1043Claire K WieserGermany2024-06-19Chapman, Ross E Esq PROPOSAL37Stephen Shaw
1044Isabel B RimUnited Kingdom2024-05-24Rangoni Of Florence PROPOSAL33Elwin Sharvill
1045Deepesh J VenereItaly2024-06-07Truhlar And Truhlar Attys PROPOSAL24Ivan Magalhaes
1046Ivar B SchemmerArgentina2024-06-15Chanay, Jeffrey A Esq NEGOTIATION7Anna Fali
1047Stacey D StockhamArgentina2024-06-10Rangoni Of Florence RENEWAL75Ivan Magalhaes
1048Ashley Q WhobreyItaly2024-06-18Truhlar And Truhlar Attys RENEWAL97Ivan Magalhaes
1049Isabel T InouyeBrazil2024-06-04Benton, John B Jr UNQUALIFIED63Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Jennifer G FerenczCanadaOnyama Limba PROPOSAL
Ivar A FollerIndiaIvan Magalhaes QUALIFIED
Juan H FerenczIndiaXuxue Feng PROPOSAL
Greenwood C SchemmerUnited KingdomAsiya Javayant QUALIFIED
Mujtaba B GlickGermanyOnyama Limba NEW
Julie K SaylorsIndiaElwin Sharvill NEGOTIATION
Rodrigues V NestleJapanBernardo Dominic QUALIFIED
Deepesh M VenereFranceBernardo Dominic UNQUALIFIED
Mujtaba L CampainAustraliaIoni Bowcher NEGOTIATION
Tony L KuskoCanadaElwin Sharvill RENEWAL
Cody N RoysterUnited KingdomBernardo Dominic PROPOSAL
Tony M RoysterUnited KingdomAsiya Javayant NEGOTIATION
Munro U FlosiItalyBernardo Dominic UNQUALIFIED
Kadeem A RoysterGermanyAnna Fali RENEWAL
Faith L WhobreyIndiaAmy Elsner NEW
Smith K StockhamFranceBernardo Dominic UNQUALIFIED
Claire D FerenczAustraliaBernardo Dominic NEW
Chavez W GauchoJapanStephen Shaw RENEWAL
Julie G VocelkaCanadaElwin Sharvill UNQUALIFIED
Adams N BriddickRussiaXuxue Feng NEGOTIATION
Costa T GauchoItalyOnyama Limba NEGOTIATION
Deepesh Y KolmetzUnited KingdomXuxue Feng PROPOSAL
Kadeem A GarufiFranceAnna Fali PROPOSAL
Julie X WieserFranceOnyama Limba RENEWAL
Rodrigues T KolmetzBrazilAnna Fali NEW
Arvin C RulapaughArgentinaStephen Shaw UNQUALIFIED
Silvio N WaycottItalyXuxue Feng PROPOSAL
Rodrigues L MaletCanadaElwin Sharvill NEGOTIATION
Clifford U PoquetteArgentinaOnyama Limba RENEWAL
Ricardo M SchemmerCanadaOnyama Limba UNQUALIFIED
Arvin R TollnerAustraliaXuxue Feng PROPOSAL
Leja W KolmetzCanadaOnyama Limba NEW
Tony R PoquetteArgentinaAsiya Javayant NEW
Kaitlin I BriddickSpainIvan Magalhaes NEW
Morrow T SergiGermanyBernardo Dominic RENEWAL
Claire I CaldareraFranceXuxue Feng RENEWAL
Faith O CaldareraBrazilXuxue Feng UNQUALIFIED
Ivar S AlbaresCanadaBernardo Dominic QUALIFIED
Jefferson K WaycottGermanyIvan Magalhaes RENEWAL
Tony H FollerCanadaAsiya Javayant UNQUALIFIED
Smith H SlusarskiArgentinaOnyama Limba QUALIFIED
James R WieserUnited KingdomStephen Shaw PROPOSAL
Francesco E InouyeIndiaStephen Shaw UNQUALIFIED
Salvatore C WhobreyItalyElwin Sharvill UNQUALIFIED
Misaki W RimRussiaIvan Magalhaes RENEWAL
Ricardo L MacleadUnited KingdomAnna Fali QUALIFIED
Izzy P PaprockiGermanyAnna Fali UNQUALIFIED
Jefferson M MaletItalyXuxue Feng NEW
Isabel C RulapaughIndiaStephen Shaw NEGOTIATION
Aruna C GlickCanadaAsiya Javayant NEGOTIATION
Frozen Columns
Name
Greenwood O Amigon
Darci R Schemmer
Francesco K Stockham
Ivar G Morasca
Deepesh E Wieser
Smith L Inouye
Darci G Briddick
Maria X Garufi
Leon B Glick
Wickens P Oldroyd
Aika V Flosi
Jones L Inouye
Jennifer I Perin
Leon E Vocelka
Costa L Malet
Darci L Darakjy
Chavez T Albares
Wickens H Paprocki
Misaki N Shinko
Silvio I Garufi
Julie M Poquette
Aditya O Slusarski
Aika R Perin
Clifford J Bowley
Adams G Waycott
Darci T Campain
Mayumi L Shinko
Deepesh B Morasca
Tony O Amigon
Octavia K Ferencz
Claire Q Caudy
David F Nicka
Ashley U Albares
Faith C Briddick
Clifford O Whobrey
Kaitlin A Amigon
Julie H Garufi
Juan S Darakjy
Mayumi Y Saylors
Ivar Z Ostrosky
Silvio Y Royster
Aditya D Kusko
Salvatore B Foller
Maisha D Iturbide
Aika H Figeroa
Mayumi X Schemmer
Morrow N Malet
Silvio E Figeroa
Maisha M Dilliard
Sinclair Z Wieser
IdCountryDate
1000Germany2024-06-21
1001Spain2024-05-28
1002Australia2024-06-02
1003France2024-06-21
1004Italy2024-05-26
1005India2024-06-19
1006Australia2024-06-20
1007France2024-05-24
1008India2024-06-05
1009Japan2024-05-24
1010United Kingdom2024-06-11
1011Japan2024-05-26
1012Japan2024-06-04
1013Brazil2024-05-29
1014India2024-05-24
1015Germany2024-06-13
1016Spain2024-06-11
1017Spain2024-06-08
1018Germany2024-06-01
1019France2024-05-27
1020France2024-06-09
1021Argentina2024-06-20
1022Spain2024-06-12
1023United Kingdom2024-06-16
1024Brazil2024-06-15
1025France2024-05-26
1026Argentina2024-06-17
1027Japan2024-06-07
1028Germany2024-06-19
1029Russia2024-06-01
1030Russia2024-06-17
1031United Kingdom2024-06-01
1032Brazil2024-06-15
1033Germany2024-06-08
1034Italy2024-06-14
1035Russia2024-05-29
1036Canada2024-05-31
1037Japan2024-05-29
1038India2024-06-04
1039France2024-06-13
1040France2024-06-15
1041Brazil2024-06-06
1042Australia2024-05-29
1043Brazil2024-06-14
1044Russia2024-06-11
1045Argentina2024-06-11
1046India2024-06-07
1047Brazil2024-05-23
1048France2024-05-25
1049United Kingdom2024-06-21

On-Demand Data

NameIdCountryDate
Munro W Royster1000India2024-06-14
Deepesh V Oldroyd1001Japan2024-06-21
Julie G Nestle1002France2024-06-18
Rodrigues B Rim1003Australia2024-06-19
Antonio D Oldroyd1004Spain2024-06-07
Clifford O Rulapaugh1005United Kingdom2024-05-25
Morrow R Paprocki1006Russia2024-06-14
Julie E Iturbide1007Italy2024-06-01
Deepesh G Waycott1008United Kingdom2024-06-16
Silvio G Poquette1009India2024-06-11
Izzy W Venere1010Canada2024-06-16
Tony U Oldroyd1011Argentina2024-05-27
David Y Glick1012France2024-06-05
Misaki Y Flosi1013Germany2024-06-10
Jeanfrancois Z Iturbide1014France2024-06-10
Francesco B Albares1015Italy2024-06-17
Aika N Kusko1016Argentina2024-06-21
Clifford V Maclead1017Argentina2024-06-04
Costa Q Ostrosky1018Italy2024-06-01
Adams Z Stenseth1019Argentina2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jefferson B VenereIndiaIvan Magalhaes NEW
Mujtaba I GarufiRussiaElwin Sharvill PROPOSAL
Nicolas V MarrierCanadaAsiya Javayant PROPOSAL
Maisha Z ButtItalyBernardo Dominic QUALIFIED
Leon K AmigonIndiaAmy Elsner NEGOTIATION
Nicolas W SlusarskiRussiaAmy Elsner RENEWAL
Munro D RulapaughBrazilAsiya Javayant RENEWAL
Aditya D BowleyAustraliaStephen Shaw NEGOTIATION
Emily E OldroydIndiaBernardo Dominic NEW
Silvio N DilliardGermanyXuxue Feng RENEWAL
Octavia F TollnerAustraliaXuxue Feng NEGOTIATION
Tony P CampainItalyStephen Shaw QUALIFIED
Faith H PaprockiIndiaElwin Sharvill UNQUALIFIED
Julie E PaprockiCanadaBernardo Dominic UNQUALIFIED
Leja T MaletFranceBernardo Dominic NEW
Isabel D FigeroaUnited KingdomIoni Bowcher PROPOSAL
Deepesh V PaprockiSpainAsiya Javayant NEW
Chavez Q MaletArgentinaAnna Fali NEGOTIATION
Misaki E FerenczItalyIoni Bowcher RENEWAL
Francesco L DilliardFranceAnna Fali NEGOTIATION
Wickens I DilliardAustraliaStephen Shaw NEGOTIATION
Ricardo G AmigonCanadaIvan Magalhaes PROPOSAL
Isabel V BriddickFranceBernardo Dominic NEGOTIATION
Kadeem U RulapaughAustraliaIoni Bowcher UNQUALIFIED
Leon F SaylorsJapanElwin Sharvill RENEWAL
Jeanfrancois J RimSpainAmy Elsner QUALIFIED
James W SaylorsBrazilIoni Bowcher NEGOTIATION
Murillo O OldroydFranceAmy Elsner PROPOSAL
Faith U DilliardCanadaStephen Shaw NEW
Stacey A KuskoCanadaOnyama Limba UNQUALIFIED
Octavia D VocelkaIndiaOnyama Limba NEW
Sinclair Y OstroskyIndiaAsiya Javayant QUALIFIED
Ivar G GlickItalyIoni Bowcher QUALIFIED
Izzy L CaudyBrazilAnna Fali NEGOTIATION
Isabel T GlickAustraliaXuxue Feng RENEWAL
Ricardo H WaycottIndiaStephen Shaw NEGOTIATION
Misaki P PerinFranceAmy Elsner NEGOTIATION
Johnson E PaprockiBrazilAnna Fali RENEWAL
Smith S RutaGermanyBernardo Dominic PROPOSAL
Arvin I IturbideJapanXuxue Feng 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>