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
Maria S GlickIndiaAmy Elsner PROPOSAL
Wickens K KuskoRussiaXuxue Feng PROPOSAL
Kaitlin Y KolmetzUnited KingdomIoni Bowcher UNQUALIFIED
Kadeem V InouyeArgentinaIoni Bowcher UNQUALIFIED
Antonio C BriddickItalyOnyama Limba NEW
Sinclair N GillianRussiaIoni Bowcher PROPOSAL
Julie M InouyeGermanyIvan Magalhaes NEW
Murillo K CampainJapanAsiya Javayant PROPOSAL
Misaki L StockhamRussiaBernardo Dominic RENEWAL
Deepesh O RulapaughJapanOnyama Limba QUALIFIED
Wickens A VenereUnited KingdomAnna Fali QUALIFIED
James T CampainAustraliaAnna Fali QUALIFIED
Deepesh L GillianItalyXuxue Feng UNQUALIFIED
Aditya E TollnerAustraliaAsiya Javayant NEW
Munro X PerinIndiaElwin Sharvill NEW
James T MaletItalyElwin Sharvill NEW
Morrow U IturbideAustraliaIvan Magalhaes PROPOSAL
Ivar R VocelkaFranceAnna Fali UNQUALIFIED
Maisha A AlbaresUnited KingdomAnna Fali RENEWAL
Greenwood N SergiSpainAsiya Javayant PROPOSAL
Aika R ShinkoJapanElwin Sharvill NEGOTIATION
Jefferson Z VocelkaGermanyIvan Magalhaes NEGOTIATION
Antonio T IturbideItalyAmy Elsner NEGOTIATION
Silvio Z WhobreyArgentinaIvan Magalhaes QUALIFIED
Ivar Q MorascaGermanyOnyama Limba NEGOTIATION
Faith D BologniaGermanyXuxue Feng QUALIFIED
Izzy F IturbideJapanXuxue Feng UNQUALIFIED
Maria K CampainUnited KingdomAmy Elsner PROPOSAL
Mujtaba P GauchoGermanyElwin Sharvill UNQUALIFIED
Claire A AlbaresUnited KingdomAnna Fali NEW
Arvin Y VocelkaCanadaBernardo Dominic NEW
Mayumi M VocelkaItalyOnyama Limba QUALIFIED
Juan D CampainArgentinaAsiya Javayant UNQUALIFIED
Maisha Q BologniaItalyBernardo Dominic NEGOTIATION
Mayumi Z SchemmerBrazilOnyama Limba RENEWAL
Costa V FlosiJapanXuxue Feng UNQUALIFIED
Octavia Q CaldareraBrazilXuxue Feng UNQUALIFIED
Jennifer E BowleySpainAnna Fali UNQUALIFIED
Aruna L IturbideSpainXuxue Feng NEGOTIATION
Deepesh P ButtUnited KingdomStephen Shaw PROPOSAL
Deepesh L GillianAustraliaIoni Bowcher NEGOTIATION
Maisha C ButtFranceOnyama Limba PROPOSAL
Stacey O GillianJapanBernardo Dominic NEGOTIATION
Kaitlin R FollerIndiaAnna Fali NEW
Julie U SergiUnited KingdomIvan Magalhaes PROPOSAL
Wickens R CampainGermanyIoni Bowcher UNQUALIFIED
Mujtaba Z ChuiItalyAmy Elsner NEGOTIATION
Tony I RutaGermanyElwin Sharvill UNQUALIFIED
Stacey K CaldareraFranceXuxue Feng UNQUALIFIED
Jones F KolmetzSpainIoni Bowcher NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Maisha X ChuiItalyAnna Fali QUALIFIED
Alejandro Q KolmetzGermanyElwin Sharvill PROPOSAL
Mayumi Y AmigonUnited KingdomBernardo Dominic PROPOSAL
Wickens F RimItalyXuxue Feng NEGOTIATION
Silvio S MarrierSpainAsiya Javayant RENEWAL
Clifford T MarrierItalyAsiya Javayant RENEWAL
James W FigeroaCanadaIvan Magalhaes RENEWAL
Leon M WieserUnited KingdomIoni Bowcher UNQUALIFIED
Claire G PoquetteCanadaOnyama Limba RENEWAL
Kaitlin N OstroskyArgentinaBernardo Dominic NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Isabel O RimArgentina2024-06-11Rousseaux, Michael Esq QUALIFIED49Ioni Bowcher
1001Costa V MaletItaly2024-06-11Feltz Printing Service QUALIFIED27Onyama Limba
1002Arvin T WaycottArgentina2024-06-05Feltz Printing Service PROPOSAL92Ioni Bowcher
1003Sinclair S FlosiGermany2024-06-09Chanay, Jeffrey A Esq QUALIFIED31Onyama Limba
1004Sinclair U FollerFrance2024-06-13Truhlar And Truhlar Attys RENEWAL2Amy Elsner
1005Kadeem U MarrierJapan2024-06-20Benton, John B Jr QUALIFIED14Amy Elsner
1006Smith P MorascaFrance2024-06-20Truhlar And Truhlar Attys NEW96Anna Fali
1007Chavez N NestleAustralia2024-05-28Feiner Bros NEW20Bernardo Dominic
1008David G DilliardUnited Kingdom2024-06-24Benton, John B Jr UNQUALIFIED51Ioni Bowcher
1009Murillo M RimBrazil2024-06-02Benton, John B Jr UNQUALIFIED98Ioni Bowcher
1010Nicolas I DarakjyRussia2024-06-21King, Christopher A Esq QUALIFIED65Ioni Bowcher
1011Leon I MaletJapan2024-06-23King, Christopher A Esq PROPOSAL65Ivan Magalhaes
1012Clifford X CaudyBrazil2024-05-26Chapman, Ross E Esq UNQUALIFIED10Onyama Limba
1013Arvin W VocelkaAustralia2024-06-09Morlong Associates NEGOTIATION48Amy Elsner
1014Maisha H OstroskyCanada2024-06-12King, Christopher A Esq RENEWAL29Anna Fali
1015Smith A KuskoCanada2024-06-18Buckley Miller Wright QUALIFIED75Bernardo Dominic
1016Silvio J VenereCanada2024-06-11King, Christopher A Esq UNQUALIFIED42Amy Elsner
1017Johnson P OstroskyRussia2024-06-11Commercial Press RENEWAL39Onyama Limba
1018Jeanfrancois Q MaletCanada2024-06-20Buckley Miller Wright QUALIFIED73Xuxue Feng
1019Alejandro T WhobreyFrance2024-06-04Feiner Bros UNQUALIFIED18Amy Elsner
1020Jefferson V MacleadArgentina2024-06-19Rousseaux, Michael Esq PROPOSAL51Ivan Magalhaes
1021Munro R ChuiUnited Kingdom2024-06-16Rousseaux, Michael Esq NEGOTIATION63Bernardo Dominic
1022Mujtaba B MaletArgentina2024-06-08Buckley Miller Wright UNQUALIFIED42Ivan Magalhaes
1023Jeanfrancois D MarrierItaly2024-06-03Printing Dimensions QUALIFIED42Stephen Shaw
1024Salvatore E NestleBrazil2024-06-10King, Christopher A Esq NEGOTIATION55Elwin Sharvill
1025Nicolas D PerinUnited Kingdom2024-06-22Chapman, Ross E Esq NEW76Onyama Limba
1026Costa G StockhamRussia2024-06-24Chemel, James L Cpa UNQUALIFIED91Xuxue Feng
1027Adams N BriddickSpain2024-06-03Buckley Miller Wright NEW74Amy Elsner
1028Clifford U CaudyAustralia2024-06-07Feiner Bros NEW53Onyama Limba
1029Chavez O AmigonUnited Kingdom2024-06-11Rangoni Of Florence RENEWAL29Onyama Limba
1030Antonio R GlickFrance2024-06-20Rangoni Of Florence NEGOTIATION57Asiya Javayant
1031Francesco V KolmetzSpain2024-05-29Commercial Press RENEWAL12Ioni Bowcher
1032Maria M BowleyRussia2024-06-19Feiner Bros PROPOSAL90Amy Elsner
1033Smith I BologniaJapan2024-06-14Dorl, James J Esq QUALIFIED6Elwin Sharvill
1034Aditya W OstroskyBrazil2024-06-20Chapman, Ross E Esq RENEWAL73Xuxue Feng
1035Maisha A FollerCanada2024-06-13Benton, John B Jr NEGOTIATION47Ivan Magalhaes
1036Munro Y BriddickSpain2024-05-27Rousseaux, Michael Esq PROPOSAL74Ioni Bowcher
1037Costa O BowleyGermany2024-06-04Feltz Printing Service PROPOSAL24Amy Elsner
1038Darci H TollnerIndia2024-06-02Chemel, James L Cpa QUALIFIED37Ivan Magalhaes
1039Misaki V FlosiAustralia2024-06-17Chanay, Jeffrey A Esq NEW26Anna Fali
1040Ricardo I GlickAustralia2024-06-03Feiner Bros PROPOSAL13Anna Fali
1041Stacey L MarrierSpain2024-06-19Benton, John B Jr PROPOSAL47Anna Fali
1042Kaitlin F RoysterSpain2024-05-31Rangoni Of Florence NEGOTIATION80Ioni Bowcher
1043Nicolas F KolmetzFrance2024-06-24Chanay, Jeffrey A Esq RENEWAL81Onyama Limba
1044Jefferson X BriddickFrance2024-05-26Benton, John B Jr NEGOTIATION67Ivan Magalhaes
1045Tony P CaldareraGermany2024-05-31Dorl, James J Esq UNQUALIFIED91Elwin Sharvill
1046Kaitlin X AmigonItaly2024-06-07Rousseaux, Michael Esq UNQUALIFIED33Onyama Limba
1047Maria T SlusarskiItaly2024-06-10Feiner Bros RENEWAL82Onyama Limba
1048Kadeem E StockhamGermany2024-06-05Chapman, Ross E Esq NEGOTIATION87Onyama Limba
1049Leja I ButtRussia2024-06-12Chemel, James L Cpa NEW2Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Julie W WieserSpainIoni Bowcher NEGOTIATION
Ricardo O KuskoGermanyBernardo Dominic NEGOTIATION
Maisha T InouyeSpainElwin Sharvill PROPOSAL
Claire R GlickAustraliaOnyama Limba RENEWAL
Jones A CaudyIndiaElwin Sharvill RENEWAL
James Q VocelkaCanadaAnna Fali RENEWAL
Aruna Y StockhamBrazilStephen Shaw QUALIFIED
Julie I WieserSpainIoni Bowcher QUALIFIED
Ricardo S WaycottCanadaStephen Shaw QUALIFIED
Alejandro Y OstroskyAustraliaAmy Elsner PROPOSAL
Antonio L BowleyItalyIvan Magalhaes NEGOTIATION
Adams Y RulapaughArgentinaAnna Fali PROPOSAL
Emily H MacleadSpainStephen Shaw RENEWAL
Kaitlin W SergiBrazilIvan Magalhaes PROPOSAL
Wickens K SchemmerRussiaElwin Sharvill NEGOTIATION
Cody S RoysterArgentinaAmy Elsner NEW
Antonio E AlbaresArgentinaElwin Sharvill PROPOSAL
Deepesh E CaldareraSpainAmy Elsner QUALIFIED
Adams A WieserFranceAmy Elsner QUALIFIED
Stacey H AmigonSpainAmy Elsner RENEWAL
Mujtaba V WhobreyItalyBernardo Dominic NEGOTIATION
Julie E GauchoArgentinaAnna Fali RENEWAL
Arvin S BriddickJapanOnyama Limba QUALIFIED
Maria C PoquetteJapanElwin Sharvill PROPOSAL
Ivar U OstroskyIndiaOnyama Limba NEGOTIATION
Antonio X CampainRussiaXuxue Feng PROPOSAL
Munro X SchemmerFranceBernardo Dominic UNQUALIFIED
Wickens T RulapaughJapanIvan Magalhaes QUALIFIED
Leja B AlbaresArgentinaAmy Elsner NEW
Chavez I FollerIndiaElwin Sharvill NEGOTIATION
Ricardo K DarakjyUnited KingdomAsiya Javayant NEGOTIATION
Maisha I MarrierSpainElwin Sharvill RENEWAL
Antonio Z WieserUnited KingdomBernardo Dominic NEW
Deepesh G RutaSpainElwin Sharvill NEGOTIATION
Deepesh N ShinkoArgentinaElwin Sharvill NEGOTIATION
Kadeem R WaycottSpainElwin Sharvill NEGOTIATION
Kadeem Z ShinkoUnited KingdomBernardo Dominic PROPOSAL
Rodrigues N MorascaRussiaIoni Bowcher RENEWAL
Smith T AlbaresRussiaIvan Magalhaes PROPOSAL
Ashley H ShinkoFranceXuxue Feng PROPOSAL
Tony U KolmetzIndiaIvan Magalhaes NEGOTIATION
Leja M AmigonJapanIoni Bowcher UNQUALIFIED
Chavez X CaudyArgentinaStephen Shaw NEGOTIATION
Darci A AmigonGermanyAnna Fali QUALIFIED
Leja R VocelkaIndiaAnna Fali PROPOSAL
Mayumi D DilliardArgentinaIvan Magalhaes NEGOTIATION
Silvio N CaldareraAustraliaAnna Fali RENEWAL
Clifford T DoeIndiaIoni Bowcher RENEWAL
Faith J AmigonFranceAnna Fali NEW
Johnson C ShinkoSpainAsiya Javayant NEGOTIATION
Frozen Columns
Name
Alejandro Y Doe
Leja F Rim
Juan F Stockham
David F Caudy
Chavez U Figeroa
Octavia K Figeroa
Claire F Butt
Adams M Nestle
Francesco A Campain
Jennifer Q Slusarski
Jefferson V Nicka
Mayumi B Paprocki
Claire S Inouye
Jennifer J Saylors
Antonio P Flosi
Maria V Chui
Jefferson I Flosi
Francesco E Shinko
Kaitlin W Nestle
Faith W Gillian
Antonio U Oldroyd
Ashley B Morasca
Smith C Slusarski
Kaitlin S Amigon
Morrow X Wieser
Maria G Butt
Alejandro I Slusarski
Clifford Q Dilliard
Izzy M Schemmer
Jefferson Y Caldarera
Smith E Whobrey
Wickens A Albares
Jeanfrancois Q Amigon
Maisha P Oldroyd
Kaitlin M Waycott
Tony M Campain
Jeanfrancois O Vocelka
Mayumi O Chui
Alejandro Y Royster
Aruna B Oldroyd
Clifford S Glick
Arvin T Stenseth
Kaitlin F Figeroa
Adams M Butt
Clifford H Ferencz
Deepesh X Stockham
Deepesh C Butt
Sinclair M Saylors
Arvin D Saylors
Leon H Maclead
IdCountryDate
1000Russia2024-06-13
1001Spain2024-06-08
1002India2024-06-24
1003India2024-06-22
1004Italy2024-06-06
1005France2024-06-07
1006Brazil2024-06-03
1007Russia2024-06-17
1008Spain2024-06-14
1009Russia2024-06-24
1010Argentina2024-05-30
1011Brazil2024-05-28
1012France2024-06-11
1013United Kingdom2024-06-22
1014Italy2024-06-16
1015Japan2024-06-02
1016Japan2024-06-22
1017Japan2024-06-14
1018Spain2024-06-14
1019Japan2024-05-28
1020Italy2024-06-08
1021Brazil2024-05-26
1022Japan2024-06-04
1023Argentina2024-06-17
1024Japan2024-05-27
1025Argentina2024-06-08
1026United Kingdom2024-05-26
1027Spain2024-06-12
1028Australia2024-05-26
1029Canada2024-06-20
1030Japan2024-06-17
1031Canada2024-06-23
1032Canada2024-06-13
1033Russia2024-06-16
1034Russia2024-06-07
1035United Kingdom2024-06-02
1036Italy2024-06-19
1037India2024-06-19
1038Japan2024-05-30
1039Russia2024-06-14
1040Australia2024-06-20
1041Italy2024-06-13
1042Russia2024-06-17
1043France2024-06-18
1044Japan2024-06-08
1045Brazil2024-06-23
1046Japan2024-06-04
1047Japan2024-06-03
1048Japan2024-06-06
1049Brazil2024-06-11

