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
Francesco G BologniaSpainAnna Fali NEW
Sinclair C BriddickBrazilIvan Magalhaes QUALIFIED
Sinclair L AlbaresRussiaAmy Elsner NEW
Kadeem U NestleItalyIoni Bowcher RENEWAL
Johnson E VenereItalyOnyama Limba QUALIFIED
Aruna Z RimIndiaElwin Sharvill RENEWAL
Munro C BologniaCanadaAsiya Javayant QUALIFIED
Jones R MaletBrazilStephen Shaw NEW
Stacey W SergiJapanOnyama Limba NEGOTIATION
Rodrigues U GillianUnited KingdomBernardo Dominic NEW
Octavia U MorascaRussiaIvan Magalhaes NEW
Deepesh B MarrierCanadaAmy Elsner RENEWAL
Juan P ButtArgentinaAmy Elsner QUALIFIED
Salvatore R SaylorsRussiaIoni Bowcher QUALIFIED
Greenwood K CampainRussiaStephen Shaw UNQUALIFIED
Wickens U OldroydGermanyAnna Fali RENEWAL
Chavez X FerenczBrazilAsiya Javayant QUALIFIED
Alejandro M NickaArgentinaBernardo Dominic PROPOSAL
Octavia C OldroydArgentinaIoni Bowcher UNQUALIFIED
Rodrigues V PerinAustraliaIoni Bowcher QUALIFIED
Faith N VocelkaRussiaXuxue Feng UNQUALIFIED
Faith Q RulapaughArgentinaElwin Sharvill UNQUALIFIED
Mayumi H WieserRussiaStephen Shaw NEW
Arvin G FlosiCanadaBernardo Dominic UNQUALIFIED
David F RulapaughFranceIvan Magalhaes UNQUALIFIED
Salvatore R VenereSpainAsiya Javayant RENEWAL
Faith Y VenereArgentinaOnyama Limba PROPOSAL
Mujtaba L DarakjyCanadaIoni Bowcher UNQUALIFIED
Greenwood M WhobreyJapanAsiya Javayant UNQUALIFIED
Nicolas K AlbaresUnited KingdomXuxue Feng NEW
Kaitlin B VenereRussiaOnyama Limba PROPOSAL
Jennifer G FerenczJapanAmy Elsner PROPOSAL
David H RutaAustraliaXuxue Feng NEW
James V KolmetzFranceOnyama Limba NEW
Wickens W GarufiRussiaElwin Sharvill UNQUALIFIED
Mujtaba F GlickSpainOnyama Limba NEGOTIATION
Juan V GlickIndiaElwin Sharvill UNQUALIFIED
Silvio Q OldroydJapanOnyama Limba PROPOSAL
David H FigeroaIndiaBernardo Dominic PROPOSAL
Cody L DoeArgentinaStephen Shaw NEW
Ricardo H KuskoItalyAnna Fali NEW
Izzy W CaudyArgentinaElwin Sharvill UNQUALIFIED
Aditya H DoeRussiaAmy Elsner UNQUALIFIED
Rodrigues A PaprockiSpainElwin Sharvill QUALIFIED
Darci W GauchoGermanyStephen Shaw PROPOSAL
Darci U PaprockiIndiaAnna Fali PROPOSAL
Aika M NickaItalyOnyama Limba NEGOTIATION
Julie G ButtCanadaStephen Shaw RENEWAL
Greenwood K NickaJapanElwin Sharvill PROPOSAL
Claire W SlusarskiIndiaIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
James C ShinkoRussiaIvan Magalhaes PROPOSAL
Isabel J WaycottUnited KingdomAsiya Javayant QUALIFIED
Faith X MorascaIndiaElwin Sharvill QUALIFIED
Chavez N VenereUnited KingdomElwin Sharvill NEW
Cody C AmigonCanadaAmy Elsner UNQUALIFIED
David L ChuiUnited KingdomElwin Sharvill PROPOSAL
Isabel L PerinAustraliaBernardo Dominic NEW
Maria S ButtUnited KingdomBernardo Dominic NEGOTIATION
Maisha K CaldareraUnited KingdomBernardo Dominic QUALIFIED
Mujtaba Z MaletJapanIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Mujtaba Z GauchoIndia2024-05-12Morlong Associates RENEWAL74Xuxue Feng
1001Maria X BowleyJapan2024-05-06Rangoni Of Florence NEGOTIATION79Amy Elsner
1002Salvatore K MorascaCanada2024-05-21Buckley Miller Wright NEW71Anna Fali
1003Antonio F StensethJapan2024-05-31Truhlar And Truhlar Attys NEGOTIATION58Ioni Bowcher
1004Chavez V PaprockiGermany2024-05-09King, Christopher A Esq QUALIFIED88Ioni Bowcher
1005Munro L DoeBrazil2024-05-16Chemel, James L Cpa UNQUALIFIED66Elwin Sharvill
1006Maisha W OstroskyIndia2024-05-23Rangoni Of Florence NEGOTIATION17Elwin Sharvill
1007Isabel T OldroydCanada2024-05-18Morlong Associates QUALIFIED82Elwin Sharvill
1008Smith L ButtUnited Kingdom2024-05-05Rousseaux, Michael Esq PROPOSAL99Stephen Shaw
1009Deepesh D PerinAustralia2024-05-25Commercial Press NEGOTIATION81Anna Fali
1010Wickens E GarufiSpain2024-05-10Printing Dimensions RENEWAL50Asiya Javayant
1011Alejandro A AmigonSpain2024-05-27Rangoni Of Florence NEGOTIATION95Elwin Sharvill
1012Silvio K SlusarskiAustralia2024-05-30Chemel, James L Cpa RENEWAL58Anna Fali
1013Faith M MarrierSpain2024-05-23Rangoni Of Florence QUALIFIED24Ivan Magalhaes
1014Mayumi B WaycottCanada2024-05-25Rousseaux, Michael Esq RENEWAL17Ivan Magalhaes
1015Alejandro E RimBrazil2024-05-14Feiner Bros RENEWAL95Amy Elsner
1016Kaitlin W GarufiFrance2024-05-03King, Christopher A Esq NEW98Ioni Bowcher
1017Ricardo Z FigeroaJapan2024-05-30Chemel, James L Cpa QUALIFIED82Ioni Bowcher
1018Jefferson T MorascaArgentina2024-05-10Morlong Associates NEW2Xuxue Feng
1019Ricardo L FlosiRussia2024-05-29Feltz Printing Service QUALIFIED23Bernardo Dominic
1020Ashley E OstroskyIndia2024-05-26King, Christopher A Esq UNQUALIFIED64Onyama Limba
1021Leon L RoysterCanada2024-05-24Chemel, James L Cpa QUALIFIED41Ioni Bowcher
1022Murillo L ChuiFrance2024-05-12Dorl, James J Esq QUALIFIED66Asiya Javayant
1023Wickens Z StockhamRussia2024-05-16Printing Dimensions NEGOTIATION74Ivan Magalhaes
1024Jennifer L GillianSpain2024-05-17Truhlar And Truhlar Attys UNQUALIFIED47Ioni Bowcher
1025Morrow W PerinItaly2024-05-24Dorl, James J Esq NEW64Ivan Magalhaes
1026Juan W CampainSpain2024-05-03Truhlar And Truhlar Attys PROPOSAL30Stephen Shaw
1027Francesco V SchemmerUnited Kingdom2024-05-22Rangoni Of Florence RENEWAL86Amy Elsner
1028Stacey W BologniaItaly2024-05-04Chanay, Jeffrey A Esq PROPOSAL96Elwin Sharvill
1029Jefferson L KuskoSpain2024-05-19Dorl, James J Esq NEGOTIATION59Onyama Limba
1030Alejandro J ChuiGermany2024-05-04Feiner Bros UNQUALIFIED2Xuxue Feng
1031Jones Y BologniaIndia2024-05-14King, Christopher A Esq NEW46Ivan Magalhaes
1032Aditya S StensethArgentina2024-05-09Rousseaux, Michael Esq QUALIFIED96Ioni Bowcher
1033Juan P CampainUnited Kingdom2024-05-30Benton, John B Jr PROPOSAL41Amy Elsner
1034Cody R BologniaAustralia2024-05-16Commercial Press UNQUALIFIED59Asiya Javayant
1035James T KolmetzItaly2024-05-09Commercial Press NEW70Xuxue Feng
1036Jefferson C CaudyJapan2024-05-04Chapman, Ross E Esq PROPOSAL36Stephen Shaw
1037Mayumi P PaprockiBrazil2024-05-04Feiner Bros PROPOSAL27Amy Elsner
1038Sinclair P MarrierJapan2024-05-27Dorl, James J Esq RENEWAL34Xuxue Feng
1039Murillo M FlosiGermany2024-05-29Chemel, James L Cpa NEGOTIATION54Ioni Bowcher
1040Maisha L SergiCanada2024-05-29Commercial Press PROPOSAL90Anna Fali
1041Nicolas I DilliardGermany2024-05-08Rangoni Of Florence NEGOTIATION39Amy Elsner
1042Faith T DarakjyAustralia2024-05-23Buckley Miller Wright UNQUALIFIED53Elwin Sharvill
1043Costa G ChuiBrazil2024-05-15Rangoni Of Florence RENEWAL70Anna Fali
1044Kaitlin K SchemmerBrazil2024-05-31Chanay, Jeffrey A Esq PROPOSAL64Ioni Bowcher
1045Emily W MorascaJapan2024-05-13Feiner Bros NEGOTIATION97Bernardo Dominic
1046Julie N GillianRussia2024-05-13Chemel, James L Cpa PROPOSAL35Ioni Bowcher
1047Jefferson I CaudyIndia2024-05-28Morlong Associates RENEWAL3Ioni Bowcher
1048Maria A MacleadIndia2024-05-03Chapman, Ross E Esq NEW56Elwin Sharvill
1049Jefferson U PerinRussia2024-05-15Rousseaux, Michael Esq RENEWAL49Elwin Sharvill
Frozen Rows
NameCountryRepresentativeStatus
Leon O IturbideSpainXuxue Feng RENEWAL
Aika I RimRussiaElwin Sharvill PROPOSAL
Costa I BologniaJapanOnyama Limba NEW
Antonio E GauchoArgentinaIoni Bowcher RENEWAL
Morrow O CampainAustraliaIoni Bowcher NEW
Aruna W MarrierCanadaStephen Shaw PROPOSAL
Jeanfrancois Y MaletRussiaBernardo Dominic NEW
Tony E KolmetzArgentinaAmy Elsner NEGOTIATION
Francesco M FerenczJapanAnna Fali NEGOTIATION
Alejandro N SchemmerUnited KingdomElwin Sharvill NEGOTIATION
Salvatore U KolmetzFranceElwin Sharvill NEW
Greenwood U RoysterBrazilAnna Fali QUALIFIED
Antonio J KuskoJapanAsiya Javayant PROPOSAL
Kadeem B BowleyBrazilElwin Sharvill NEW
Cody J FigeroaArgentinaElwin Sharvill RENEWAL
Chavez D MarrierGermanyIvan Magalhaes QUALIFIED
Juan H FollerBrazilOnyama Limba NEGOTIATION
David U TollnerJapanBernardo Dominic RENEWAL
Darci Q CaudySpainBernardo Dominic NEW
Jones Y CampainAustraliaAnna Fali UNQUALIFIED
Antonio R RutaSpainElwin Sharvill NEGOTIATION
Claire T MacleadArgentinaAmy Elsner NEGOTIATION
Kadeem Q OstroskyIndiaElwin Sharvill QUALIFIED
Stacey R AmigonUnited KingdomBernardo Dominic NEW
Mujtaba Y WaycottBrazilOnyama Limba RENEWAL
Wickens U GarufiUnited KingdomAmy Elsner PROPOSAL
Izzy V DoeUnited KingdomBernardo Dominic NEGOTIATION
Ricardo N WhobreyJapanAnna Fali NEW
Julie S InouyeJapanAsiya Javayant UNQUALIFIED
Maisha I RulapaughSpainAsiya Javayant NEW
Tony B WhobreyAustraliaAmy Elsner NEGOTIATION
Mayumi E StensethBrazilXuxue Feng NEGOTIATION
Kadeem B NickaBrazilAsiya Javayant UNQUALIFIED
Leon L DilliardJapanOnyama Limba QUALIFIED
Morrow H DarakjyItalyStephen Shaw NEW
Clifford O CaudySpainBernardo Dominic NEGOTIATION
Izzy W AlbaresUnited KingdomAsiya Javayant PROPOSAL
Isabel J StockhamAustraliaBernardo Dominic NEW
Silvio D AlbaresBrazilAsiya Javayant QUALIFIED
Greenwood T SaylorsBrazilXuxue Feng NEGOTIATION
Clifford D RutaUnited KingdomOnyama Limba UNQUALIFIED
Cody R RutaJapanIvan Magalhaes QUALIFIED
David G ButtGermanyStephen Shaw RENEWAL
Isabel B PerinSpainOnyama Limba QUALIFIED
Sinclair Z GauchoAustraliaOnyama Limba NEGOTIATION
Stacey Z PaprockiBrazilBernardo Dominic NEW
Kaitlin W FerenczArgentinaElwin Sharvill QUALIFIED
Sinclair U OldroydCanadaOnyama Limba UNQUALIFIED
Chavez J RutaCanadaAsiya Javayant QUALIFIED
Stacey R KuskoCanadaIvan Magalhaes UNQUALIFIED
Frozen Columns
Name
Maisha B Malet
Aruna Q Gillian
Sinclair E Stockham
Jeanfrancois C Briddick
Antonio I Stenseth
Jones V Oldroyd
Ashley J Doe
Octavia V Bolognia
Ricardo Q Chui
Julie Q Campain
Francesco Z Malet
Rodrigues Q Malet
James X Poquette
Alejandro H Gillian
Francesco K Garufi
Leon X Campain
Aruna Y Ferencz
Ashley S Bolognia
Stacey J Figeroa
Arvin F Chui
Maria N Garufi
Arvin N Gaucho
Deepesh H Dilliard
Murillo W Royster
Kaitlin J Amigon
Deepesh H Ruta
Tony Z Stockham
James C Garufi
Tony F Venere
Smith C Kolmetz
Francesco K Stockham
Sinclair S Chui
Smith H Foller
Costa U Caldarera
Antonio D Sergi
Costa R Albares
Alejandro P Glick
Munro G Schemmer
Francesco R Marrier
Silvio P Figeroa
Nicolas F Kusko
Aruna H Paprocki
Arvin L Briddick
David Q Garufi
Ashley X Inouye
Leon F Figeroa
Leon F Bolognia
Claire I Ferencz
Jones C Amigon
Maria O Glick
IdCountryDate
1000India2024-05-14
1001Argentina2024-05-17
1002Japan2024-05-31
1003Argentina2024-05-21
1004Germany2024-05-29
1005Argentina2024-05-22
1006Spain2024-05-14
1007Germany2024-05-28
1008Brazil2024-05-29
1009Spain2024-05-26
1010Germany2024-05-03
1011United Kingdom2024-05-26
1012Argentina2024-05-08
1013France2024-05-27
1014Russia2024-05-23
1015Canada2024-05-23
1016Germany2024-05-20
1017Canada2024-05-21
1018France2024-05-26
1019Germany2024-05-03
1020Japan2024-05-14
1021Italy2024-05-19
1022Argentina2024-05-28
1023Australia2024-05-14
1024Spain2024-05-31
1025Japan2024-05-21
1026Japan2024-05-27
1027Russia2024-05-18
1028Brazil2024-05-02
1029Japan2024-05-09
1030Japan2024-05-03
1031Japan2024-05-02
1032Spain2024-05-04
1033France2024-05-13
1034India2024-05-19
1035Italy2024-05-11
1036India2024-05-24
1037India2024-05-21
1038Germany2024-05-04
1039United Kingdom2024-05-24
1040Australia2024-05-27
1041India2024-05-10
1042Argentina2024-05-24
1043India2024-05-26
1044Argentina2024-05-10
1045France2024-05-30
1046Russia2024-05-02
1047United Kingdom2024-05-23
1048Germany2024-05-20
1049France2024-05-06

