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 A FlosiIndiaAnna Fali NEGOTIATION
Nicolas Z OldroydGermanyStephen Shaw RENEWAL
Jennifer G ChuiArgentinaBernardo Dominic QUALIFIED
Silvio M BriddickSpainAsiya Javayant PROPOSAL
Johnson M CaldareraBrazilElwin Sharvill NEW
Johnson Z PerinAustraliaElwin Sharvill QUALIFIED
Tony Y PerinBrazilElwin Sharvill UNQUALIFIED
Isabel P TollnerJapanAsiya Javayant NEGOTIATION
Aruna T BowleyFranceElwin Sharvill RENEWAL
Munro X WhobreySpainAsiya Javayant RENEWAL
Izzy Z StensethIndiaXuxue Feng NEW
Faith F SergiItalyIvan Magalhaes QUALIFIED
Francesco C ShinkoFranceAnna Fali RENEWAL
Isabel W AlbaresGermanyAnna Fali UNQUALIFIED
Antonio K BriddickUnited KingdomBernardo Dominic QUALIFIED
Murillo N BowleyJapanOnyama Limba UNQUALIFIED
Ashley H GauchoAustraliaAsiya Javayant UNQUALIFIED
Octavia W WieserCanadaAnna Fali PROPOSAL
Alejandro P RulapaughBrazilIvan Magalhaes NEW
Smith Q NickaIndiaXuxue Feng PROPOSAL
Aruna J WaycottGermanyOnyama Limba NEGOTIATION
Kadeem G FollerSpainOnyama Limba NEGOTIATION
Mayumi E WieserJapanAmy Elsner NEGOTIATION
Rodrigues C CaldareraIndiaBernardo Dominic NEGOTIATION
Maria H CaldareraSpainXuxue Feng UNQUALIFIED
Jones C BowleyRussiaAnna Fali RENEWAL
Maisha K CampainArgentinaIvan Magalhaes UNQUALIFIED
Kadeem M DilliardJapanAsiya Javayant RENEWAL
Johnson A WhobreyItalyOnyama Limba RENEWAL
Costa U MorascaRussiaAnna Fali QUALIFIED
Mujtaba D InouyeFranceElwin Sharvill UNQUALIFIED
Francesco R BologniaIndiaIvan Magalhaes QUALIFIED
Darci B VenereBrazilElwin Sharvill NEW
Salvatore G SaylorsArgentinaBernardo Dominic QUALIFIED
Mayumi V FlosiArgentinaXuxue Feng QUALIFIED
Wickens J NestleSpainAnna Fali RENEWAL
Octavia L BologniaBrazilElwin Sharvill NEGOTIATION
Jennifer V NickaGermanyStephen Shaw UNQUALIFIED
Adams C VocelkaBrazilIvan Magalhaes NEGOTIATION
Octavia M MaletFranceOnyama Limba RENEWAL
Nicolas Q DarakjyJapanAsiya Javayant QUALIFIED
Costa W WhobreyRussiaAsiya Javayant NEGOTIATION
Mayumi K IturbideArgentinaAnna Fali RENEWAL
Antonio J RimArgentinaBernardo Dominic NEGOTIATION
Smith Y GarufiFranceAmy Elsner NEW
Francesco Y OstroskyJapanXuxue Feng UNQUALIFIED
Jefferson F OstroskyGermanyIvan Magalhaes NEW
Rodrigues V RimItalyAnna Fali PROPOSAL
Mayumi U CampainIndiaAsiya Javayant NEW
Alejandro Z RimItalyIvan Magalhaes QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Silvio B InouyeArgentinaBernardo Dominic QUALIFIED
Antonio D KolmetzItalyXuxue Feng NEGOTIATION
James Y PaprockiAustraliaXuxue Feng UNQUALIFIED
Nicolas M AmigonIndiaBernardo Dominic PROPOSAL
Adams G ButtGermanyAnna Fali NEGOTIATION
David H OldroydCanadaBernardo Dominic QUALIFIED
Wickens F WaycottAustraliaOnyama Limba QUALIFIED
Isabel S FerenczRussiaIvan Magalhaes NEW
Munro H SlusarskiJapanAsiya Javayant NEW
Rodrigues W BologniaCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Smith Z SchemmerFrance2024-05-30Benton, John B Jr QUALIFIED46Elwin Sharvill
1001Claire L WieserAustralia2024-06-03Commercial Press PROPOSAL93Amy Elsner
1002Maisha U BriddickArgentina2024-05-24King, Christopher A Esq QUALIFIED60Onyama Limba
1003Stacey B NickaJapan2024-05-26Chapman, Ross E Esq PROPOSAL84Amy Elsner
1004Wickens Y WhobreyFrance2024-06-06Truhlar And Truhlar Attys QUALIFIED91Asiya Javayant
1005Ashley G WieserRussia2024-06-12Chemel, James L Cpa PROPOSAL16Anna Fali
1006Mayumi B StockhamAustralia2024-06-07Buckley Miller Wright RENEWAL81Stephen Shaw
1007Francesco F RutaIndia2024-05-31Morlong Associates PROPOSAL31Amy Elsner
1008Clifford I VenereGermany2024-05-18Chanay, Jeffrey A Esq NEGOTIATION39Ioni Bowcher
1009Munro Y DarakjySpain2024-06-06Commercial Press PROPOSAL67Elwin Sharvill
1010Aruna T PoquetteArgentina2024-05-23Rangoni Of Florence NEW92Onyama Limba
1011Julie Z CaudyBrazil2024-05-21Benton, John B Jr NEW29Ivan Magalhaes
1012Stacey D StockhamItaly2024-05-28Feiner Bros NEW1Xuxue Feng
1013Aika Z PoquetteItaly2024-05-17Truhlar And Truhlar Attys PROPOSAL98Ivan Magalhaes
1014David P KuskoBrazil2024-05-22Morlong Associates PROPOSAL60Bernardo Dominic
1015Ricardo E BowleyAustralia2024-06-12Benton, John B Jr QUALIFIED75Asiya Javayant
1016Chavez D VenereJapan2024-05-20King, Christopher A Esq QUALIFIED59Ioni Bowcher
1017Murillo L AmigonJapan2024-05-15Buckley Miller Wright QUALIFIED46Bernardo Dominic
1018Jeanfrancois H KuskoGermany2024-06-11Truhlar And Truhlar Attys PROPOSAL58Elwin Sharvill
1019Smith C BowleyFrance2024-06-09Buckley Miller Wright NEGOTIATION27Stephen Shaw
1020Aditya R ChuiBrazil2024-06-12Buckley Miller Wright PROPOSAL89Xuxue Feng
1021Morrow M MaletIndia2024-05-23Dorl, James J Esq RENEWAL36Ivan Magalhaes
1022Johnson Q CampainSpain2024-05-31Commercial Press NEW27Stephen Shaw
1023Jefferson R SergiBrazil2024-05-26Printing Dimensions NEGOTIATION20Elwin Sharvill
1024Salvatore S AlbaresCanada2024-05-30Benton, John B Jr NEGOTIATION1Ivan Magalhaes
1025Leon V GlickIndia2024-06-03Chemel, James L Cpa NEW23Elwin Sharvill
1026Emily I SergiRussia2024-05-25King, Christopher A Esq RENEWAL76Ivan Magalhaes
1027Maria D RoysterIndia2024-05-27Rousseaux, Michael Esq UNQUALIFIED44Amy Elsner
1028Aditya H GauchoIndia2024-06-13Chemel, James L Cpa PROPOSAL67Stephen Shaw
1029Costa C StensethRussia2024-05-17Feltz Printing Service NEW90Amy Elsner
1030Maisha E DilliardSpain2024-05-20Rousseaux, Michael Esq PROPOSAL65Ioni Bowcher
1031Mujtaba W CaudyIndia2024-05-17King, Christopher A Esq PROPOSAL92Bernardo Dominic
1032Octavia Z NickaGermany2024-06-01Rangoni Of Florence RENEWAL56Asiya Javayant
1033Greenwood P GauchoUnited Kingdom2024-06-05Rangoni Of Florence NEGOTIATION63Xuxue Feng
1034David S SchemmerUnited Kingdom2024-06-04Buckley Miller Wright NEW25Amy Elsner
1035Francesco H FigeroaJapan2024-05-22Benton, John B Jr QUALIFIED29Onyama Limba
1036Aika X NickaUnited Kingdom2024-06-13Chemel, James L Cpa RENEWAL54Ivan Magalhaes
1037Adams N BowleySpain2024-05-20Morlong Associates QUALIFIED56Onyama Limba
1038Jefferson B RulapaughUnited Kingdom2024-06-04Dorl, James J Esq RENEWAL25Anna Fali
1039Jeanfrancois Z NickaGermany2024-06-10Chemel, James L Cpa NEGOTIATION28Ivan Magalhaes
1040Isabel U VocelkaSpain2024-05-21Morlong Associates UNQUALIFIED49Ivan Magalhaes
1041Adams E SchemmerRussia2024-05-30Rousseaux, Michael Esq PROPOSAL28Xuxue Feng
1042James Q BriddickRussia2024-06-11Feltz Printing Service UNQUALIFIED7Anna Fali
1043Stacey N WhobreyIndia2024-06-13Rangoni Of Florence PROPOSAL59Stephen Shaw
1044Kaitlin U DarakjyFrance2024-05-30Rangoni Of Florence RENEWAL12Bernardo Dominic
1045Jefferson Y BowleyArgentina2024-05-20Benton, John B Jr NEGOTIATION51Stephen Shaw
1046Costa S MorascaSpain2024-05-28Morlong Associates QUALIFIED34Onyama Limba
1047David S MacleadSpain2024-05-28Rangoni Of Florence NEW71Bernardo Dominic
1048Salvatore K MaletRussia2024-06-11Commercial Press NEW42Anna Fali
1049Francesco O MacleadJapan2024-05-23Morlong Associates NEW79Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Munro E DilliardCanadaAmy Elsner PROPOSAL
Alejandro V DoeRussiaAnna Fali NEGOTIATION
Aditya Y MaletAustraliaXuxue Feng PROPOSAL
Emily S BowleyIndiaIoni Bowcher UNQUALIFIED
Jeanfrancois O TollnerGermanyIvan Magalhaes NEGOTIATION
Tony V AlbaresFranceAsiya Javayant PROPOSAL
Rodrigues V TollnerIndiaAmy Elsner UNQUALIFIED
Adams U MacleadJapanIvan Magalhaes PROPOSAL
Kadeem T KuskoGermanyAsiya Javayant UNQUALIFIED
Jeanfrancois N KolmetzBrazilAmy Elsner NEW
Greenwood L MaletJapanAnna Fali QUALIFIED
Sinclair F NickaFranceAsiya Javayant QUALIFIED
Adams S KolmetzIndiaStephen Shaw NEW
Aika U OldroydBrazilOnyama Limba NEW
David G StockhamArgentinaIvan Magalhaes QUALIFIED
Wickens H FollerArgentinaAsiya Javayant RENEWAL
Costa G PoquetteBrazilElwin Sharvill UNQUALIFIED
Maria S VenereGermanyElwin Sharvill QUALIFIED
Aika S ShinkoFranceIoni Bowcher NEGOTIATION
Jones H VocelkaAustraliaIvan Magalhaes NEGOTIATION
Jones D OldroydGermanyXuxue Feng RENEWAL
Salvatore P OstroskyUnited KingdomAsiya Javayant UNQUALIFIED
Octavia N PaprockiCanadaAnna Fali UNQUALIFIED
Clifford M RutaGermanyBernardo Dominic QUALIFIED
Maisha G BologniaBrazilBernardo Dominic RENEWAL
Kadeem L MorascaIndiaIvan Magalhaes RENEWAL
Adams B GillianCanadaXuxue Feng NEW
Isabel D SaylorsItalyAsiya Javayant QUALIFIED
Juan P WaycottJapanXuxue Feng NEW
Greenwood S VocelkaAustraliaAmy Elsner RENEWAL
Antonio R MaletSpainStephen Shaw QUALIFIED
Francesco J SaylorsUnited KingdomIvan Magalhaes UNQUALIFIED
Emily T MacleadRussiaAsiya Javayant QUALIFIED
Munro N RoysterArgentinaIoni Bowcher UNQUALIFIED
Rodrigues F ButtFranceOnyama Limba UNQUALIFIED
David X StockhamIndiaAsiya Javayant QUALIFIED
Clifford U MaletJapanStephen Shaw UNQUALIFIED
Mayumi Z PoquetteCanadaAsiya Javayant NEGOTIATION
Smith N ShinkoJapanIvan Magalhaes UNQUALIFIED
Jones Z FerenczItalyIoni Bowcher QUALIFIED
Salvatore I RoysterIndiaAsiya Javayant UNQUALIFIED
Wickens C VenereGermanyAmy Elsner RENEWAL
Wickens N VocelkaUnited KingdomAnna Fali NEW
Kadeem U SlusarskiItalyXuxue Feng NEW
Francesco X RoysterJapanAmy Elsner RENEWAL
Claire T InouyeBrazilStephen Shaw RENEWAL
Francesco H NestleUnited KingdomOnyama Limba NEGOTIATION
Wickens U PaprockiItalyAsiya Javayant UNQUALIFIED
Misaki V RoysterAustraliaStephen Shaw RENEWAL
Mujtaba Q StockhamBrazilElwin Sharvill QUALIFIED
Frozen Columns
Name
Emily H Paprocki
Emily K Venere
Misaki W Albares
Leon M Shinko
Jeanfrancois F Ruta
Greenwood A Slusarski
Aruna T Whobrey
Jefferson U Inouye
Isabel U Chui
Kaitlin D Ferencz
Mayumi H Nicka
Arvin U Nicka
Aruna G Amigon
Stacey S Kusko
James L Morasca
Antonio H Venere
Aruna T Saylors
Johnson Y Malet
Kadeem C Campain
David Y Schemmer
Maisha I Albares
Johnson J Schemmer
Claire C Nicka
Murillo Y Glick
Mujtaba G Malet
Leon G Marrier
Julie Q Foller
Nicolas W Caldarera
Smith I Oldroyd
Arvin N Doe
Murillo S Nestle
Emily G Saylors
Nicolas T Dilliard
Aruna C Doe
Leon X Gaucho
Maria A Darakjy
Julie B Paprocki
Antonio N Inouye
Stacey N Amigon
Wickens J Oldroyd
Kadeem G Malet
Octavia E Nestle
Alejandro K Nicka
Mujtaba Y Flosi
Clifford H Stockham
David G Bolognia
Nicolas O Malet
Rodrigues B Saylors
Mayumi E Chui
Rodrigues N Gillian
IdCountryDate
1000Argentina2024-06-11
1001Italy2024-05-16
1002Canada2024-05-19
1003Australia2024-06-01
1004Canada2024-06-11
1005Argentina2024-05-26
1006Russia2024-06-04
1007India2024-06-03
1008United Kingdom2024-06-11
1009Canada2024-05-16
1010India2024-06-07
1011India2024-06-11
1012Brazil2024-05-29
1013Japan2024-05-20
1014Germany2024-05-26
1015Russia2024-05-17
1016Australia2024-05-22
1017Spain2024-06-03
1018Germany2024-05-26
1019France2024-05-15
1020Russia2024-05-27
1021Argentina2024-05-31
1022Argentina2024-05-15
1023Spain2024-06-13
1024India2024-06-01
1025Argentina2024-05-29
1026India2024-05-31
1027Germany2024-06-09
1028Australia2024-05-19
1029Brazil2024-06-10
1030Germany2024-05-30
1031Canada2024-06-11
1032Russia2024-06-01
1033Spain2024-05-18
1034Canada2024-06-09
1035France2024-06-10
1036Italy2024-06-08
1037Germany2024-06-10
1038Spain2024-05-15
1039Italy2024-05-20
1040United Kingdom2024-05-16
1041Germany2024-06-07
1042Argentina2024-06-08
1043Japan2024-06-11
1044India2024-05-19
1045Canada2024-06-10
1046Brazil2024-05-17
1047Germany2024-05-16
1048India2024-06-01
1049Spain2024-05-30

