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
Silvio B WhobreyBrazilElwin Sharvill NEGOTIATION
Arvin S MorascaItalyAmy Elsner NEW
Adams V SergiCanadaStephen Shaw RENEWAL
Rodrigues Z RimFranceAsiya Javayant PROPOSAL
Jones Y DilliardRussiaAnna Fali RENEWAL
Isabel A FlosiBrazilAmy Elsner NEGOTIATION
Leon E OldroydBrazilOnyama Limba RENEWAL
Maria A MaletCanadaAsiya Javayant NEGOTIATION
Ricardo L TollnerArgentinaXuxue Feng PROPOSAL
Deepesh O WaycottRussiaXuxue Feng PROPOSAL
Kaitlin C BowleyBrazilIvan Magalhaes UNQUALIFIED
Ashley E GillianJapanOnyama Limba NEGOTIATION
Ricardo G WaycottBrazilIoni Bowcher NEGOTIATION
Leon I ShinkoAustraliaElwin Sharvill QUALIFIED
Leja T FollerCanadaIoni Bowcher UNQUALIFIED
Arvin F GlickCanadaBernardo Dominic NEGOTIATION
Kadeem L BologniaUnited KingdomElwin Sharvill QUALIFIED
Maisha P WieserItalyXuxue Feng NEGOTIATION
Murillo L SergiSpainAnna Fali QUALIFIED
Maisha N VenereArgentinaStephen Shaw NEGOTIATION
Costa K PaprockiFranceXuxue Feng NEGOTIATION
Deepesh O OldroydIndiaBernardo Dominic RENEWAL
Kadeem R AlbaresCanadaAmy Elsner RENEWAL
Adams L GillianBrazilAsiya Javayant RENEWAL
Jeanfrancois A StockhamGermanyStephen Shaw UNQUALIFIED
Kaitlin E AlbaresJapanAmy Elsner NEGOTIATION
Smith R GillianSpainIoni Bowcher RENEWAL
Francesco S CaldareraUnited KingdomXuxue Feng QUALIFIED
Greenwood K WhobreyCanadaOnyama Limba NEW
Leja N IturbideCanadaStephen Shaw NEW
Misaki Y PoquetteBrazilAsiya Javayant PROPOSAL
Arvin O FigeroaAustraliaBernardo Dominic PROPOSAL
Alejandro X RimCanadaAnna Fali NEGOTIATION
Silvio C InouyeBrazilOnyama Limba RENEWAL
Jennifer E MorascaAustraliaIvan Magalhaes QUALIFIED
Maisha D InouyeSpainIoni Bowcher NEW
Aika B PoquetteSpainIvan Magalhaes NEGOTIATION
Isabel V NickaItalyAsiya Javayant RENEWAL
Ivar E RoysterCanadaBernardo Dominic UNQUALIFIED
Ricardo R SergiGermanyStephen Shaw NEW
Alejandro T DoeBrazilIvan Magalhaes PROPOSAL
Tony P FigeroaCanadaIvan Magalhaes NEW
Kaitlin S DarakjyGermanyXuxue Feng RENEWAL
Darci L GarufiUnited KingdomStephen Shaw PROPOSAL
Salvatore V BriddickBrazilIoni Bowcher PROPOSAL
Emily S FollerAustraliaElwin Sharvill QUALIFIED
Deepesh K MacleadAustraliaElwin Sharvill QUALIFIED
Izzy D StensethFranceOnyama Limba NEGOTIATION
Jefferson A DoeJapanAsiya Javayant NEW
Kadeem A SchemmerAustraliaOnyama Limba UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Deepesh W VocelkaBrazilElwin Sharvill NEW
Misaki U PaprockiJapanAmy Elsner PROPOSAL
Cody P CaldareraJapanElwin Sharvill RENEWAL
Chavez H OstroskyIndiaAsiya Javayant PROPOSAL
Izzy Q MorascaAustraliaStephen Shaw NEW
Ivar F DilliardArgentinaIoni Bowcher RENEWAL
David Q BriddickArgentinaStephen Shaw RENEWAL
Emily T FlosiAustraliaIvan Magalhaes UNQUALIFIED
Darci O WieserGermanyIoni Bowcher NEW
Rodrigues O SchemmerFranceOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika J MaletCanada2025-04-15Rangoni Of Florence NEGOTIATION44Xuxue Feng
1001Jennifer C BriddickAustralia2025-04-08Benton, John B Jr RENEWAL84Ivan Magalhaes
1002Maisha B FollerSpain2025-04-10Chanay, Jeffrey A Esq UNQUALIFIED14Elwin Sharvill
1003Wickens X OldroydIndia2025-04-06Chemel, James L Cpa UNQUALIFIED3Stephen Shaw
1004Deepesh Z MacleadJapan2025-04-25Rousseaux, Michael Esq PROPOSAL22Elwin Sharvill
1005James O AlbaresUnited Kingdom2025-04-11Chanay, Jeffrey A Esq NEW6Bernardo Dominic
1006Jones E BologniaItaly2025-04-28Rangoni Of Florence UNQUALIFIED61Onyama Limba
1007Ashley S VocelkaCanada2025-04-01Commercial Press NEGOTIATION52Onyama Limba
1008Salvatore D MaletSpain2025-04-23Truhlar And Truhlar Attys RENEWAL88Ivan Magalhaes
1009Munro I NickaArgentina2025-04-15Rangoni Of Florence QUALIFIED19Stephen Shaw
1010Faith M GillianFrance2025-04-11Dorl, James J Esq NEGOTIATION92Asiya Javayant
1011Darci I CaudyUnited Kingdom2025-04-27King, Christopher A Esq UNQUALIFIED33Elwin Sharvill
1012Deepesh S SlusarskiItaly2025-04-02Chapman, Ross E Esq QUALIFIED6Bernardo Dominic
1013Johnson M SchemmerItaly2025-04-15Chemel, James L Cpa NEW2Anna Fali
1014Misaki P KuskoAustralia2025-04-25Feiner Bros RENEWAL67Amy Elsner
1015Johnson X WaycottCanada2025-04-12Dorl, James J Esq RENEWAL55Bernardo Dominic
1016Murillo F MarrierCanada2025-04-06Morlong Associates QUALIFIED99Ioni Bowcher
1017Stacey N VocelkaJapan2025-04-01Rangoni Of Florence UNQUALIFIED86Onyama Limba
1018Johnson S MaletItaly2025-04-18Commercial Press PROPOSAL16Anna Fali
1019Jennifer M BologniaUnited Kingdom2025-04-06Buckley Miller Wright NEGOTIATION77Xuxue Feng
1020Ricardo G DilliardCanada2025-04-08Dorl, James J Esq UNQUALIFIED91Stephen Shaw
1021Silvio H PerinCanada2025-04-23Chemel, James L Cpa NEW16Amy Elsner
1022Mujtaba F PerinGermany2025-04-14Feltz Printing Service PROPOSAL6Amy Elsner
1023Juan F DarakjyRussia2025-04-01Chemel, James L Cpa UNQUALIFIED94Xuxue Feng
1024Darci T IturbideBrazil2025-04-12Printing Dimensions UNQUALIFIED64Xuxue Feng
1025Johnson S NestleSpain2025-04-26Truhlar And Truhlar Attys RENEWAL9Elwin Sharvill
1026Mayumi T FlosiItaly2025-04-19Dorl, James J Esq UNQUALIFIED64Asiya Javayant
1027Julie I RoysterItaly2025-04-28Feiner Bros UNQUALIFIED61Elwin Sharvill
1028Mayumi S SergiArgentina2025-04-26Morlong Associates NEW44Onyama Limba
1029Maisha C KuskoSpain2025-04-29Morlong Associates RENEWAL8Ioni Bowcher
1030Juan O RimIndia2025-04-05Chapman, Ross E Esq RENEWAL53Elwin Sharvill
1031Jeanfrancois P InouyeSpain2025-04-26Rangoni Of Florence RENEWAL45Bernardo Dominic
1032Ricardo Y FerenczItaly2025-04-23King, Christopher A Esq NEGOTIATION97Amy Elsner
1033Jefferson T OstroskyIndia2025-04-11Rangoni Of Florence PROPOSAL61Bernardo Dominic
1034Smith I AlbaresFrance2025-04-18Commercial Press QUALIFIED71Asiya Javayant
1035Aditya K GlickRussia2025-04-11Chemel, James L Cpa QUALIFIED64Onyama Limba
1036Jefferson K VenereJapan2025-04-23Rousseaux, Michael Esq NEGOTIATION37Xuxue Feng
1037Adams D PaprockiAustralia2025-04-23Chapman, Ross E Esq NEW37Ioni Bowcher
1038Kaitlin M RimRussia2025-04-02Feiner Bros NEGOTIATION81Stephen Shaw
1039Francesco D FollerSpain2025-04-10Feiner Bros QUALIFIED27Anna Fali
1040Arvin U RimAustralia2025-04-25Dorl, James J Esq RENEWAL86Ioni Bowcher
1041Tony E FollerFrance2025-04-05Benton, John B Jr NEGOTIATION19Amy Elsner
1042Stacey W WieserGermany2025-04-02Truhlar And Truhlar Attys NEGOTIATION98Asiya Javayant
1043Maisha A KolmetzCanada2025-04-15King, Christopher A Esq NEGOTIATION38Ivan Magalhaes
1044Aditya J MorascaJapan2025-04-19Rousseaux, Michael Esq QUALIFIED78Amy Elsner
1045Aditya E WhobreySpain2025-04-07Feiner Bros NEW6Asiya Javayant
1046Clifford C FerenczUnited Kingdom2025-04-20Chapman, Ross E Esq UNQUALIFIED67Stephen Shaw
1047Clifford P FlosiArgentina2025-04-13King, Christopher A Esq RENEWAL40Stephen Shaw
1048Smith A PerinGermany2025-04-13Chapman, Ross E Esq NEW53Bernardo Dominic
1049Darci O DilliardIndia2025-04-02Rousseaux, Michael Esq PROPOSAL56Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Costa I InouyeJapanElwin Sharvill PROPOSAL
Johnson A WieserUnited KingdomIvan Magalhaes NEW
Aditya C TollnerSpainIvan Magalhaes QUALIFIED
Leon N CaudyAustraliaStephen Shaw RENEWAL
Silvio S BowleyAustraliaBernardo Dominic NEGOTIATION
Alejandro M FigeroaArgentinaStephen Shaw RENEWAL
Jennifer O MarrierRussiaXuxue Feng PROPOSAL
Aruna C RoysterSpainElwin Sharvill QUALIFIED
Ricardo D SaylorsUnited KingdomIvan Magalhaes RENEWAL
Jeanfrancois H FlosiIndiaIvan Magalhaes UNQUALIFIED
Munro A FlosiItalyIoni Bowcher RENEWAL
Sinclair X TollnerAustraliaXuxue Feng NEGOTIATION
Arvin J SlusarskiBrazilIoni Bowcher UNQUALIFIED
Antonio L KolmetzUnited KingdomOnyama Limba NEW
Aika P GarufiAustraliaAmy Elsner NEW
Kaitlin X RimJapanXuxue Feng QUALIFIED
Francesco D MaletGermanyAnna Fali RENEWAL
Munro K WieserCanadaBernardo Dominic NEGOTIATION
Silvio D ButtJapanElwin Sharvill RENEWAL
Leon F FigeroaUnited KingdomOnyama Limba NEW
Octavia P GlickGermanyIoni Bowcher NEGOTIATION
Tony H PoquetteFranceAmy Elsner QUALIFIED
Ivar H MorascaFranceElwin Sharvill UNQUALIFIED
Costa Z RutaRussiaStephen Shaw QUALIFIED
Aika A WieserUnited KingdomElwin Sharvill RENEWAL
David L CaldareraArgentinaAsiya Javayant UNQUALIFIED
Salvatore S DilliardUnited KingdomIvan Magalhaes NEW
Mujtaba E SaylorsSpainBernardo Dominic RENEWAL
Francesco U WaycottUnited KingdomIoni Bowcher NEW
Greenwood L WhobreyItalyOnyama Limba UNQUALIFIED
Cody S TollnerFranceOnyama Limba UNQUALIFIED
Chavez X RimIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois E RoysterJapanBernardo Dominic UNQUALIFIED
Isabel Q CaudyJapanBernardo Dominic PROPOSAL
Salvatore S GarufiSpainAmy Elsner QUALIFIED
Jeanfrancois K GauchoItalyBernardo Dominic QUALIFIED
Adams D MarrierFranceAmy Elsner QUALIFIED
Johnson I MaletAustraliaAnna Fali NEW
Juan C OldroydArgentinaXuxue Feng UNQUALIFIED
Emily E NestleGermanyStephen Shaw QUALIFIED
Nicolas J SaylorsFranceAmy Elsner NEGOTIATION
Deepesh E PaprockiJapanElwin Sharvill UNQUALIFIED
Faith X WaycottFranceXuxue Feng PROPOSAL
Silvio R GillianItalyIvan Magalhaes QUALIFIED
Stacey T AlbaresGermanyOnyama Limba NEGOTIATION
David V FollerCanadaAmy Elsner NEW
Jefferson R MarrierIndiaIvan Magalhaes PROPOSAL
Arvin C SaylorsAustraliaAmy Elsner NEW
Maisha S GlickSpainXuxue Feng RENEWAL
Johnson L FollerFranceIoni Bowcher PROPOSAL
Frozen Columns
Name
Misaki U Chui
James P Paprocki
Morrow I Sergi
Mujtaba B Chui
Isabel M Kusko
Jennifer V Briddick
Aditya P Doe
Leon Z Butt
Isabel Z Kusko
Costa B Ferencz
Kadeem D Gaucho
Aika Z Schemmer
Greenwood U Sergi
Cody U Vocelka
Tony S Tollner
Chavez T Nicka
Faith N Bolognia
Greenwood U Slusarski
Salvatore I Figeroa
Claire Y Malet
Stacey Y Chui
James F Nestle
Sinclair F Bowley
Leon I Dilliard
Clifford G Vocelka
Isabel T Ostrosky
Silvio P Waycott
Aruna Y Bowley
Jennifer X Waycott
Aruna N Morasca
Jones R Dilliard
Faith K Stockham
Ashley P Nestle
Stacey Z Iturbide
Emily F Maclead
Claire V Paprocki
Cody Y Nestle
Morrow Y Paprocki
Murillo U Ostrosky
Maisha K Dilliard
Ashley E Bowley
Jeanfrancois M Chui
Faith Y Rim
Munro X Nicka
Chavez A Whobrey
Costa U Shinko
Claire A Doe
Maria D Morasca
Morrow I Figeroa
Ricardo H Waycott
IdCountryDate
1000Japan2025-04-27
1001Germany2025-03-31
1002India2025-04-19
1003France2025-04-18
1004Brazil2025-04-26
1005India2025-04-11
1006Brazil2025-04-06
1007Brazil2025-04-02
1008Brazil2025-04-16
1009France2025-04-08
1010Japan2025-04-17
1011Italy2025-04-08
1012Italy2025-04-14
1013Russia2025-04-14
1014Canada2025-04-17
1015India2025-04-28
1016Germany2025-04-24
1017Italy2025-04-04
1018Spain2025-04-20
1019Russia2025-04-14
1020Argentina2025-04-01
1021Spain2025-04-09
1022India2025-04-24
1023India2025-04-17
1024Italy2025-04-16
1025Japan2025-04-27
1026Argentina2025-04-16
1027Germany2025-04-10
1028Australia2025-04-17
1029Russia2025-04-21
1030Italy2025-04-05
1031Germany2025-04-23
1032United Kingdom2025-04-10
1033Spain2025-04-08
1034Brazil2025-04-17
1035France2025-04-06
1036Japan2025-04-01
1037Canada2025-04-22
1038Argentina2025-04-29
1039Japan2025-04-20
1040Australia2025-04-13
1041Italy2025-04-13
1042Canada2025-04-22
1043Canada2025-04-15
1044Japan2025-04-04
1045Germany2025-04-02
1046Spain2025-04-06
1047Brazil2025-03-31
1048Italy2025-04-14
1049Argentina2025-04-17

