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
Munro J GlickRussiaBernardo Dominic QUALIFIED
Maria D ChuiIndiaStephen Shaw RENEWAL
Murillo Q SchemmerJapanIvan Magalhaes NEGOTIATION
Misaki A DilliardIndiaAnna Fali UNQUALIFIED
Leon L OldroydItalyAmy Elsner QUALIFIED
Juan D PoquetteUnited KingdomElwin Sharvill NEW
Stacey Y MaletRussiaOnyama Limba NEGOTIATION
Izzy I FerenczArgentinaStephen Shaw NEGOTIATION
Silvio I GarufiRussiaIvan Magalhaes QUALIFIED
Emily B NestleItalyAsiya Javayant PROPOSAL
Leja M SlusarskiCanadaElwin Sharvill PROPOSAL
Kaitlin L IturbideArgentinaIvan Magalhaes RENEWAL
Mayumi I VenereAustraliaAnna Fali NEGOTIATION
Maisha V SaylorsAustraliaOnyama Limba QUALIFIED
Munro V GauchoIndiaIvan Magalhaes QUALIFIED
Nicolas P NestleAustraliaOnyama Limba UNQUALIFIED
Jennifer A BologniaUnited KingdomXuxue Feng PROPOSAL
Kadeem U KuskoItalyBernardo Dominic QUALIFIED
Clifford U SergiRussiaXuxue Feng PROPOSAL
Clifford N OldroydFranceAsiya Javayant UNQUALIFIED
Emily B TollnerGermanyOnyama Limba UNQUALIFIED
Kadeem V DoeAustraliaOnyama Limba RENEWAL
Jefferson U OstroskyAustraliaAnna Fali NEGOTIATION
Aditya S RimItalyBernardo Dominic UNQUALIFIED
Wickens O MaletGermanyElwin Sharvill QUALIFIED
Emily E SergiFranceAsiya Javayant PROPOSAL
David A PerinSpainAsiya Javayant UNQUALIFIED
Maria B VenereFranceIvan Magalhaes NEW
Costa F SchemmerFranceOnyama Limba PROPOSAL
Aditya H AmigonAustraliaXuxue Feng QUALIFIED
Izzy P MacleadSpainXuxue Feng NEW
Alejandro A ButtRussiaStephen Shaw NEGOTIATION
Ivar B DilliardArgentinaIoni Bowcher RENEWAL
Johnson Z BologniaRussiaElwin Sharvill NEW
Salvatore D SchemmerIndiaAsiya Javayant NEGOTIATION
Antonio V WaycottItalyAmy Elsner UNQUALIFIED
Clifford A ShinkoIndiaAnna Fali QUALIFIED
Smith Y SergiCanadaStephen Shaw NEGOTIATION
Greenwood S SchemmerCanadaOnyama Limba PROPOSAL
Munro I FollerArgentinaAmy Elsner RENEWAL
Octavia B SlusarskiArgentinaStephen Shaw RENEWAL
Ricardo I NestleBrazilStephen Shaw PROPOSAL
Arvin M GauchoItalyIvan Magalhaes NEW
Silvio N FollerRussiaAsiya Javayant NEGOTIATION
Kadeem F StensethGermanyAsiya Javayant NEW
Aditya V CaldareraAustraliaIvan Magalhaes NEGOTIATION
Misaki I ButtArgentinaIvan Magalhaes UNQUALIFIED
Misaki B CaldareraBrazilIoni Bowcher NEW
Cody R BologniaFranceBernardo Dominic NEW
Murillo N WhobreyGermanyAnna Fali RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones C CaldareraIndiaElwin Sharvill RENEWAL
Smith W StockhamGermanyStephen Shaw NEGOTIATION
Deepesh P ShinkoFranceIoni Bowcher UNQUALIFIED
Juan L FigeroaIndiaElwin Sharvill UNQUALIFIED
Stacey R PaprockiBrazilXuxue Feng NEGOTIATION
Juan U SergiGermanyOnyama Limba RENEWAL
Aika X BowleyRussiaAnna Fali NEGOTIATION
Maisha I ButtFranceXuxue Feng PROPOSAL
Claire C FigeroaBrazilStephen Shaw QUALIFIED
Kadeem Q RulapaughSpainXuxue Feng PROPOSAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Salvatore Y KolmetzUnited Kingdom2026-07-21Printing Dimensions NEGOTIATION13Elwin Sharvill
1001Nicolas L StensethSpain2026-07-27Buckley Miller Wright RENEWAL98Ivan Magalhaes
1002Octavia X PoquetteIndia2026-08-02Morlong Associates QUALIFIED99Bernardo Dominic
1003Sinclair L WaycottAustralia2026-08-09Dorl, James J Esq UNQUALIFIED36Asiya Javayant
1004Murillo X VocelkaAustralia2026-08-15Chanay, Jeffrey A Esq NEW78Xuxue Feng
1005Aruna R SlusarskiUnited Kingdom2026-07-31Commercial Press UNQUALIFIED61Elwin Sharvill
1006Ashley O CampainJapan2026-08-02Rangoni Of Florence PROPOSAL41Asiya Javayant
1007Deepesh U RutaJapan2026-08-05Chapman, Ross E Esq RENEWAL93Asiya Javayant
1008Maria F MaletArgentina2026-08-05Feltz Printing Service NEW85Anna Fali
1009Kaitlin L SchemmerIndia2026-08-03Chanay, Jeffrey A Esq NEGOTIATION45Bernardo Dominic
1010Cody A MaletFrance2026-08-16Morlong Associates PROPOSAL95Ioni Bowcher
1011Deepesh J NickaArgentina2026-07-27Printing Dimensions UNQUALIFIED61Onyama Limba
1012Chavez Y TollnerGermany2026-08-17Commercial Press RENEWAL5Amy Elsner
1013Claire X TollnerCanada2026-08-03Chemel, James L Cpa PROPOSAL45Amy Elsner
1014Rodrigues C MorascaItaly2026-08-05Chapman, Ross E Esq RENEWAL20Ivan Magalhaes
1015Mujtaba V OstroskyAustralia2026-08-08Feltz Printing Service QUALIFIED65Ioni Bowcher
1016Munro T PaprockiBrazil2026-07-19Printing Dimensions PROPOSAL96Anna Fali
1017Misaki J WhobreyAustralia2026-08-04Feltz Printing Service PROPOSAL45Xuxue Feng
1018David Y SaylorsFrance2026-08-08Morlong Associates UNQUALIFIED27Ivan Magalhaes
1019Aika K FerenczCanada2026-08-06King, Christopher A Esq QUALIFIED75Asiya Javayant
1020Murillo L GillianAustralia2026-07-27Rangoni Of Florence NEW97Elwin Sharvill
1021Aruna Z MaletRussia2026-07-26Rangoni Of Florence RENEWAL23Ioni Bowcher
1022Adams M ChuiSpain2026-08-02Printing Dimensions PROPOSAL33Xuxue Feng
1023Izzy A OstroskyIndia2026-07-30Feiner Bros RENEWAL55Asiya Javayant
1024Claire S TollnerRussia2026-07-27Rangoni Of Florence QUALIFIED68Asiya Javayant
1025Maisha H PaprockiFrance2026-07-30Buckley Miller Wright PROPOSAL62Xuxue Feng
1026Arvin C ChuiRussia2026-08-02Rangoni Of Florence PROPOSAL48Onyama Limba
1027Aditya Y BologniaAustralia2026-08-12Buckley Miller Wright NEGOTIATION5Xuxue Feng
1028Francesco F OldroydItaly2026-07-31Feiner Bros QUALIFIED25Ioni Bowcher
1029James H WhobreyBrazil2026-08-13Benton, John B Jr NEGOTIATION92Amy Elsner
1030Leja Q SchemmerAustralia2026-07-22Morlong Associates UNQUALIFIED81Asiya Javayant
1031Darci J CaldareraCanada2026-07-19Benton, John B Jr RENEWAL95Amy Elsner
1032Leon W MaletCanada2026-08-13Feiner Bros QUALIFIED33Stephen Shaw
1033James K OldroydFrance2026-08-05Rangoni Of Florence QUALIFIED77Stephen Shaw
1034Kadeem D RimIndia2026-08-14Feltz Printing Service PROPOSAL33Xuxue Feng
1035Smith S PaprockiSpain2026-08-08Truhlar And Truhlar Attys QUALIFIED64Onyama Limba
1036David Y MacleadIndia2026-07-28Morlong Associates PROPOSAL84Ivan Magalhaes
1037Leon D WieserFrance2026-08-15Printing Dimensions RENEWAL41Ioni Bowcher
1038Emily S RoysterSpain2026-08-08Feltz Printing Service QUALIFIED67Ioni Bowcher
1039Antonio W BowleyGermany2026-08-07Buckley Miller Wright NEW75Onyama Limba
1040Maria B DilliardBrazil2026-08-13Feltz Printing Service UNQUALIFIED6Anna Fali
1041Juan K AmigonSpain2026-08-08Morlong Associates UNQUALIFIED62Elwin Sharvill
1042Maisha D SaylorsJapan2026-08-11Dorl, James J Esq PROPOSAL57Stephen Shaw
1043Adams S PaprockiBrazil2026-07-19Chanay, Jeffrey A Esq NEGOTIATION99Ioni Bowcher
1044Salvatore N AlbaresSpain2026-07-26Morlong Associates RENEWAL67Bernardo Dominic
1045Maisha U RoysterGermany2026-07-19King, Christopher A Esq NEW98Anna Fali
1046Octavia B MacleadFrance2026-08-13Rangoni Of Florence RENEWAL63Stephen Shaw
1047Faith G MarrierCanada2026-08-04Truhlar And Truhlar Attys RENEWAL42Onyama Limba
1048Nicolas I MarrierCanada2026-08-14Morlong Associates UNQUALIFIED30Asiya Javayant
1049Ricardo O ShinkoItaly2026-08-15Truhlar And Truhlar Attys NEW86Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Francesco F NickaUnited KingdomIoni Bowcher UNQUALIFIED
Costa C GillianFranceIvan Magalhaes PROPOSAL
Rodrigues P PerinSpainAmy Elsner UNQUALIFIED
Misaki U NestleBrazilStephen Shaw NEGOTIATION
Leja Y CampainJapanElwin Sharvill QUALIFIED
Silvio S FigeroaUnited KingdomIvan Magalhaes PROPOSAL
Ivar Q MacleadJapanBernardo Dominic NEW
Salvatore C SergiIndiaAmy Elsner QUALIFIED
Isabel R VenereAustraliaOnyama Limba PROPOSAL
Rodrigues X RimBrazilAmy Elsner PROPOSAL
Faith S PoquetteCanadaIvan Magalhaes UNQUALIFIED
James J DilliardArgentinaBernardo Dominic RENEWAL
Izzy C OldroydRussiaElwin Sharvill QUALIFIED
Kaitlin E CampainCanadaAnna Fali QUALIFIED
Isabel O BowleyAustraliaAmy Elsner RENEWAL
Jennifer Z GauchoSpainBernardo Dominic UNQUALIFIED
Adams A KuskoFranceIvan Magalhaes PROPOSAL
Morrow Z RoysterSpainElwin Sharvill UNQUALIFIED
Claire F CaudyArgentinaAsiya Javayant RENEWAL
Ivar B RutaFranceStephen Shaw PROPOSAL
Jefferson K VocelkaIndiaBernardo Dominic RENEWAL
Maisha R VenereArgentinaBernardo Dominic QUALIFIED
Costa B SchemmerGermanyIoni Bowcher UNQUALIFIED
Wickens L IturbideCanadaBernardo Dominic PROPOSAL
James W SaylorsGermanyOnyama Limba QUALIFIED
Francesco H RulapaughItalyStephen Shaw UNQUALIFIED
Mujtaba V PaprockiSpainAmy Elsner PROPOSAL
Mayumi R DarakjyJapanElwin Sharvill RENEWAL
Sinclair E ShinkoRussiaAsiya Javayant RENEWAL
Mujtaba J StensethArgentinaXuxue Feng RENEWAL
Misaki Z SaylorsSpainOnyama Limba PROPOSAL
Mujtaba P RoysterCanadaIvan Magalhaes NEGOTIATION
Ashley O StensethSpainBernardo Dominic NEW
Mujtaba N SaylorsJapanAmy Elsner UNQUALIFIED
Kaitlin S NickaAustraliaAmy Elsner NEGOTIATION
Jennifer S CampainItalyBernardo Dominic RENEWAL
Misaki O ShinkoAustraliaAmy Elsner UNQUALIFIED
Aruna B ShinkoJapanOnyama Limba RENEWAL
Claire D StockhamAustraliaAnna Fali PROPOSAL
Aika Z MarrierFranceAnna Fali RENEWAL
Murillo R WieserItalyOnyama Limba UNQUALIFIED
Izzy S StensethBrazilAmy Elsner UNQUALIFIED
Greenwood W FerenczAustraliaStephen Shaw QUALIFIED
Juan U WieserFranceAmy Elsner NEGOTIATION
Jeanfrancois M InouyeRussiaAsiya Javayant QUALIFIED
Munro V ButtJapanXuxue Feng QUALIFIED
Cody E PoquetteUnited KingdomAsiya Javayant PROPOSAL
Maria E DoeBrazilXuxue Feng NEW
Claire H GarufiJapanAmy Elsner NEW
Leja C VocelkaArgentinaAnna Fali NEGOTIATION
Frozen Columns
Name
Smith W Poquette
Cody C Bolognia
Nicolas O Foller
Mujtaba E Saylors
Ivar K Inouye
Aditya W Oldroyd
Juan V Nicka
Maria A Campain
David K Slusarski
Leja L Chui
Mujtaba V Darakjy
Wickens K Darakjy
Leja G Marrier
Murillo B Figeroa
Juan D Garufi
Adams H Vocelka
Jeanfrancois A Bowley
Salvatore O Ruta
Clifford W Shinko
Clifford V Garufi
David W Maclead
Murillo M Glick
James E Garufi
Murillo T Nestle
David F Rim
Faith M Bowley
David K Chui
Salvatore D Glick
Julie Z Wieser
Julie J Amigon
Claire P Garufi
Kaitlin A Slusarski
Darci E Darakjy
Deepesh B Schemmer
Faith E Chui
Jennifer W Ruta
Aruna O Kusko
Sinclair Z Rim
Darci Y Rulapaugh
Aika P Caldarera
Aditya X Morasca
Juan K Malet
Jones S Caudy
Mayumi B Kusko
Leja X Figeroa
Smith H Bowley
Kaitlin B Royster
Johnson G Flosi
Misaki F Briddick
Munro F Caudy
IdCountryDate
1000Russia2026-07-21
1001United Kingdom2026-07-22
1002France2026-08-14
1003France2026-08-08
1004Spain2026-08-07
1005France2026-07-21
1006Italy2026-08-12
1007Russia2026-07-24
1008Russia2026-08-13
1009Japan2026-08-11
1010Australia2026-08-09
1011Australia2026-08-08
1012Italy2026-07-26
1013United Kingdom2026-07-30
1014Canada2026-08-17
1015Russia2026-07-28
1016Brazil2026-07-22
1017Japan2026-07-20
1018Brazil2026-08-05
1019Japan2026-08-11
1020Canada2026-07-29
1021Canada2026-07-26
1022France2026-08-04
1023India2026-07-31
1024United Kingdom2026-08-16
1025Argentina2026-07-29
1026Germany2026-08-11
1027Canada2026-08-11
1028Brazil2026-08-01
1029Japan2026-07-21
1030Spain2026-08-16
1031Japan2026-07-19
1032Canada2026-08-08
1033Argentina2026-08-04
1034Russia2026-08-08
1035Italy2026-08-07
1036Brazil2026-07-22
1037Spain2026-07-26
1038France2026-08-03
1039Italy2026-08-08
1040Spain2026-07-22
1041India2026-08-10
1042Spain2026-08-02
1043Argentina2026-08-03
1044Canada2026-08-02
1045Japan2026-08-10
1046Canada2026-08-10
1047France2026-08-16
1048Spain2026-07-26
1049Germany2026-07-24

