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 P FerenczFranceAsiya Javayant RENEWAL
Silvio W StockhamSpainIoni Bowcher NEGOTIATION
Alejandro Y InouyeItalyIoni Bowcher RENEWAL
Cody Y BowleyAustraliaIoni Bowcher RENEWAL
Claire J MaletCanadaBernardo Dominic PROPOSAL
Ricardo Q StensethBrazilBernardo Dominic NEGOTIATION
Jennifer N ChuiSpainBernardo Dominic RENEWAL
Kadeem U SchemmerSpainAmy Elsner PROPOSAL
Aditya L GillianIndiaIoni Bowcher UNQUALIFIED
Ricardo H InouyeIndiaAnna Fali NEGOTIATION
Costa M RoysterItalyOnyama Limba NEW
Ivar N RimArgentinaBernardo Dominic QUALIFIED
Sinclair W MacleadJapanStephen Shaw PROPOSAL
Salvatore T FerenczJapanElwin Sharvill RENEWAL
Francesco M MorascaArgentinaOnyama Limba NEW
Nicolas P MarrierUnited KingdomAsiya Javayant QUALIFIED
Izzy O GlickItalyStephen Shaw NEGOTIATION
Munro Z CaldareraGermanyIoni Bowcher NEGOTIATION
Adams I FigeroaUnited KingdomIoni Bowcher RENEWAL
Sinclair S GillianBrazilIoni Bowcher QUALIFIED
Salvatore T PoquetteItalyXuxue Feng UNQUALIFIED
Salvatore L MaletIndiaAnna Fali NEW
Izzy Q RoysterGermanyXuxue Feng NEW
Morrow I FigeroaItalyIvan Magalhaes RENEWAL
Nicolas D VocelkaSpainIvan Magalhaes NEW
Emily J StensethUnited KingdomIoni Bowcher PROPOSAL
Chavez W SchemmerFranceIoni Bowcher UNQUALIFIED
Chavez F BologniaItalyStephen Shaw NEW
Salvatore T MacleadUnited KingdomIvan Magalhaes UNQUALIFIED
Isabel Q AlbaresItalyStephen Shaw QUALIFIED
Sinclair B ButtIndiaAnna Fali QUALIFIED
Tony H CaudyJapanAmy Elsner PROPOSAL
Jennifer Z FerenczIndiaElwin Sharvill PROPOSAL
Aditya E KolmetzJapanOnyama Limba UNQUALIFIED
Octavia O IturbideItalyOnyama Limba RENEWAL
Aika A KuskoCanadaElwin Sharvill PROPOSAL
Wickens A PerinUnited KingdomAnna Fali NEW
Kaitlin F BologniaCanadaStephen Shaw PROPOSAL
Costa M MorascaItalyOnyama Limba NEGOTIATION
Jefferson G IturbideBrazilAnna Fali NEW
Maisha N ChuiAustraliaXuxue Feng NEGOTIATION
Chavez O BologniaBrazilXuxue Feng QUALIFIED
Kadeem N GarufiCanadaAnna Fali PROPOSAL
Emily T MacleadSpainAmy Elsner NEW
Deepesh V MarrierFranceXuxue Feng PROPOSAL
Ricardo B FigeroaJapanElwin Sharvill PROPOSAL
Jones R NestleUnited KingdomAmy Elsner QUALIFIED
Chavez A SergiCanadaXuxue Feng QUALIFIED
Maisha O ShinkoGermanyAmy Elsner NEGOTIATION
Maria C WhobreyAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Rodrigues X BowleyFranceStephen Shaw NEW
Aruna C MaletJapanIoni Bowcher QUALIFIED
Octavia W MacleadAustraliaElwin Sharvill UNQUALIFIED
Maisha P MaletBrazilStephen Shaw UNQUALIFIED
Emily H RutaUnited KingdomElwin Sharvill NEW
Juan K ChuiCanadaIvan Magalhaes PROPOSAL
Costa S PoquetteCanadaElwin Sharvill NEW
Mujtaba J ButtFranceIoni Bowcher RENEWAL
Cody S OstroskyGermanyAsiya Javayant QUALIFIED
Wickens D PerinFranceAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Stacey H OstroskyUnited Kingdom2024-06-14Rangoni Of Florence UNQUALIFIED37Ioni Bowcher
1001Isabel W BowleyUnited Kingdom2024-06-01Chapman, Ross E Esq QUALIFIED41Elwin Sharvill
1002Morrow J SaylorsFrance2024-06-02Chanay, Jeffrey A Esq QUALIFIED20Elwin Sharvill
1003David B SaylorsBrazil2024-06-02Chemel, James L Cpa UNQUALIFIED51Elwin Sharvill
1004Wickens G MaletUnited Kingdom2024-06-13Chanay, Jeffrey A Esq NEGOTIATION33Amy Elsner
1005Maisha M GlickUnited Kingdom2024-05-22Morlong Associates NEW5Anna Fali
1006Izzy V WhobreyJapan2024-06-11Chemel, James L Cpa PROPOSAL70Asiya Javayant
1007Silvio Z RutaRussia2024-05-19Morlong Associates UNQUALIFIED4Stephen Shaw
1008Salvatore B RulapaughUnited Kingdom2024-06-14Truhlar And Truhlar Attys RENEWAL33Ivan Magalhaes
1009Arvin Q FlosiAustralia2024-05-19King, Christopher A Esq QUALIFIED22Elwin Sharvill
1010Tony G NestleItaly2024-05-31Morlong Associates RENEWAL75Ivan Magalhaes
1011Silvio N FollerCanada2024-06-09Chapman, Ross E Esq PROPOSAL18Elwin Sharvill
1012Aditya G WhobreyJapan2024-06-05Chanay, Jeffrey A Esq UNQUALIFIED59Asiya Javayant
1013Jones C IturbideFrance2024-05-31Truhlar And Truhlar Attys UNQUALIFIED9Xuxue Feng
1014Ashley F ShinkoGermany2024-05-23Feltz Printing Service RENEWAL25Xuxue Feng
1015Maisha O FerenczJapan2024-06-11Printing Dimensions NEW41Ioni Bowcher
1016Antonio W MaletIndia2024-06-09Benton, John B Jr NEGOTIATION82Elwin Sharvill
1017Munro Q GauchoAustralia2024-06-11Chapman, Ross E Esq QUALIFIED59Stephen Shaw
1018Greenwood F CaudyGermany2024-05-30Rangoni Of Florence NEW15Elwin Sharvill
1019Salvatore F PoquetteIndia2024-05-19Printing Dimensions NEGOTIATION29Bernardo Dominic
1020Sinclair M WieserJapan2024-05-21Commercial Press PROPOSAL37Onyama Limba
1021Munro P InouyeItaly2024-05-28Rangoni Of Florence QUALIFIED37Stephen Shaw
1022Adams A PoquetteRussia2024-05-28Dorl, James J Esq UNQUALIFIED82Ioni Bowcher
1023Sinclair U StensethJapan2024-06-04Truhlar And Truhlar Attys UNQUALIFIED43Stephen Shaw
1024Kadeem F MarrierUnited Kingdom2024-06-14Feiner Bros NEGOTIATION43Bernardo Dominic
1025Jennifer O FollerArgentina2024-06-01Feiner Bros NEW41Ioni Bowcher
1026Misaki I OldroydAustralia2024-05-31Benton, John B Jr NEW6Onyama Limba
1027Antonio I InouyeSpain2024-05-26Feiner Bros NEGOTIATION62Onyama Limba
1028Alejandro E PoquetteGermany2024-06-15Truhlar And Truhlar Attys RENEWAL28Stephen Shaw
1029Jones A StensethAustralia2024-06-03Dorl, James J Esq UNQUALIFIED45Asiya Javayant
1030Deepesh D OldroydGermany2024-05-24Benton, John B Jr NEW40Asiya Javayant
1031Isabel G RutaJapan2024-05-24Rangoni Of Florence PROPOSAL51Ivan Magalhaes
1032Claire Z RutaRussia2024-05-21Chemel, James L Cpa NEW34Bernardo Dominic
1033Silvio V VocelkaGermany2024-06-15Truhlar And Truhlar Attys NEGOTIATION45Ioni Bowcher
1034Maisha D BowleyFrance2024-06-07Truhlar And Truhlar Attys UNQUALIFIED19Elwin Sharvill
1035Silvio U FigeroaUnited Kingdom2024-06-16Rousseaux, Michael Esq NEW16Xuxue Feng
1036Juan I OstroskyUnited Kingdom2024-06-17Printing Dimensions QUALIFIED68Anna Fali
1037Faith B MaletAustralia2024-05-20Rousseaux, Michael Esq NEW97Bernardo Dominic
1038Leon U NestleBrazil2024-06-01Morlong Associates RENEWAL58Anna Fali
1039Jones M GarufiIndia2024-05-23Chanay, Jeffrey A Esq UNQUALIFIED20Amy Elsner
1040Julie U BriddickFrance2024-06-04Morlong Associates NEW54Amy Elsner
1041Kadeem F OldroydUnited Kingdom2024-05-30Dorl, James J Esq UNQUALIFIED15Asiya Javayant
1042Murillo O GauchoItaly2024-06-07Commercial Press NEGOTIATION71Elwin Sharvill
1043Murillo G TollnerAustralia2024-06-05Rousseaux, Michael Esq NEGOTIATION19Elwin Sharvill
1044Maria C CaudyBrazil2024-05-19Printing Dimensions UNQUALIFIED71Xuxue Feng
1045Leja D CaudyArgentina2024-06-16Printing Dimensions QUALIFIED51Stephen Shaw
1046Aruna R MaletRussia2024-05-20Truhlar And Truhlar Attys NEW26Ioni Bowcher
1047Aika G ButtIndia2024-05-26Rangoni Of Florence RENEWAL84Stephen Shaw
1048Chavez R CaldareraBrazil2024-06-17Printing Dimensions NEW49Onyama Limba
1049Ivar I SchemmerAustralia2024-06-11Truhlar And Truhlar Attys UNQUALIFIED49Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh R PoquetteGermanyXuxue Feng NEW
Rodrigues J MorascaIndiaIvan Magalhaes NEW
Ivar E RimIndiaIvan Magalhaes QUALIFIED
Morrow T MacleadJapanBernardo Dominic PROPOSAL
Tony A NickaGermanyOnyama Limba NEW
Cody F WaycottArgentinaElwin Sharvill QUALIFIED
Smith F SaylorsArgentinaAsiya Javayant QUALIFIED
Stacey D GillianAustraliaAnna Fali UNQUALIFIED
Sinclair W SergiFranceElwin Sharvill NEGOTIATION
Aruna Y ChuiGermanyStephen Shaw RENEWAL
Adams P NestleGermanyAsiya Javayant UNQUALIFIED
Tony R WhobreyIndiaStephen Shaw NEGOTIATION
Faith B VenereGermanyAsiya Javayant UNQUALIFIED
Tony H BowleyItalyOnyama Limba PROPOSAL
Adams C GlickUnited KingdomAsiya Javayant QUALIFIED
Ashley F WhobreyUnited KingdomStephen Shaw RENEWAL
Deepesh X DilliardGermanyBernardo Dominic UNQUALIFIED
Cody L TollnerFranceBernardo Dominic QUALIFIED
Sinclair X PaprockiFranceAnna Fali UNQUALIFIED
Mayumi Y SchemmerSpainAnna Fali NEW
Costa S GlickBrazilElwin Sharvill NEGOTIATION
Octavia H AmigonIndiaAsiya Javayant PROPOSAL
Alejandro Q BologniaAustraliaXuxue Feng PROPOSAL
Misaki E ShinkoJapanElwin Sharvill NEGOTIATION
Isabel R ShinkoItalyIoni Bowcher RENEWAL
Alejandro S RutaIndiaIvan Magalhaes PROPOSAL
Claire Z GlickRussiaBernardo Dominic RENEWAL
Leon R DilliardArgentinaIvan Magalhaes UNQUALIFIED
Silvio W GarufiGermanyAsiya Javayant NEGOTIATION
Sinclair P StensethCanadaAsiya Javayant NEGOTIATION
Francesco Q IturbideSpainAnna Fali NEGOTIATION
Aruna R FigeroaAustraliaAsiya Javayant NEGOTIATION
Juan G RulapaughBrazilElwin Sharvill UNQUALIFIED
Arvin O NestleAustraliaBernardo Dominic RENEWAL
Ashley F RimIndiaOnyama Limba NEGOTIATION
Johnson Z SergiBrazilElwin Sharvill RENEWAL
Darci C OstroskyJapanAmy Elsner QUALIFIED
Johnson B RoysterFranceIvan Magalhaes QUALIFIED
Stacey I FerenczFranceElwin Sharvill UNQUALIFIED
Jeanfrancois V OldroydCanadaAnna Fali QUALIFIED
Faith S GlickBrazilOnyama Limba NEGOTIATION
Leja L TollnerSpainIoni Bowcher NEW
Juan Z AlbaresRussiaBernardo Dominic PROPOSAL
James G CaldareraArgentinaStephen Shaw QUALIFIED
Kadeem P WaycottRussiaXuxue Feng UNQUALIFIED
Murillo J PaprockiUnited KingdomAsiya Javayant PROPOSAL
Aditya S MaletIndiaIoni Bowcher UNQUALIFIED
Aruna F IturbideSpainElwin Sharvill NEGOTIATION
Darci W IturbideJapanAmy Elsner UNQUALIFIED
Munro N MorascaBrazilAmy Elsner QUALIFIED
Frozen Columns
Name
Jones L Caldarera
Maisha Z Nicka
Silvio T Sergi
Antonio U Chui
Greenwood U Perin
Aruna D Ruta
Cody K Caldarera
Octavia Q Kusko
Jefferson P Paprocki
Adams G Ostrosky
Tony Q Caldarera
Julie S Tollner
Leon C Kolmetz
Wickens I Butt
Mayumi I Malet
Greenwood X Glick
David U Albares
Claire O Glick
Wickens S Schemmer
Aditya C Ruta
Aruna Z Whobrey
Emily S Flosi
Ashley A Caldarera
Alejandro R Marrier
Rodrigues R Amigon
Emily D Briddick
Morrow E Darakjy
Jennifer X Gillian
James S Foller
Chavez I Malet
Kadeem K Inouye
Smith D Paprocki
Murillo X Butt
Alejandro L Morasca
Kaitlin H Stenseth
Octavia S Bowley
Silvio H Doe
Wickens K Perin
Salvatore D Malet
Darci V Amigon
Clifford C Ostrosky
Johnson F Iturbide
Leja P Stenseth
Chavez J Ferencz
Misaki T Bolognia
Chavez W Poquette
Jones G Kusko
Silvio Q Inouye
Alejandro A Malet
Deepesh P Iturbide
IdCountryDate
1000Italy2024-06-10
1001Argentina2024-05-20
1002India2024-05-29
1003Germany2024-05-25
1004France2024-05-30
1005Brazil2024-05-30
1006Argentina2024-05-27
1007Brazil2024-06-14
1008Canada2024-05-19
1009France2024-05-20
1010Argentina2024-06-04
1011Spain2024-05-19
1012India2024-06-15
1013Australia2024-06-12
1014Canada2024-05-26
1015Germany2024-05-28
1016Brazil2024-06-14
1017Italy2024-06-12
1018Canada2024-06-12
1019Germany2024-05-24
1020France2024-06-16
1021Australia2024-06-02
1022United Kingdom2024-05-31
1023Argentina2024-06-12
1024Italy2024-06-08
1025India2024-05-29
1026Japan2024-05-20
1027Australia2024-06-01
1028Canada2024-06-05
1029Canada2024-06-07
1030France2024-06-13
1031Australia2024-06-17
1032Germany2024-06-12
1033United Kingdom2024-05-28
1034India2024-06-06
1035Italy2024-05-23
1036United Kingdom2024-05-23
1037Japan2024-05-21
1038Germany2024-06-16
1039France2024-05-26
1040Germany2024-06-14
1041Spain2024-06-08
1042Italy2024-05-26
1043United Kingdom2024-05-31
1044Brazil2024-05-21
1045Canada2024-05-23
1046Germany2024-05-27
1047United Kingdom2024-05-23
1048Argentina2024-06-14
1049Japan2024-06-03

