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 R FollerBrazilIoni Bowcher RENEWAL
Jefferson M MacleadAustraliaXuxue Feng NEGOTIATION
Clifford P WieserUnited KingdomBernardo Dominic NEW
Wickens G DoeArgentinaStephen Shaw RENEWAL
Aika K DoeUnited KingdomIvan Magalhaes QUALIFIED
Ivar H CaldareraCanadaXuxue Feng PROPOSAL
Antonio K AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Sinclair R InouyeAustraliaAnna Fali UNQUALIFIED
Johnson I FigeroaFranceBernardo Dominic UNQUALIFIED
Jones E FlosiBrazilIvan Magalhaes UNQUALIFIED
Ashley E CaldareraArgentinaIoni Bowcher NEGOTIATION
Chavez B CampainAustraliaIoni Bowcher UNQUALIFIED
Jefferson O PoquetteRussiaStephen Shaw NEGOTIATION
Greenwood K InouyeItalyAnna Fali RENEWAL
Ashley X PerinItalyXuxue Feng QUALIFIED
Aditya I PoquetteSpainElwin Sharvill PROPOSAL
Sinclair U CampainUnited KingdomAnna Fali NEGOTIATION
Rodrigues O DilliardIndiaElwin Sharvill NEGOTIATION
Julie O FigeroaCanadaIoni Bowcher QUALIFIED
Johnson Q SlusarskiRussiaIoni Bowcher NEGOTIATION
Leon V SlusarskiSpainAsiya Javayant UNQUALIFIED
Salvatore S PerinSpainIoni Bowcher RENEWAL
Juan Z GauchoSpainAnna Fali NEGOTIATION
Cody W NestleUnited KingdomAnna Fali PROPOSAL
Wickens Q DarakjyItalyStephen Shaw RENEWAL
Nicolas V FollerGermanyOnyama Limba RENEWAL
Claire I SlusarskiRussiaOnyama Limba QUALIFIED
Chavez T AlbaresCanadaIoni Bowcher NEGOTIATION
Kadeem K BriddickJapanOnyama Limba QUALIFIED
Kaitlin W GauchoBrazilIvan Magalhaes NEGOTIATION
Greenwood T CampainItalyBernardo Dominic NEGOTIATION
Murillo Y FlosiJapanElwin Sharvill RENEWAL
Aditya J WieserRussiaOnyama Limba NEW
Octavia U PoquetteSpainIvan Magalhaes QUALIFIED
David R BowleyRussiaAmy Elsner UNQUALIFIED
Salvatore J InouyeArgentinaElwin Sharvill RENEWAL
Mayumi Q DoeJapanOnyama Limba UNQUALIFIED
Isabel E InouyeItalyXuxue Feng NEGOTIATION
Arvin L NickaGermanyIvan Magalhaes UNQUALIFIED
Kaitlin G SlusarskiUnited KingdomIoni Bowcher NEGOTIATION
Greenwood K SergiBrazilBernardo Dominic RENEWAL
Misaki N CampainFranceIoni Bowcher RENEWAL
Kaitlin J StockhamItalyOnyama Limba PROPOSAL
Salvatore M MacleadItalyAsiya Javayant PROPOSAL
Octavia J CaldareraIndiaAnna Fali RENEWAL
Aditya L TollnerFranceBernardo Dominic NEGOTIATION
Jeanfrancois F StockhamFranceOnyama Limba NEW
Aditya A InouyeGermanyAnna Fali NEW
Tony S PoquetteUnited KingdomAnna Fali QUALIFIED
Maria X VocelkaUnited KingdomBernardo Dominic PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Kadeem O TollnerArgentinaAmy Elsner UNQUALIFIED
Arvin A PoquetteFranceStephen Shaw NEGOTIATION
Aruna V RoysterIndiaAmy Elsner PROPOSAL
Greenwood Q ShinkoBrazilBernardo Dominic UNQUALIFIED
Leon H SchemmerItalyIoni Bowcher NEW
Francesco C PoquetteGermanyOnyama Limba UNQUALIFIED
Cody S CaudyBrazilStephen Shaw UNQUALIFIED
David W WieserJapanXuxue Feng UNQUALIFIED
Adams U SergiFranceElwin Sharvill NEGOTIATION
Adams V DoeBrazilXuxue Feng NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Kadeem E DilliardSpain2024-06-06Truhlar And Truhlar Attys UNQUALIFIED34Ivan Magalhaes
1001Kadeem U ShinkoItaly2024-06-01Feltz Printing Service UNQUALIFIED84Anna Fali
1002Leon D SlusarskiAustralia2024-06-01Feltz Printing Service NEGOTIATION30Onyama Limba
1003Deepesh L RimAustralia2024-06-15Rangoni Of Florence NEGOTIATION10Ioni Bowcher
1004Sinclair S BologniaFrance2024-06-11Truhlar And Truhlar Attys NEGOTIATION60Xuxue Feng
1005Mayumi K AlbaresRussia2024-06-04Printing Dimensions PROPOSAL45Anna Fali
1006Murillo H PoquetteJapan2024-06-20Chapman, Ross E Esq PROPOSAL68Onyama Limba
1007Maisha B BologniaIndia2024-06-22Buckley Miller Wright NEW70Onyama Limba
1008Aruna A SaylorsGermany2024-05-26Buckley Miller Wright NEGOTIATION42Bernardo Dominic
1009Aditya H BriddickCanada2024-06-05Rangoni Of Florence PROPOSAL18Bernardo Dominic
1010Faith M GillianFrance2024-06-04Feltz Printing Service NEW49Anna Fali
1011Kadeem A GarufiJapan2024-05-27Rousseaux, Michael Esq NEW63Elwin Sharvill
1012Darci I AmigonBrazil2024-06-07Benton, John B Jr NEGOTIATION19Bernardo Dominic
1013Costa A NickaJapan2024-06-17Truhlar And Truhlar Attys RENEWAL64Onyama Limba
1014Claire S StockhamBrazil2024-06-08Benton, John B Jr UNQUALIFIED0Elwin Sharvill
1015Emily L MarrierJapan2024-06-13Chemel, James L Cpa QUALIFIED51Xuxue Feng
1016Smith Q GauchoBrazil2024-05-24Rangoni Of Florence NEW59Stephen Shaw
1017Kaitlin S CaudyBrazil2024-06-13Benton, John B Jr UNQUALIFIED81Ioni Bowcher
1018Nicolas J MacleadBrazil2024-06-08Chapman, Ross E Esq NEW83Ioni Bowcher
1019Mayumi K BologniaJapan2024-05-25Printing Dimensions NEW7Elwin Sharvill
1020Johnson O CampainCanada2024-06-21Chanay, Jeffrey A Esq NEGOTIATION25Anna Fali
1021Leja J FlosiArgentina2024-06-11Feiner Bros UNQUALIFIED9Elwin Sharvill
1022Salvatore X BriddickJapan2024-06-19Rangoni Of Florence NEW30Bernardo Dominic
1023Francesco H DilliardBrazil2024-05-27Feltz Printing Service RENEWAL43Amy Elsner
1024Emily Z ChuiFrance2024-06-04Dorl, James J Esq RENEWAL7Amy Elsner
1025Aditya B MacleadBrazil2024-06-06Chanay, Jeffrey A Esq NEGOTIATION88Anna Fali
1026Ivar M RulapaughJapan2024-06-21Chanay, Jeffrey A Esq PROPOSAL76Elwin Sharvill
1027Costa T MorascaJapan2024-05-30Truhlar And Truhlar Attys NEW41Stephen Shaw
1028Aruna W BologniaGermany2024-06-16Buckley Miller Wright QUALIFIED49Onyama Limba
1029Jones H DilliardAustralia2024-06-21Rousseaux, Michael Esq PROPOSAL74Xuxue Feng
1030Julie E RulapaughSpain2024-06-03Rangoni Of Florence QUALIFIED33Bernardo Dominic
1031Adams R KolmetzUnited Kingdom2024-05-26Chemel, James L Cpa QUALIFIED71Bernardo Dominic
1032Alejandro C PaprockiCanada2024-06-20Printing Dimensions NEW48Amy Elsner
1033Leon G PerinAustralia2024-06-20Buckley Miller Wright PROPOSAL98Amy Elsner
1034Rodrigues V PerinIndia2024-06-02Rangoni Of Florence QUALIFIED28Ivan Magalhaes
1035Juan T DoeCanada2024-06-12King, Christopher A Esq QUALIFIED21Bernardo Dominic
1036Rodrigues P FlosiUnited Kingdom2024-05-30Feltz Printing Service PROPOSAL6Bernardo Dominic
1037Alejandro J OstroskySpain2024-06-15Chanay, Jeffrey A Esq UNQUALIFIED34Bernardo Dominic
1038Jeanfrancois G KuskoIndia2024-06-20Rousseaux, Michael Esq RENEWAL78Onyama Limba
1039Darci T FigeroaAustralia2024-06-17Feltz Printing Service NEW21Amy Elsner
1040Jefferson L PaprockiCanada2024-06-14Truhlar And Truhlar Attys NEW73Anna Fali
1041Maria H PoquetteUnited Kingdom2024-06-02Morlong Associates RENEWAL91Onyama Limba
1042Octavia W DilliardGermany2024-06-05King, Christopher A Esq PROPOSAL44Amy Elsner
1043Tony Y CaudySpain2024-06-16Benton, John B Jr PROPOSAL92Stephen Shaw
1044Silvio P RimFrance2024-06-04Dorl, James J Esq QUALIFIED91Ivan Magalhaes
1045Kadeem U SergiAustralia2024-06-10Morlong Associates RENEWAL67Asiya Javayant
1046Murillo O RulapaughItaly2024-06-03Benton, John B Jr RENEWAL4Ivan Magalhaes
1047Aika U OldroydArgentina2024-05-30Truhlar And Truhlar Attys RENEWAL2Ivan Magalhaes
1048Ricardo L FollerUnited Kingdom2024-06-20Buckley Miller Wright QUALIFIED96Xuxue Feng
1049Chavez M GarufiCanada2024-06-20Feltz Printing Service RENEWAL37Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Faith T DoeSpainBernardo Dominic QUALIFIED
Aditya O GillianArgentinaStephen Shaw RENEWAL
Johnson J SlusarskiJapanXuxue Feng RENEWAL
Morrow D RutaArgentinaElwin Sharvill RENEWAL
Cody Z MaletArgentinaIvan Magalhaes PROPOSAL
Faith O NickaCanadaElwin Sharvill RENEWAL
Stacey H CaudyCanadaIvan Magalhaes PROPOSAL
Antonio G PerinIndiaElwin Sharvill RENEWAL
Claire T ChuiCanadaIvan Magalhaes NEGOTIATION
Aditya K PerinSpainIoni Bowcher NEW
Juan O CampainUnited KingdomElwin Sharvill RENEWAL
Adams I IturbideBrazilAmy Elsner NEW
Izzy F SergiGermanyXuxue Feng RENEWAL
Aditya G FerenczGermanyXuxue Feng NEGOTIATION
Salvatore L IturbideBrazilOnyama Limba NEGOTIATION
Jefferson V BowleyIndiaBernardo Dominic PROPOSAL
Chavez D PoquetteArgentinaBernardo Dominic UNQUALIFIED
Misaki D AlbaresUnited KingdomIvan Magalhaes QUALIFIED
Mujtaba V PerinItalyStephen Shaw UNQUALIFIED
Mujtaba D PerinIndiaOnyama Limba RENEWAL
Adams Z FlosiArgentinaElwin Sharvill PROPOSAL
Deepesh D StockhamUnited KingdomAsiya Javayant UNQUALIFIED
Murillo I FigeroaAustraliaOnyama Limba NEW
Ashley N StensethRussiaAnna Fali NEW
Aika S GillianRussiaBernardo Dominic NEGOTIATION
Stacey N WieserArgentinaAsiya Javayant NEGOTIATION
Leon M SaylorsIndiaOnyama Limba NEGOTIATION
Adams E AlbaresIndiaIoni Bowcher PROPOSAL
Stacey D BowleyArgentinaOnyama Limba UNQUALIFIED
Misaki K OstroskyCanadaAnna Fali UNQUALIFIED
Stacey F OstroskyGermanyElwin Sharvill NEW
Isabel A OstroskyJapanIvan Magalhaes NEGOTIATION
Aditya A OstroskyIndiaElwin Sharvill NEW
Arvin J NestleCanadaIvan Magalhaes RENEWAL
Smith W ChuiArgentinaElwin Sharvill NEW
Emily Q GillianGermanyIoni Bowcher QUALIFIED
Aruna A SergiFranceAsiya Javayant PROPOSAL
Murillo L BriddickSpainAsiya Javayant UNQUALIFIED
David Y RoysterUnited KingdomBernardo Dominic PROPOSAL
Johnson F RulapaughCanadaOnyama Limba NEGOTIATION
Faith H ShinkoBrazilOnyama Limba PROPOSAL
Isabel S ChuiAustraliaIvan Magalhaes RENEWAL
Claire L RimCanadaAsiya Javayant NEW
Francesco Z NestleCanadaAmy Elsner RENEWAL
Leja Q GarufiGermanyAsiya Javayant QUALIFIED
Leon R BologniaFranceIoni Bowcher PROPOSAL
Aika X StensethGermanyIoni Bowcher NEW
Nicolas E DilliardFranceElwin Sharvill RENEWAL
Isabel D IturbideItalyAnna Fali RENEWAL
Morrow I BriddickBrazilIoni Bowcher NEGOTIATION
Frozen Columns
Name
Kaitlin C Kusko
Wickens K Venere
Darci Y Figeroa
Costa I Saylors
Maisha Y Stenseth
Jeanfrancois Z Glick
Arvin C Ferencz
David V Gaucho
Johnson B Poquette
Aditya H Slusarski
Greenwood J Vocelka
Mayumi V Tollner
Johnson G Malet
Emily S Royster
Salvatore L Bolognia
Murillo C Rim
Mayumi D Wieser
Nicolas D Doe
Adams X Glick
Aruna E Darakjy
Claire W Ostrosky
Kadeem A Waycott
Claire W Rulapaugh
Wickens X Glick
Johnson S Poquette
Deepesh D Shinko
Jeanfrancois U Dilliard
Isabel K Slusarski
Isabel X Nicka
Isabel R Wieser
Misaki R Royster
Costa C Bolognia
Alejandro A Stockham
Juan A Royster
Rodrigues I Perin
Darci M Doe
Maisha M Royster
Maisha C Chui
Ivar O Amigon
Octavia J Darakjy
Johnson C Paprocki
Chavez M Perin
Claire T Stenseth
Emily L Garufi
Costa H Butt
Mujtaba T Caldarera
Rodrigues G Chui
Darci T Garufi
Claire K Flosi
Octavia Y Darakjy
IdCountryDate
1000Argentina2024-06-16
1001Germany2024-06-17
1002France2024-05-25
1003United Kingdom2024-06-19
1004Russia2024-05-29
1005Canada2024-06-14
1006Russia2024-06-06
1007Germany2024-06-03
1008Australia2024-06-05
1009Japan2024-05-29
1010Spain2024-06-04
1011Italy2024-06-20
1012India2024-06-19
1013Brazil2024-06-20
1014France2024-06-08
1015Germany2024-06-02
1016Germany2024-05-24
1017Japan2024-05-26
1018Japan2024-06-22
1019India2024-05-28
1020Italy2024-05-30
1021Brazil2024-06-15
1022India2024-06-04
1023Germany2024-06-06
1024Brazil2024-06-10
1025Japan2024-05-26
1026Canada2024-06-10
1027Australia2024-06-22
1028Argentina2024-05-28
1029Spain2024-05-29
1030India2024-06-18
1031Japan2024-06-16
1032Canada2024-06-11
1033Japan2024-06-19
1034Australia2024-05-24
1035France2024-06-14
1036Japan2024-06-16
1037Argentina2024-06-17
1038Germany2024-05-27
1039Australia2024-06-16
1040United Kingdom2024-06-14
1041Argentina2024-05-26
1042Spain2024-06-10
1043India2024-06-07
1044Russia2024-05-28
1045Japan2024-05-24
1046India2024-06-20
1047Germany2024-06-05
1048Italy2024-06-11
1049Argentina2024-06-11