On-Demand Data

NameIdCountryDate
Greenwood P Iturbide1000Italy2024-05-29
Kadeem S Nicka1001India2024-05-03
James V Caudy1002Japan2024-05-24
Mayumi Q Foller1003United Kingdom2024-05-24
Jefferson G Royster1004Italy2024-05-13
Tony F Ruta1005United Kingdom2024-05-31
Munro M Figeroa1006Italy2024-05-21
Darci D Rim1007United Kingdom2024-05-04
Murillo T Venere1008France2024-05-13
Wickens C Gaucho1009Japan2024-05-08
Rodrigues T Iturbide1010India2024-05-07
Morrow D Figeroa1011India2024-05-05
Arvin C Whobrey1012Italy2024-05-19
David O Darakjy1013Germany2024-05-13
Wickens N Malet1014India2024-05-06
Jefferson S Shinko1015Russia2024-05-21
David G Rim1016Australia2024-05-15
Ivar J Albares1017Australia2024-05-03
Emily K Kusko1018Italy2024-05-12
Morrow Y Tollner1019Russia2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Claire E VenereGermanyBernardo Dominic PROPOSAL
Leja V NickaSpainAsiya Javayant PROPOSAL
Wickens H BriddickAustraliaBernardo Dominic UNQUALIFIED
Kadeem N RulapaughAustraliaOnyama Limba PROPOSAL
Smith K OldroydCanadaAmy Elsner PROPOSAL
James F CaudyIndiaAmy Elsner RENEWAL
Cody N TollnerGermanyIvan Magalhaes PROPOSAL
Octavia M AlbaresUnited KingdomBernardo Dominic PROPOSAL
Darci Q SaylorsGermanyOnyama Limba NEW
Deepesh F SlusarskiCanadaAsiya Javayant UNQUALIFIED
Kaitlin H ShinkoBrazilBernardo Dominic PROPOSAL
Chavez T CaldareraRussiaStephen Shaw NEW
Jefferson T InouyeFranceBernardo Dominic UNQUALIFIED
James E CaudySpainAnna Fali PROPOSAL
Leja R MaletJapanBernardo Dominic PROPOSAL
Octavia N FigeroaJapanAmy Elsner QUALIFIED
Mayumi V StensethArgentinaIvan Magalhaes QUALIFIED
Emily X WaycottJapanXuxue Feng QUALIFIED
Nicolas A WaycottFranceAnna Fali NEGOTIATION
Juan L WaycottItalyStephen Shaw UNQUALIFIED
Stacey V PaprockiFranceElwin Sharvill QUALIFIED
Antonio F VenereJapanXuxue Feng NEGOTIATION
Clifford D RoysterUnited KingdomElwin Sharvill PROPOSAL
Leja R DoeSpainOnyama Limba NEW
Octavia I CampainArgentinaXuxue Feng PROPOSAL
Aruna P RulapaughItalyAsiya Javayant RENEWAL
Johnson Q RutaBrazilElwin Sharvill QUALIFIED
Ivar C InouyeUnited KingdomElwin Sharvill NEW
Sinclair S PerinRussiaIoni Bowcher NEGOTIATION
Nicolas R FerenczFranceElwin Sharvill RENEWAL
Johnson C BowleyRussiaXuxue Feng UNQUALIFIED
Antonio S CaldareraItalyAnna Fali NEW
Nicolas T KolmetzBrazilElwin Sharvill UNQUALIFIED
Murillo G NickaIndiaStephen Shaw NEGOTIATION
Maria C GauchoSpainStephen Shaw NEGOTIATION
Tony I WhobreyRussiaAmy Elsner RENEWAL
Mayumi B FerenczGermanyOnyama Limba QUALIFIED
Mujtaba A NestleUnited KingdomAnna Fali UNQUALIFIED
Maisha A InouyeItalyXuxue Feng QUALIFIED
Alejandro G OldroydItalyElwin Sharvill 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>