On-Demand Data

NameIdCountryDate
Misaki Z Shinko1000Australia2024-05-21
Tony L Foller1001Australia2024-06-06
Smith L Ruta1002Spain2024-05-16
Octavia L Kolmetz1003India2024-05-21
Salvatore B Garufi1004Japan2024-05-19
Jefferson Q Stockham1005India2024-05-27
David Q Bowley1006Canada2024-05-24
Deepesh N Slusarski1007Canada2024-06-09
Silvio K Saylors1008Australia2024-05-21
Jefferson S Albares1009India2024-05-19
Johnson V Dilliard1010India2024-06-02
Costa H Rulapaugh1011Canada2024-05-28
Clifford B Sergi1012Brazil2024-05-17
Arvin Q Chui1013United Kingdom2024-05-23
Cody G Slusarski1014France2024-06-01
Misaki R Ruta1015Argentina2024-05-18
Octavia A Chui1016France2024-05-19
Maria O Morasca1017India2024-06-06
Izzy P Maclead1018Italy2024-06-13
Greenwood I Shinko1019Argentina2024-06-09
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Sinclair W VocelkaIndiaElwin Sharvill NEGOTIATION
Greenwood Z VocelkaFranceElwin Sharvill UNQUALIFIED
James V DoeCanadaAmy Elsner PROPOSAL
Maria T ShinkoItalyOnyama Limba UNQUALIFIED
Aika Q BowleyIndiaElwin Sharvill RENEWAL
Stacey Z ButtIndiaAmy Elsner UNQUALIFIED
Leon H SergiCanadaAsiya Javayant UNQUALIFIED
Ricardo V MacleadBrazilStephen Shaw PROPOSAL
Leja S StensethCanadaAsiya Javayant RENEWAL
Aditya G FlosiRussiaIoni Bowcher NEW
Francesco E InouyeBrazilAmy Elsner NEW
Sinclair O GillianAustraliaBernardo Dominic UNQUALIFIED
Smith M OstroskyCanadaOnyama Limba QUALIFIED
Alejandro V PoquetteCanadaOnyama Limba QUALIFIED
Kaitlin P SchemmerAustraliaAmy Elsner NEGOTIATION
Morrow T DilliardCanadaBernardo Dominic QUALIFIED
Salvatore G GlickBrazilAsiya Javayant NEW
Stacey O CampainItalyElwin Sharvill RENEWAL
Smith Z CaldareraIndiaStephen Shaw QUALIFIED
Munro A RimBrazilAnna Fali NEW
Sinclair Z SaylorsSpainAsiya Javayant QUALIFIED
Ashley T GillianUnited KingdomOnyama Limba NEGOTIATION
Claire Z DilliardSpainAnna Fali RENEWAL
Jefferson O BowleyArgentinaAnna Fali RENEWAL
Munro B GarufiArgentinaElwin Sharvill PROPOSAL
Darci G OstroskyBrazilAmy Elsner QUALIFIED
Wickens E RutaFranceIoni Bowcher UNQUALIFIED
Stacey S WhobreyUnited KingdomAmy Elsner UNQUALIFIED
Alejandro G BologniaArgentinaXuxue Feng RENEWAL
Smith N MaletArgentinaAnna Fali PROPOSAL
Greenwood J CaudyBrazilStephen Shaw RENEWAL
James P SchemmerItalyOnyama Limba RENEWAL
Leon U OldroydCanadaAmy Elsner NEGOTIATION
Aruna J InouyeArgentinaXuxue Feng NEGOTIATION
Aruna Z VocelkaArgentinaBernardo Dominic NEGOTIATION
Tony S ButtBrazilAnna Fali NEW
Isabel D FigeroaItalyAmy Elsner NEGOTIATION
Jennifer Y OstroskyFranceElwin Sharvill RENEWAL
Salvatore K MacleadBrazilAsiya Javayant NEW
James E ShinkoItalyIvan Magalhaes 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>