On-Demand Data

NameIdCountryDate
Isabel R Rulapaugh1000Argentina2024-05-28
Maisha T Maclead1001France2024-06-18
Maisha Y Perin1002Brazil2024-06-04
Izzy C Maclead1003India2024-06-08
Claire T Nicka1004Canada2024-06-05
Ivar A Nicka1005India2024-06-04
Izzy X Inouye1006Russia2024-06-15
Maisha V Gaucho1007Spain2024-05-29
Ivar K Stockham1008Japan2024-06-13
Deepesh U Kolmetz1009Australia2024-06-09
James G Caudy1010Germany2024-06-12
Cody I Dilliard1011Brazil2024-05-25
Nicolas I Stenseth1012Japan2024-06-18
Silvio Y Garufi1013United Kingdom2024-05-30
Aika K Stenseth1014Brazil2024-06-17
Costa O Bolognia1015Italy2024-05-25
Johnson X Butt1016Spain2024-06-03
Francesco D Paprocki1017Italy2024-06-09
Julie V Ferencz1018Brazil2024-06-17
Darci M Gaucho1019Germany2024-05-25
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Jeanfrancois A RoysterItalyAsiya Javayant NEGOTIATION
Deepesh D CampainRussiaStephen Shaw UNQUALIFIED
Aika J BriddickGermanyElwin Sharvill NEW
Mujtaba Q VocelkaUnited KingdomXuxue Feng NEGOTIATION
Faith C BowleyCanadaIvan Magalhaes NEW
James M RoysterJapanIvan Magalhaes RENEWAL
Octavia B RutaIndiaIoni Bowcher NEW
Deepesh W RulapaughArgentinaStephen Shaw PROPOSAL
Aditya X SergiFranceBernardo Dominic RENEWAL
Deepesh G MorascaBrazilOnyama Limba NEGOTIATION
Smith Q AmigonSpainIvan Magalhaes PROPOSAL
Clifford V PoquetteGermanyAsiya Javayant NEGOTIATION
Jeanfrancois J GillianAustraliaOnyama Limba UNQUALIFIED
Johnson W FigeroaAustraliaAmy Elsner UNQUALIFIED
Costa H WaycottRussiaAsiya Javayant QUALIFIED
Morrow X FlosiSpainIvan Magalhaes PROPOSAL
Isabel S FigeroaItalyOnyama Limba PROPOSAL
Mujtaba C DilliardBrazilAmy Elsner UNQUALIFIED
Chavez S RutaIndiaAmy Elsner RENEWAL
Claire Z SaylorsGermanyAnna Fali UNQUALIFIED
Kaitlin V WhobreyRussiaIvan Magalhaes NEW
Sinclair A SergiJapanStephen Shaw RENEWAL
Clifford M GlickFranceBernardo Dominic QUALIFIED
Clifford J CampainRussiaElwin Sharvill UNQUALIFIED
Smith P DarakjyAustraliaStephen Shaw QUALIFIED
Misaki S WieserSpainElwin Sharvill NEW
Leja B StensethArgentinaOnyama Limba NEGOTIATION
Jeanfrancois T WieserUnited KingdomAnna Fali RENEWAL
Cody C FigeroaUnited KingdomIoni Bowcher PROPOSAL
Emily L AlbaresCanadaIvan Magalhaes NEW
Leon S RoysterArgentinaStephen Shaw QUALIFIED
Ivar L VocelkaCanadaIvan Magalhaes QUALIFIED
Greenwood A OstroskyRussiaXuxue Feng PROPOSAL
James C PerinCanadaStephen Shaw NEGOTIATION
Stacey R StensethCanadaAmy Elsner QUALIFIED
Isabel M NickaItalyAsiya Javayant QUALIFIED
Octavia D SlusarskiItalyBernardo Dominic RENEWAL
Arvin K OstroskyUnited KingdomXuxue Feng UNQUALIFIED
Jones N BriddickSpainIvan Magalhaes RENEWAL
Silvio H PerinUnited KingdomAmy Elsner 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>