On-Demand Data

NameIdCountryDate
Antonio X Iturbide1000Australia2026-07-30
Greenwood I Perin1001Australia2026-08-06
Arvin H Kusko1002Australia2026-08-16
Maria W Campain1003Spain2026-07-25
Greenwood J Foller1004Russia2026-08-12
Darci U Caudy1005Italy2026-08-13
Jeanfrancois N Ferencz1006France2026-08-09
Alejandro R Vocelka1007Canada2026-07-27
Wickens B Saylors1008France2026-08-12
Aruna K Slusarski1009Russia2026-07-25
Misaki Q Shinko1010India2026-08-14
Isabel M Shinko1011Brazil2026-07-23
Smith J Iturbide1012Japan2026-08-09
Nicolas E Sergi1013Argentina2026-08-02
Silvio M Chui1014Japan2026-08-13
Antonio V Doe1015India2026-08-05
Clifford R Caldarera1016Germany2026-07-20
Mujtaba U Tollner1017Argentina2026-08-06
Darci M Vocelka1018Italy2026-08-10
Leon G Perin1019Japan2026-07-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire Z VenereBrazilAsiya Javayant NEGOTIATION
Smith W BowleyGermanyBernardo Dominic PROPOSAL
Leja W TollnerSpainIoni Bowcher RENEWAL
Ashley L NestleFranceBernardo Dominic RENEWAL
Clifford O ShinkoArgentinaAnna Fali NEGOTIATION
Nicolas Y FigeroaSpainAsiya Javayant RENEWAL
David P GillianCanadaAmy Elsner RENEWAL
Stacey O FerenczIndiaElwin Sharvill QUALIFIED
Juan V WieserBrazilAsiya Javayant UNQUALIFIED
Faith N GarufiArgentinaElwin Sharvill QUALIFIED
Jones C SergiItalyIoni Bowcher NEGOTIATION
David S PerinBrazilBernardo Dominic RENEWAL
Costa J StockhamItalyAsiya Javayant QUALIFIED
Adams X GillianCanadaIvan Magalhaes NEGOTIATION
Jones N GauchoBrazilIoni Bowcher PROPOSAL
Ivar B RutaFranceElwin Sharvill QUALIFIED
Isabel D DarakjyIndiaBernardo Dominic UNQUALIFIED
Jeanfrancois J FlosiRussiaAsiya Javayant RENEWAL
Jones E ShinkoSpainElwin Sharvill NEGOTIATION
Octavia N MacleadIndiaOnyama Limba PROPOSAL
Wickens U RimBrazilElwin Sharvill RENEWAL
Maria B GlickIndiaBernardo Dominic QUALIFIED
James V BowleyItalyStephen Shaw NEW
Morrow E DoeJapanElwin Sharvill NEGOTIATION
Juan N IturbideArgentinaIoni Bowcher NEW
Clifford U StensethGermanyXuxue Feng PROPOSAL
Salvatore H WhobreyGermanyStephen Shaw PROPOSAL
Nicolas F WieserBrazilOnyama Limba PROPOSAL
Greenwood A RulapaughItalyBernardo Dominic RENEWAL
Morrow L MaletCanadaBernardo Dominic PROPOSAL
Octavia L ShinkoAustraliaAnna Fali UNQUALIFIED
Alejandro F MarrierArgentinaAnna Fali QUALIFIED
Adams S WaycottIndiaAnna Fali UNQUALIFIED
Jefferson W OstroskyIndiaOnyama Limba PROPOSAL
Rodrigues I CampainCanadaIvan Magalhaes RENEWAL
Clifford N PoquetteCanadaElwin Sharvill NEW
Julie D WhobreyRussiaXuxue Feng UNQUALIFIED
Deepesh X StensethArgentinaIvan Magalhaes NEGOTIATION
Misaki F FlosiArgentinaAnna Fali NEW
Arvin X FerenczArgentinaIoni Bowcher NEGOTIATION

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