On-Demand Data

NameIdCountryDate
Aika T Bowley1000United Kingdom2024-06-04
Mujtaba J Stenseth1001Spain2024-06-02
Nicolas E Gaucho1002Spain2024-06-09
Jefferson T Whobrey1003Brazil2024-06-09
Deepesh Z Darakjy1004Italy2024-06-07
Chavez C Saylors1005Argentina2024-06-10
Murillo N Dilliard1006Spain2024-06-10
Tony D Iturbide1007Brazil2024-06-06
Sinclair D Schemmer1008Germany2024-05-30
Rodrigues S Nestle1009India2024-06-15
Alejandro D Ruta1010Argentina2024-06-18
Silvio O Malet1011Spain2024-06-18
Chavez M Wieser1012Canada2024-06-17
Francesco J Glick1013Canada2024-06-16
Chavez N Dilliard1014Japan2024-05-28
Costa U Vocelka1015Canada2024-06-10
Darci N Royster1016Canada2024-06-17
Maria Y Tollner1017Australia2024-05-27
Mayumi Y Dilliard1018Brazil2024-06-14
Smith B Amigon1019Brazil2024-05-31
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Emily R SaylorsBrazilAnna Fali RENEWAL
Kadeem J FlosiRussiaAsiya Javayant QUALIFIED
Aruna R InouyeArgentinaElwin Sharvill UNQUALIFIED
Tony R PoquetteFranceElwin Sharvill NEW
David R OstroskyCanadaAnna Fali PROPOSAL
Murillo U VocelkaItalyAsiya Javayant UNQUALIFIED
Isabel I CaldareraUnited KingdomElwin Sharvill PROPOSAL
Stacey D BologniaItalyAsiya Javayant UNQUALIFIED
Jones P TollnerArgentinaElwin Sharvill QUALIFIED
Julie J ButtFranceAnna Fali RENEWAL
Jennifer C PoquetteArgentinaElwin Sharvill UNQUALIFIED
Antonio Q KolmetzItalyIoni Bowcher PROPOSAL
Johnson R GauchoAustraliaOnyama Limba UNQUALIFIED
Kaitlin W PerinGermanyStephen Shaw RENEWAL
Smith F KuskoFranceElwin Sharvill QUALIFIED
Murillo Q AlbaresSpainXuxue Feng QUALIFIED
Kaitlin P CampainGermanyAnna Fali PROPOSAL
Adams K MaletCanadaBernardo Dominic UNQUALIFIED
Arvin B StockhamUnited KingdomBernardo Dominic QUALIFIED
Faith Z OstroskyRussiaAsiya Javayant RENEWAL
Juan V ChuiAustraliaAsiya Javayant NEW
Leon E DoeItalyStephen Shaw UNQUALIFIED
Silvio J OstroskyItalyStephen Shaw NEW
Wickens M FerenczRussiaElwin Sharvill NEGOTIATION
Leon B SlusarskiItalyOnyama Limba NEW
Smith H ButtIndiaAmy Elsner QUALIFIED
Cody O KolmetzRussiaAnna Fali PROPOSAL
Antonio Z IturbideItalyAsiya Javayant NEGOTIATION
Costa U FollerIndiaBernardo Dominic QUALIFIED
Salvatore W InouyeArgentinaStephen Shaw PROPOSAL
Leon W SergiJapanXuxue Feng NEW
Octavia O RulapaughGermanyAmy Elsner QUALIFIED
Arvin D RoysterUnited KingdomAmy Elsner RENEWAL
Morrow J TollnerGermanyAmy Elsner RENEWAL
Greenwood L SaylorsIndiaBernardo Dominic UNQUALIFIED
Salvatore Q MacleadArgentinaBernardo Dominic QUALIFIED
Aruna E OstroskyFranceOnyama Limba NEW
Chavez K IturbideArgentinaXuxue Feng QUALIFIED
Adams Z RoysterJapanElwin Sharvill QUALIFIED
Leja Y MaletBrazilOnyama Limba PROPOSAL

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