On-Demand Data

NameIdCountryDate
Mayumi Z Malet1000Australia2025-04-11
Jefferson B Sergi1001Spain2025-04-20
Cody T Butt1002Brazil2025-04-10
Tony S Maclead1003Argentina2025-04-29
Costa O Iturbide1004Argentina2025-04-04
Jones G Chui1005Germany2025-04-12
Mujtaba P Waycott1006Japan2025-04-28
Aruna H Albares1007United Kingdom2025-04-07
Aditya Z Flosi1008Germany2025-04-17
Julie W Ruta1009Argentina2025-04-07
Johnson W Ruta1010Canada2025-04-29
Ashley Z Shinko1011Brazil2025-04-02
Johnson C Marrier1012Russia2025-04-02
Clifford S Bolognia1013Canada2025-04-18
Johnson E Maclead1014Argentina2025-04-11
Jefferson D Oldroyd1015Argentina2025-04-08
Leja U Whobrey1016Japan2025-04-18
Alejandro M Sergi1017Argentina2025-04-08
Isabel Y Oldroyd1018India2025-04-27
Darci M Marrier1019Russia2025-04-19
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Salvatore O DilliardBrazilBernardo Dominic NEGOTIATION
Mayumi W RulapaughBrazilElwin Sharvill UNQUALIFIED
Smith U FollerSpainAmy Elsner PROPOSAL
Clifford N DoeCanadaStephen Shaw PROPOSAL
Julie I DoeArgentinaBernardo Dominic NEW
Salvatore F FigeroaGermanyIoni Bowcher UNQUALIFIED
Aruna L StensethCanadaOnyama Limba PROPOSAL
Ivar P FlosiAustraliaOnyama Limba QUALIFIED
Leon Y InouyeFranceXuxue Feng RENEWAL
Darci Q CaudySpainElwin Sharvill NEGOTIATION
Jeanfrancois T RutaRussiaIvan Magalhaes NEW
Greenwood K IturbideIndiaXuxue Feng RENEWAL
Kadeem C FigeroaAustraliaAnna Fali PROPOSAL
Aika P CaudyBrazilOnyama Limba NEGOTIATION
Jennifer S PerinSpainIvan Magalhaes NEGOTIATION
Arvin Y DilliardSpainAnna Fali UNQUALIFIED
Ashley O StensethFranceBernardo Dominic PROPOSAL
Antonio I CampainAustraliaIoni Bowcher NEW
Greenwood U OldroydSpainXuxue Feng QUALIFIED
Salvatore C BowleyJapanAmy Elsner NEGOTIATION
Emily Q PerinGermanyIoni Bowcher NEW
David H VocelkaBrazilBernardo Dominic UNQUALIFIED
Kadeem G SlusarskiUnited KingdomXuxue Feng NEGOTIATION
Misaki I AlbaresUnited KingdomElwin Sharvill PROPOSAL
Claire P KuskoGermanyElwin Sharvill RENEWAL
Jefferson A RoysterJapanBernardo Dominic RENEWAL
Leon K GlickJapanAnna Fali UNQUALIFIED
Ashley C MorascaAustraliaIoni Bowcher PROPOSAL
James L ButtIndiaIvan Magalhaes NEGOTIATION
Ricardo R KolmetzJapanAmy Elsner NEGOTIATION
Wickens I CaldareraAustraliaOnyama Limba RENEWAL
Maisha E RimCanadaXuxue Feng UNQUALIFIED
Costa R ShinkoIndiaAnna Fali PROPOSAL
Chavez Z WieserItalyBernardo Dominic QUALIFIED
Salvatore N WhobreyRussiaXuxue Feng PROPOSAL
Ivar P VenereJapanBernardo Dominic NEGOTIATION
Octavia B PaprockiCanadaAnna Fali NEGOTIATION
Mayumi N PoquetteItalyOnyama Limba UNQUALIFIED
Alejandro E OstroskyGermanyStephen Shaw QUALIFIED
Kadeem E GarufiAustraliaBernardo Dominic QUALIFIED

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