On-Demand Data

NameIdCountryDate
Jeanfrancois A Paprocki1000Australia2024-06-05
Izzy X Gillian1001Japan2024-05-21
Stacey K Rulapaugh1002Argentina2024-06-08
Alejandro Y Whobrey1003United Kingdom2024-06-17
David Q Butt1004Russia2024-05-20
Aditya R Briddick1005Germany2024-06-04
Silvio M Darakjy1006Italy2024-06-12
Leon Y Caldarera1007Japan2024-06-11
Salvatore Q Gillian1008Italy2024-06-15
Chavez T Saylors1009Japan2024-05-30
Deepesh E Malet1010France2024-05-24
James A Poquette1011Russia2024-06-16
Silvio K Inouye1012Japan2024-06-16
Jones C Poquette1013Canada2024-05-26
Aika B Ferencz1014Canada2024-06-03
Alejandro P Glick1015Italy2024-05-29
Clifford T Maclead1016Japan2024-05-24
Aika H Morasca1017France2024-06-07
Faith G Morasca1018France2024-06-07
Julie X Iturbide1019United Kingdom2024-06-11
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jennifer P CaldareraItalyAsiya Javayant PROPOSAL
Clifford G MacleadJapanBernardo Dominic UNQUALIFIED
Adams C PaprockiCanadaAsiya Javayant QUALIFIED
Cody U SlusarskiRussiaIoni Bowcher NEW
Alejandro Z BologniaArgentinaOnyama Limba PROPOSAL
Kaitlin I MacleadRussiaElwin Sharvill PROPOSAL
Cody Z ButtCanadaAmy Elsner RENEWAL
Greenwood J WhobreyJapanElwin Sharvill UNQUALIFIED
Ricardo Q MorascaJapanIoni Bowcher NEW
Nicolas P RoysterAustraliaAmy Elsner UNQUALIFIED
Isabel B WieserItalyBernardo Dominic PROPOSAL
Smith L SaylorsBrazilOnyama Limba PROPOSAL
Smith C SlusarskiBrazilAnna Fali UNQUALIFIED
Aika A InouyeArgentinaOnyama Limba PROPOSAL
Alejandro T CaudyCanadaOnyama Limba PROPOSAL
Munro F BowleyItalyIvan Magalhaes PROPOSAL
Kaitlin B IturbideUnited KingdomStephen Shaw RENEWAL
Cody T ShinkoCanadaBernardo Dominic RENEWAL
Greenwood J NestleFranceStephen Shaw QUALIFIED
Ricardo R IturbideUnited KingdomElwin Sharvill UNQUALIFIED
Greenwood L DilliardUnited KingdomIvan Magalhaes PROPOSAL
Deepesh D PerinUnited KingdomIvan Magalhaes PROPOSAL
Costa I MorascaJapanIvan Magalhaes PROPOSAL
Emily T ShinkoAustraliaAsiya Javayant UNQUALIFIED
Murillo D StensethIndiaAnna Fali QUALIFIED
Kaitlin I AlbaresIndiaElwin Sharvill QUALIFIED
Rodrigues S DarakjyBrazilXuxue Feng UNQUALIFIED
Ivar W KolmetzIndiaElwin Sharvill PROPOSAL
Sinclair U FigeroaBrazilAsiya Javayant UNQUALIFIED
David K WaycottGermanyIvan Magalhaes PROPOSAL
Isabel R BriddickItalyAsiya Javayant NEW
Maria X ButtItalyIvan Magalhaes PROPOSAL
Juan I KuskoUnited KingdomAsiya Javayant RENEWAL
Isabel W MorascaSpainElwin Sharvill UNQUALIFIED
Chavez F RulapaughIndiaXuxue Feng PROPOSAL
Deepesh U MaletUnited KingdomIoni Bowcher PROPOSAL
James N OldroydIndiaBernardo Dominic QUALIFIED
Johnson U MaletIndiaBernardo Dominic PROPOSAL
Arvin D MorascaArgentinaBernardo Dominic QUALIFIED
Claire O MorascaItalyAmy 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>