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
Arvin U BriddickBrazilAsiya Javayant NEGOTIATION
Izzy Q InouyeGermanyElwin Sharvill NEW
Deepesh M RutaRussiaAnna Fali NEGOTIATION
Leon S SergiIndiaStephen Shaw QUALIFIED
Misaki R GarufiItalyStephen Shaw QUALIFIED
Arvin R KuskoAustraliaOnyama Limba PROPOSAL
Stacey K StensethGermanyAmy Elsner NEGOTIATION
Jennifer N CampainUnited KingdomOnyama Limba NEGOTIATION
Sinclair P MaletCanadaAsiya Javayant PROPOSAL
Ivar W GarufiItalyIvan Magalhaes UNQUALIFIED
Sinclair K WhobreyItalyAnna Fali RENEWAL
Jeanfrancois A SergiJapanXuxue Feng RENEWAL
Deepesh C BriddickAustraliaXuxue Feng PROPOSAL
Claire H VocelkaGermanyBernardo Dominic QUALIFIED
Octavia F BowleyJapanAmy Elsner RENEWAL
Tony F ChuiGermanyAnna Fali NEW
Maisha M StockhamRussiaBernardo Dominic QUALIFIED
Clifford V GarufiItalyIoni Bowcher UNQUALIFIED
Kadeem P GauchoGermanyAmy Elsner QUALIFIED
David E MarrierBrazilStephen Shaw PROPOSAL
Ashley E StockhamRussiaIoni Bowcher QUALIFIED
David H MorascaUnited KingdomIvan Magalhaes QUALIFIED
Costa C CampainFranceIoni Bowcher PROPOSAL
Leon R VocelkaCanadaIvan Magalhaes RENEWAL
David I OstroskyRussiaOnyama Limba RENEWAL
Rodrigues B GarufiUnited KingdomAnna Fali NEGOTIATION
Faith T BologniaFranceAmy Elsner RENEWAL
Deepesh N NestleArgentinaAnna Fali PROPOSAL
Silvio W ChuiAustraliaAmy Elsner QUALIFIED
Aditya T DarakjyBrazilElwin Sharvill PROPOSAL
Jennifer O RoysterGermanyAmy Elsner UNQUALIFIED
Maria I IturbideArgentinaAsiya Javayant QUALIFIED
Clifford D FerenczItalyIvan Magalhaes NEW
Alejandro M TollnerAustraliaAnna Fali PROPOSAL
Silvio N MorascaIndiaAsiya Javayant QUALIFIED
Aditya F PerinSpainIoni Bowcher QUALIFIED
Munro S DoeCanadaOnyama Limba NEW
Sinclair J VocelkaCanadaAsiya Javayant PROPOSAL
Tony J VocelkaSpainIvan Magalhaes NEW
Maisha H PoquetteJapanAnna Fali QUALIFIED
David O MaletFranceStephen Shaw RENEWAL
Tony F FlosiBrazilAnna Fali NEW
Stacey C MacleadJapanOnyama Limba PROPOSAL
Leja V RimCanadaXuxue Feng UNQUALIFIED
Clifford R FollerFranceBernardo Dominic NEW
Costa Z FerenczAustraliaElwin Sharvill UNQUALIFIED
James I GauchoJapanAsiya Javayant NEW
Stacey R FlosiAustraliaAsiya Javayant PROPOSAL
Maria R MaletSpainIoni Bowcher PROPOSAL
Costa Q GlickItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Julie M CaldareraSpainXuxue Feng NEGOTIATION
Deepesh V MaletSpainAsiya Javayant RENEWAL
Jones U StensethAustraliaStephen Shaw RENEWAL
Julie V SchemmerAustraliaElwin Sharvill NEGOTIATION
David O ChuiIndiaOnyama Limba NEW
Adams J IturbideGermanyElwin Sharvill NEGOTIATION
Morrow I DoeRussiaAsiya Javayant NEGOTIATION
Maria K RutaRussiaIvan Magalhaes UNQUALIFIED
Salvatore F SchemmerFranceAsiya Javayant NEGOTIATION
Chavez R NickaFranceXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Alejandro A StensethItaly2024-06-01Rangoni Of Florence UNQUALIFIED55Asiya Javayant
1001Maisha W DoeItaly2024-06-08Printing Dimensions PROPOSAL54Onyama Limba
1002Mayumi C MacleadBrazil2024-06-12Morlong Associates NEGOTIATION54Anna Fali
1003Clifford Y StockhamSpain2024-06-06Rangoni Of Florence UNQUALIFIED91Bernardo Dominic
1004Alejandro W KuskoArgentina2024-06-07Morlong Associates UNQUALIFIED63Ioni Bowcher
1005Munro V FerenczItaly2024-05-21Feiner Bros NEW94Bernardo Dominic
1006Francesco Q GarufiIndia2024-05-28Commercial Press NEGOTIATION25Anna Fali
1007Smith M GauchoUnited Kingdom2024-05-24Commercial Press RENEWAL57Onyama Limba
1008Ricardo N SlusarskiRussia2024-05-16Dorl, James J Esq QUALIFIED1Anna Fali
1009Ricardo B DarakjyFrance2024-06-10Printing Dimensions QUALIFIED5Elwin Sharvill
1010Claire Q SaylorsIndia2024-05-18Chanay, Jeffrey A Esq PROPOSAL83Xuxue Feng
1011Octavia J TollnerItaly2024-06-13Printing Dimensions NEGOTIATION62Bernardo Dominic
1012Aditya B VenereArgentina2024-05-16Benton, John B Jr NEW10Asiya Javayant
1013Ricardo U GauchoUnited Kingdom2024-06-14Buckley Miller Wright QUALIFIED18Asiya Javayant
1014Antonio Z PoquetteFrance2024-06-07Benton, John B Jr PROPOSAL7Bernardo Dominic
1015Arvin V SchemmerUnited Kingdom2024-06-03Morlong Associates UNQUALIFIED81Bernardo Dominic
1016Maisha G CaldareraSpain2024-05-21Chapman, Ross E Esq PROPOSAL25Ioni Bowcher
1017Johnson Z StockhamArgentina2024-05-24Chemel, James L Cpa NEW95Elwin Sharvill
1018Aika D InouyeJapan2024-05-16Dorl, James J Esq RENEWAL14Amy Elsner
1019Octavia K ChuiUnited Kingdom2024-06-09Buckley Miller Wright QUALIFIED86Elwin Sharvill
1020David X BowleyGermany2024-05-31Benton, John B Jr UNQUALIFIED52Stephen Shaw
1021Morrow T CaldareraArgentina2024-06-02Chanay, Jeffrey A Esq UNQUALIFIED75Ioni Bowcher
1022Jefferson Q RoysterCanada2024-05-29Rangoni Of Florence UNQUALIFIED14Onyama Limba
1023Jennifer T BowleyBrazil2024-05-28Chemel, James L Cpa RENEWAL84Elwin Sharvill
1024Emily N ChuiSpain2024-06-05Commercial Press NEW6Stephen Shaw
1025Tony L CampainArgentina2024-06-09Dorl, James J Esq RENEWAL74Asiya Javayant
1026Tony L VenereJapan2024-05-23Benton, John B Jr PROPOSAL86Ivan Magalhaes
1027Munro S KolmetzBrazil2024-06-04King, Christopher A Esq UNQUALIFIED51Anna Fali
1028Alejandro U FigeroaCanada2024-06-09Chanay, Jeffrey A Esq QUALIFIED8Anna Fali
1029Deepesh M KuskoRussia2024-06-02King, Christopher A Esq NEGOTIATION49Onyama Limba
1030Jefferson Q SaylorsBrazil2024-05-19Morlong Associates RENEWAL95Xuxue Feng
1031Darci K AmigonIndia2024-05-21Rangoni Of Florence PROPOSAL29Elwin Sharvill
1032Adams B PerinUnited Kingdom2024-05-19Dorl, James J Esq NEGOTIATION67Ivan Magalhaes
1033Jefferson A SaylorsArgentina2024-06-10Dorl, James J Esq NEW53Anna Fali
1034Rodrigues P OstroskyRussia2024-05-17Feiner Bros RENEWAL19Asiya Javayant
1035Mujtaba G RulapaughSpain2024-06-01Commercial Press RENEWAL67Anna Fali
1036Misaki Z ShinkoCanada2024-06-10Truhlar And Truhlar Attys UNQUALIFIED64Onyama Limba
1037Rodrigues T MorascaArgentina2024-06-11Truhlar And Truhlar Attys UNQUALIFIED37Elwin Sharvill
1038Morrow L WhobreyJapan2024-06-13Commercial Press NEGOTIATION61Ioni Bowcher
1039Mujtaba K KolmetzFrance2024-06-02Benton, John B Jr NEW25Xuxue Feng
1040Faith J BriddickCanada2024-06-05Buckley Miller Wright UNQUALIFIED58Amy Elsner
1041Cody R SaylorsIndia2024-05-21Buckley Miller Wright NEW43Stephen Shaw
1042Julie Y RimGermany2024-05-27Buckley Miller Wright PROPOSAL95Stephen Shaw
1043Rodrigues I FollerSpain2024-05-28Buckley Miller Wright PROPOSAL44Ivan Magalhaes
1044Costa S OstroskyBrazil2024-06-13Chapman, Ross E Esq UNQUALIFIED69Elwin Sharvill
1045Aika V AmigonItaly2024-05-24Dorl, James J Esq RENEWAL54Stephen Shaw
1046Stacey F CampainUnited Kingdom2024-06-10Rousseaux, Michael Esq UNQUALIFIED36Amy Elsner
1047Alejandro V GlickSpain2024-05-18King, Christopher A Esq NEW35Elwin Sharvill
1048Tony U TollnerUnited Kingdom2024-05-28Dorl, James J Esq QUALIFIED94Stephen Shaw
1049Leon P CaldareraFrance2024-05-30King, Christopher A Esq RENEWAL3Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Clifford J WhobreySpainAnna Fali NEGOTIATION
Tony M MacleadAustraliaElwin Sharvill UNQUALIFIED
Francesco P GillianItalyOnyama Limba UNQUALIFIED
Greenwood C SergiRussiaElwin Sharvill PROPOSAL
Adams D GillianJapanAsiya Javayant NEW
Misaki Z FollerBrazilAsiya Javayant QUALIFIED
Claire G NestleRussiaIoni Bowcher PROPOSAL
Leon O MaletIndiaIvan Magalhaes PROPOSAL
Isabel C MorascaJapanElwin Sharvill NEW
Octavia M StensethCanadaAnna Fali NEW
Jeanfrancois O RulapaughFranceBernardo Dominic RENEWAL
Darci C AmigonFranceOnyama Limba PROPOSAL
Cody S CaudyFranceElwin Sharvill PROPOSAL
Johnson J VocelkaFranceIoni Bowcher NEW
Kadeem W PerinBrazilAmy Elsner RENEWAL
Octavia C GlickCanadaAmy Elsner NEW
Darci R PoquetteFranceBernardo Dominic UNQUALIFIED
Morrow Z InouyeCanadaOnyama Limba NEGOTIATION
Emily N WieserGermanyBernardo Dominic NEGOTIATION
Wickens P MarrierArgentinaElwin Sharvill RENEWAL
Costa F NickaSpainAmy Elsner QUALIFIED
Juan A IturbideIndiaBernardo Dominic RENEWAL
Isabel C MaletArgentinaIvan Magalhaes NEW
Izzy H DilliardUnited KingdomElwin Sharvill QUALIFIED
Kadeem Z WaycottCanadaOnyama Limba QUALIFIED
Costa U AlbaresJapanAsiya Javayant PROPOSAL
Darci Y MaletGermanyOnyama Limba RENEWAL
Leon R FlosiIndiaXuxue Feng UNQUALIFIED
Nicolas U RulapaughSpainIoni Bowcher NEGOTIATION
Smith I MaletGermanyIvan Magalhaes PROPOSAL
Leja G GauchoArgentinaAsiya Javayant RENEWAL
Aruna B FlosiCanadaOnyama Limba QUALIFIED
Aruna S OldroydAustraliaBernardo Dominic UNQUALIFIED
Antonio K SaylorsSpainOnyama Limba NEW
Misaki D WhobreyAustraliaBernardo Dominic UNQUALIFIED
Antonio U RoysterFranceOnyama Limba PROPOSAL
Tony X MaletAustraliaIvan Magalhaes RENEWAL
Aditya R SchemmerRussiaElwin Sharvill QUALIFIED
Nicolas L RoysterArgentinaIoni Bowcher RENEWAL
Darci B MacleadItalyAsiya Javayant UNQUALIFIED
Sinclair A GillianGermanyXuxue Feng NEW
Adams J FlosiJapanXuxue Feng UNQUALIFIED
Johnson P OstroskyGermanyIvan Magalhaes UNQUALIFIED
Arvin O CaldareraSpainElwin Sharvill QUALIFIED
Aruna Y FerenczAustraliaAsiya Javayant NEW
Ivar M GauchoUnited KingdomElwin Sharvill NEGOTIATION
Leja T MorascaFranceAmy Elsner NEGOTIATION
Jennifer X TollnerAustraliaBernardo Dominic PROPOSAL
Costa V VenereJapanElwin Sharvill RENEWAL
Wickens J KolmetzGermanyStephen Shaw PROPOSAL
Frozen Columns
Name
Jeanfrancois V Slusarski
Izzy V Ruta
Octavia K Gillian
Jefferson A Chui
Aika W Bowley
Antonio L Campain
Clifford Y Ferencz
Ashley E Stenseth
Leon O Darakjy
Arvin A Butt
Sinclair E Saylors
Juan L Morasca
Rodrigues Y Rim
Jeanfrancois R Ruta
Adams P Darakjy
Leon D Chui
Salvatore G Maclead
Nicolas D Stenseth
Rodrigues T Garufi
Claire A Doe
Julie D Figeroa
Kaitlin D Inouye
Salvatore N Darakjy
Antonio X Oldroyd
Aika F Ruta
Wickens M Nestle
Julie L Waycott
Darci Q Nicka
Clifford A Rim
Chavez D Bowley
Isabel S Stockham
Arvin S Malet
Mayumi C Iturbide
Adams Q Garufi
Johnson K Waycott
Salvatore R Stenseth
Mayumi A Royster
Rodrigues X Tollner
Isabel P Wieser
Emily B Ruta
Octavia N Gaucho
Francesco E Stenseth
Izzy W Ruta
Ricardo M Venere
Salvatore P Gillian
Ricardo G Oldroyd
Aruna G Ruta
Julie K Inouye
Adams M Ruta
Jones P Iturbide
IdCountryDate
1000Germany2024-05-21
1001Spain2024-06-04
1002Spain2024-05-31
1003Russia2024-06-12
1004Russia2024-05-27
1005Brazil2024-06-10
1006United Kingdom2024-05-18
1007Italy2024-05-17
1008Brazil2024-05-31
1009India2024-05-28
1010United Kingdom2024-05-17
1011France2024-06-07
1012Argentina2024-06-11
1013Japan2024-05-20
1014Spain2024-05-30
1015Japan2024-05-31
1016Spain2024-06-05
1017Australia2024-06-05
1018Spain2024-05-24
1019Italy2024-06-10
1020France2024-06-08
1021Spain2024-06-02
1022Canada2024-06-03
1023Australia2024-06-10
1024Brazil2024-06-13
1025Canada2024-06-03
1026India2024-05-30
1027Brazil2024-05-18
1028France2024-05-17
1029France2024-05-22
1030United Kingdom2024-05-18
1031Australia2024-05-23
1032Germany2024-05-22
1033Germany2024-06-05
1034Russia2024-06-03
1035Italy2024-05-31
1036Spain2024-06-01
1037Canada2024-05-24
1038Canada2024-06-02
1039India2024-05-17
1040Russia2024-06-10
1041United Kingdom2024-06-07
1042India2024-06-03
1043Japan2024-06-14
1044Germany2024-05-25
1045Japan2024-05-31
1046India2024-06-01
1047Canada2024-05-29
1048United Kingdom2024-06-01
1049Russia2024-06-05

On-Demand Data

NameIdCountryDate
Julie Q Stenseth1000Germany2024-06-11
Cody Q Ostrosky1001France2024-05-25
Silvio M Nicka1002Brazil2024-05-24
Mayumi J Caldarera1003Japan2024-05-27
Octavia K Foller1004Australia2024-05-23
Mayumi Z Malet1005Australia2024-06-04
Mujtaba A Inouye1006Argentina2024-06-11
Deepesh F Amigon1007Canada2024-05-20
Faith V Perin1008Germany2024-06-02
Jeanfrancois Q Figeroa1009Germany2024-06-04
Salvatore J Bowley1010Russia2024-05-28
Julie U Paprocki1011United Kingdom2024-05-21
Tony R Darakjy1012Argentina2024-05-16
Morrow U Shinko1013Japan2024-05-30
Francesco C Maclead1014Italy2024-06-06
Murillo N Oldroyd1015Italy2024-05-16
Munro W Perin1016United Kingdom2024-06-11
Adams G Kolmetz1017Japan2024-06-06
Izzy D Foller1018Australia2024-05-31
Rodrigues P Darakjy1019France2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Izzy X ButtGermanyAnna Fali RENEWAL
Rodrigues B InouyeSpainAnna Fali PROPOSAL
Aika I PerinAustraliaOnyama Limba NEGOTIATION
Nicolas B ShinkoIndiaIoni Bowcher NEW
Adams P GauchoGermanyBernardo Dominic UNQUALIFIED
Jennifer U GauchoSpainIvan Magalhaes QUALIFIED
Kadeem Q RutaAustraliaElwin Sharvill NEW
Claire S CaldareraGermanyAnna Fali QUALIFIED
Aruna V AmigonJapanAmy Elsner NEW
Isabel G OldroydBrazilAmy Elsner PROPOSAL
Sinclair A IturbideAustraliaXuxue Feng UNQUALIFIED
Kadeem Y OldroydAustraliaAsiya Javayant UNQUALIFIED
Chavez E RimItalyAnna Fali PROPOSAL
Arvin T DilliardArgentinaAnna Fali RENEWAL
Kadeem P StensethFranceBernardo Dominic QUALIFIED
Maisha H MorascaAustraliaBernardo Dominic NEGOTIATION
Claire C StockhamGermanyBernardo Dominic QUALIFIED
Jennifer A RutaFranceStephen Shaw NEW
Johnson Q WhobreyItalyAmy Elsner PROPOSAL
Greenwood Y GarufiFranceIvan Magalhaes QUALIFIED
Maisha N SchemmerJapanOnyama Limba PROPOSAL
Costa I InouyeRussiaAnna Fali UNQUALIFIED
Jones G KolmetzGermanyIoni Bowcher RENEWAL
Juan I NestleBrazilIvan Magalhaes NEGOTIATION
Leon D DoeAustraliaAsiya Javayant QUALIFIED
Deepesh L CaudyRussiaBernardo Dominic QUALIFIED
Antonio P KolmetzUnited KingdomAmy Elsner PROPOSAL
Rodrigues Q TollnerArgentinaBernardo Dominic NEW
Misaki Y PerinArgentinaBernardo Dominic QUALIFIED
Aruna A AmigonCanadaAsiya Javayant PROPOSAL
Francesco V BologniaFranceAsiya Javayant PROPOSAL
Nicolas H MarrierGermanyAmy Elsner RENEWAL
Jennifer S MaletArgentinaOnyama Limba NEW
Ricardo K WaycottAustraliaAmy Elsner QUALIFIED
Claire Y FlosiAustraliaIvan Magalhaes NEW
Faith P WaycottRussiaIvan Magalhaes UNQUALIFIED
Alejandro Q KuskoGermanyAnna Fali UNQUALIFIED
Salvatore Q NickaAustraliaOnyama Limba UNQUALIFIED
Maisha B SaylorsFranceIoni Bowcher UNQUALIFIED
Juan Y PaprockiFranceBernardo 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>