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
Faith G MaletRussiaAnna Fali NEW
Maria B FlosiBrazilXuxue Feng QUALIFIED
Ashley Q PoquetteItalyXuxue Feng UNQUALIFIED
Adams F AmigonUnited KingdomAnna Fali PROPOSAL
Darci I StockhamSpainXuxue Feng RENEWAL
Clifford J GlickArgentinaAnna Fali RENEWAL
Jones H DoeBrazilIoni Bowcher QUALIFIED
Francesco V KolmetzSpainElwin Sharvill NEGOTIATION
Cody S ChuiFranceOnyama Limba QUALIFIED
Chavez G GauchoAustraliaAnna Fali QUALIFIED
Francesco N VocelkaSpainIoni Bowcher NEGOTIATION
Jeanfrancois K GauchoJapanAmy Elsner NEW
Claire D MacleadAustraliaIvan Magalhaes NEW
Deepesh S MaletRussiaAmy Elsner PROPOSAL
Maria F VocelkaGermanyXuxue Feng QUALIFIED
Kaitlin A StockhamJapanIoni Bowcher UNQUALIFIED
Morrow O SaylorsRussiaStephen Shaw PROPOSAL
Cody Q SchemmerAustraliaAsiya Javayant PROPOSAL
Juan N MaletFranceAmy Elsner RENEWAL
Misaki J PoquetteArgentinaElwin Sharvill UNQUALIFIED
Julie U RoysterCanadaOnyama Limba NEW
Claire M NestleUnited KingdomAmy Elsner UNQUALIFIED
Darci Q MaletRussiaBernardo Dominic UNQUALIFIED
Darci T SergiArgentinaAnna Fali NEGOTIATION
Stacey Q AlbaresUnited KingdomIvan Magalhaes RENEWAL
Ashley P StockhamArgentinaIvan Magalhaes NEW
Claire C BowleyArgentinaAmy Elsner NEW
Octavia X WieserRussiaIoni Bowcher RENEWAL
Mayumi S FigeroaIndiaBernardo Dominic NEGOTIATION
Kadeem W AmigonItalyStephen Shaw NEW
Nicolas W MaletRussiaAnna Fali UNQUALIFIED
Munro S FollerItalyIvan Magalhaes NEW
Aruna C WhobreyFranceAnna Fali PROPOSAL
Mayumi E MorascaGermanyIvan Magalhaes UNQUALIFIED
Tony F BologniaGermanyAmy Elsner NEW
David M GillianJapanIvan Magalhaes NEGOTIATION
Ashley Q DoeSpainStephen Shaw NEW
Leon I KuskoUnited KingdomOnyama Limba QUALIFIED
Clifford Q OstroskyRussiaAmy Elsner NEGOTIATION
Emily W SaylorsAustraliaIvan Magalhaes NEGOTIATION
Julie B FigeroaItalyStephen Shaw PROPOSAL
Aika A KolmetzUnited KingdomStephen Shaw NEW
Emily P NestleSpainAnna Fali RENEWAL
Leja P KolmetzFranceAsiya Javayant NEGOTIATION
Ashley N MacleadSpainStephen Shaw NEGOTIATION
Salvatore F AlbaresJapanIvan Magalhaes RENEWAL
Isabel M OldroydIndiaElwin Sharvill QUALIFIED
Johnson B AlbaresGermanyStephen Shaw QUALIFIED
James S NickaGermanyBernardo Dominic UNQUALIFIED
Arvin V ButtItalyAsiya Javayant RENEWAL
Horizontal
NameCountryRepresentativeStatus
Jones H GillianJapanOnyama Limba UNQUALIFIED
Alejandro Y FollerItalyIvan Magalhaes UNQUALIFIED
Sinclair G InouyeItalyXuxue Feng PROPOSAL
Ashley B GillianJapanElwin Sharvill PROPOSAL
Smith E WhobreyRussiaBernardo Dominic RENEWAL
Sinclair H NickaSpainIvan Magalhaes PROPOSAL
Smith J WaycottSpainAnna Fali PROPOSAL
Ivar F CampainIndiaXuxue Feng NEGOTIATION
Ashley U GarufiArgentinaAmy Elsner NEGOTIATION
Mayumi P FollerJapanAmy Elsner NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Jones D DoeRussia2024-06-18Commercial Press NEW95Onyama Limba
1001Isabel G PoquetteGermany2024-05-31Truhlar And Truhlar Attys PROPOSAL56Stephen Shaw
1002Tony J GlickSpain2024-06-13Chemel, James L Cpa QUALIFIED5Xuxue Feng
1003Salvatore B OstroskyIndia2024-05-27King, Christopher A Esq PROPOSAL50Stephen Shaw
1004Misaki O GlickAustralia2024-05-29Buckley Miller Wright NEGOTIATION24Bernardo Dominic
1005Smith P ChuiJapan2024-05-31Rousseaux, Michael Esq UNQUALIFIED71Xuxue Feng
1006Cody U AlbaresFrance2024-06-24Printing Dimensions PROPOSAL61Ioni Bowcher
1007Aika X GauchoIndia2024-05-28Dorl, James J Esq PROPOSAL62Asiya Javayant
1008Salvatore U WieserSpain2024-05-31King, Christopher A Esq NEGOTIATION67Xuxue Feng
1009Chavez A FerenczCanada2024-06-13Chemel, James L Cpa NEW45Elwin Sharvill
1010Francesco S BriddickGermany2024-06-23Feiner Bros PROPOSAL61Elwin Sharvill
1011Wickens G SaylorsAustralia2024-06-04Feiner Bros UNQUALIFIED17Onyama Limba
1012Francesco F FlosiArgentina2024-06-15Chemel, James L Cpa PROPOSAL88Ivan Magalhaes
1013Wickens O GlickSpain2024-05-28Feiner Bros NEW94Ioni Bowcher
1014Chavez F RimFrance2024-06-16Morlong Associates PROPOSAL62Asiya Javayant
1015Johnson O InouyeFrance2024-06-12Benton, John B Jr RENEWAL24Bernardo Dominic
1016Tony X InouyeItaly2024-06-07Commercial Press NEGOTIATION57Ivan Magalhaes
1017Sinclair L DarakjyItaly2024-06-18Dorl, James J Esq QUALIFIED24Ivan Magalhaes
1018Salvatore R FlosiArgentina2024-06-13Rousseaux, Michael Esq NEGOTIATION87Amy Elsner
1019Morrow Q BriddickJapan2024-06-24Benton, John B Jr PROPOSAL5Ioni Bowcher
1020Kaitlin I OstroskyFrance2024-06-19Chapman, Ross E Esq NEGOTIATION65Ioni Bowcher
1021Juan U TollnerCanada2024-06-14Commercial Press RENEWAL89Stephen Shaw
1022James J ButtBrazil2024-06-21King, Christopher A Esq PROPOSAL80Xuxue Feng
1023Stacey H StockhamCanada2024-05-30Chemel, James L Cpa RENEWAL42Elwin Sharvill
1024Aruna J NestleAustralia2024-06-08Morlong Associates PROPOSAL17Asiya Javayant
1025Sinclair I MacleadItaly2024-06-12Feltz Printing Service QUALIFIED74Stephen Shaw
1026Darci G SlusarskiItaly2024-05-28Chanay, Jeffrey A Esq NEW15Xuxue Feng
1027Leja B VocelkaJapan2024-06-04Truhlar And Truhlar Attys PROPOSAL53Ioni Bowcher
1028Ivar N MaletBrazil2024-06-11Feltz Printing Service UNQUALIFIED14Anna Fali
1029Jennifer V StensethCanada2024-06-01Morlong Associates PROPOSAL70Stephen Shaw
1030Clifford Y FollerJapan2024-05-31Rousseaux, Michael Esq NEW68Xuxue Feng
1031Ashley D DoeRussia2024-06-05Rangoni Of Florence NEGOTIATION72Elwin Sharvill
1032Clifford B ShinkoUnited Kingdom2024-06-12Rousseaux, Michael Esq NEW6Xuxue Feng
1033Silvio G DilliardFrance2024-06-10King, Christopher A Esq NEGOTIATION11Ioni Bowcher
1034Antonio U KolmetzBrazil2024-06-06Chapman, Ross E Esq UNQUALIFIED37Ioni Bowcher
1035Cody Q FlosiGermany2024-06-16Benton, John B Jr NEGOTIATION41Stephen Shaw
1036Antonio C AlbaresCanada2024-06-21Buckley Miller Wright QUALIFIED79Xuxue Feng
1037Adams E KuskoGermany2024-05-27Morlong Associates NEW47Anna Fali
1038Jefferson Q RutaAustralia2024-05-31Feiner Bros NEW80Ioni Bowcher
1039Cody Y GillianRussia2024-06-13Buckley Miller Wright NEGOTIATION74Amy Elsner
1040Arvin N FlosiFrance2024-06-12King, Christopher A Esq RENEWAL65Ivan Magalhaes
1041Antonio K MacleadRussia2024-06-08Buckley Miller Wright RENEWAL34Anna Fali
1042Jennifer J CaudyUnited Kingdom2024-06-22Truhlar And Truhlar Attys PROPOSAL13Stephen Shaw
1043Deepesh L OstroskyArgentina2024-06-18Feiner Bros NEW62Onyama Limba
1044Tony K FollerFrance2024-06-04Feltz Printing Service RENEWAL15Amy Elsner
1045Darci T ButtArgentina2024-06-04Rangoni Of Florence NEW52Elwin Sharvill
1046James F BologniaAustralia2024-06-02Chapman, Ross E Esq RENEWAL47Elwin Sharvill
1047Izzy S AlbaresIndia2024-06-21Commercial Press PROPOSAL23Ivan Magalhaes
1048Aruna I StockhamAustralia2024-06-23Morlong Associates QUALIFIED97Anna Fali
1049Munro D AlbaresCanada2024-06-13Chanay, Jeffrey A Esq PROPOSAL8Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Aika U GarufiArgentinaBernardo Dominic PROPOSAL
Kaitlin F GauchoIndiaOnyama Limba NEGOTIATION
Antonio P SergiCanadaStephen Shaw QUALIFIED
Maisha T DilliardIndiaBernardo Dominic RENEWAL
Maria S InouyeIndiaStephen Shaw QUALIFIED
Izzy A CampainJapanAsiya Javayant PROPOSAL
Misaki F KuskoCanadaAsiya Javayant UNQUALIFIED
Cody O ButtCanadaXuxue Feng NEW
Antonio S AmigonBrazilStephen Shaw NEW
Clifford T InouyeAustraliaElwin Sharvill PROPOSAL
Rodrigues Y OldroydUnited KingdomIvan Magalhaes PROPOSAL
Cody G WaycottAustraliaElwin Sharvill NEGOTIATION
Mayumi F FigeroaRussiaElwin Sharvill UNQUALIFIED
Nicolas A GauchoUnited KingdomXuxue Feng NEGOTIATION
Costa C TollnerCanadaStephen Shaw NEW
Smith I CampainBrazilElwin Sharvill QUALIFIED
Octavia S ShinkoJapanAmy Elsner NEW
Emily C DoeUnited KingdomIvan Magalhaes PROPOSAL
Isabel W InouyeBrazilStephen Shaw UNQUALIFIED
Izzy T ChuiFranceStephen Shaw NEGOTIATION
Murillo G CaudyRussiaElwin Sharvill NEGOTIATION
Mujtaba T WieserAustraliaAsiya Javayant RENEWAL
Ivar L RutaUnited KingdomIoni Bowcher RENEWAL
Misaki O OstroskyCanadaAmy Elsner NEW
Silvio V GarufiSpainAnna Fali UNQUALIFIED
Nicolas Z OldroydUnited KingdomAsiya Javayant NEGOTIATION
David V InouyeUnited KingdomBernardo Dominic RENEWAL
Octavia P MaletRussiaXuxue Feng NEGOTIATION
Aika I NickaAustraliaIvan Magalhaes PROPOSAL
Silvio T WhobreyArgentinaStephen Shaw PROPOSAL
Claire R VenereBrazilBernardo Dominic QUALIFIED
Leon J GlickJapanIvan Magalhaes RENEWAL
Juan H PoquetteFranceXuxue Feng RENEWAL
Misaki D SergiAustraliaStephen Shaw NEGOTIATION
Ivar D ChuiArgentinaBernardo Dominic NEGOTIATION
Salvatore L MaletGermanyAnna Fali NEGOTIATION
Maisha P CaudyItalyBernardo Dominic RENEWAL
Julie D MacleadAustraliaAsiya Javayant NEW
Rodrigues R ButtCanadaStephen Shaw QUALIFIED
Rodrigues V PoquetteAustraliaAnna Fali RENEWAL
Jefferson X BriddickSpainIoni Bowcher RENEWAL
Morrow J FlosiCanadaOnyama Limba PROPOSAL
Tony D TollnerItalyBernardo Dominic PROPOSAL
Chavez I VocelkaSpainAsiya Javayant NEW
Maisha H KolmetzFranceIvan Magalhaes PROPOSAL
Salvatore M KuskoRussiaAmy Elsner PROPOSAL
Kadeem I BriddickAustraliaAsiya Javayant NEW
Chavez U DoeItalyAnna Fali NEGOTIATION
Chavez M RutaSpainBernardo Dominic UNQUALIFIED
Stacey D DarakjyIndiaXuxue Feng QUALIFIED
Frozen Columns
Name
Munro L Malet
Darci A Paprocki
Izzy O Garufi
Arvin Q Albares
Salvatore J Malet
Leon G Darakjy
Ashley Y Kolmetz
Leon N Darakjy
Arvin S Bolognia
Munro W Saylors
Adams Q Bowley
Cody Y Wieser
Chavez F Bolognia
Arvin S Garufi
Wickens E Perin
Stacey C Iturbide
Kadeem F Kusko
Clifford U Iturbide
Francesco S Campain
Ashley A Wieser
Kaitlin C Maclead
Stacey Z Caldarera
Jeanfrancois O Albares
Deepesh W Rim
Aruna X Ostrosky
Darci W Vocelka
Leja T Malet
Nicolas E Stockham
Greenwood L Gillian
David T Flosi
Mayumi O Kolmetz
Isabel Q Nestle
Maria N Morasca
Stacey D Slusarski
Tony L Morasca
Isabel K Garufi
Adams U Oldroyd
Francesco O Chui
Francesco T Inouye
Cody B Oldroyd
Ricardo J Ostrosky
Tony A Marrier
Leja A Stenseth
Ashley A Butt
Wickens D Sergi
Aditya T Morasca
Morrow T Saylors
Jones B Caldarera
Johnson F Whobrey
Smith K Nestle
IdCountryDate
1000France2024-06-10
1001Brazil2024-06-08
1002Germany2024-06-04
1003India2024-06-12
1004India2024-06-16
1005Australia2024-06-16
1006Canada2024-05-27
1007Spain2024-06-20
1008Spain2024-06-23
1009Canada2024-05-29
1010Argentina2024-06-24
1011Russia2024-06-13
1012Canada2024-06-03
1013Brazil2024-06-19
1014France2024-06-18
1015Spain2024-05-30
1016France2024-06-05
1017United Kingdom2024-05-30
1018Spain2024-06-15
1019Spain2024-06-05
1020Spain2024-05-31
1021United Kingdom2024-06-19
1022Argentina2024-06-09
1023Japan2024-06-05
1024Germany2024-06-13
1025France2024-06-22
1026France2024-06-06
1027Australia2024-06-06
1028France2024-05-28
1029Argentina2024-06-12
1030Australia2024-06-17
1031Spain2024-05-31
1032Argentina2024-06-02
1033Brazil2024-06-04
1034Russia2024-05-31
1035India2024-06-14
1036Spain2024-06-17
1037Brazil2024-06-17
1038Russia2024-06-22
1039Germany2024-05-31
1040Germany2024-05-30
1041Italy2024-06-08
1042Australia2024-05-29
1043Russia2024-06-18
1044Russia2024-06-06
1045Germany2024-06-05
1046Japan2024-06-16
1047Brazil2024-06-18
1048Italy2024-05-29
1049Canada2024-06-17

On-Demand Data

NameIdCountryDate
Wickens W Briddick1000France2024-06-16
Stacey M Nestle1001Russia2024-06-09
Costa V Dilliard1002India2024-06-02
Clifford E Butt1003Russia2024-06-12
Chavez Q Shinko1004Brazil2024-06-05
Faith P Kolmetz1005Spain2024-06-17
Cody T Morasca1006Australia2024-06-02
Tony Q Stockham1007Canada2024-05-29
Cody V Nicka1008Argentina2024-06-20
Sinclair M Stenseth1009Germany2024-06-14
David O Paprocki1010United Kingdom2024-06-11
Claire L Tollner1011Japan2024-05-27
Rodrigues U Malet1012Argentina2024-06-08
Mayumi T Darakjy1013Brazil2024-05-26
Wickens X Flosi1014India2024-05-29
Alejandro N Chui1015Japan2024-06-18
Ricardo S Tollner1016Canada2024-06-01
Deepesh L Caldarera1017India2024-06-05
Kadeem B Stenseth1018Italy2024-06-15
Alejandro I Perin1019Argentina2024-06-08
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Murillo N CaldareraIndiaElwin Sharvill NEGOTIATION
Deepesh O InouyeItalyBernardo Dominic NEGOTIATION
Emily H FollerGermanyElwin Sharvill PROPOSAL
Ricardo R MacleadItalyElwin Sharvill UNQUALIFIED
Greenwood M PaprockiFranceAmy Elsner QUALIFIED
Jefferson M StockhamAustraliaIoni Bowcher QUALIFIED
Smith B NestleGermanyElwin Sharvill RENEWAL
Arvin U KuskoUnited KingdomAmy Elsner UNQUALIFIED
Antonio A OstroskyJapanElwin Sharvill NEW
Alejandro A TollnerUnited KingdomBernardo Dominic UNQUALIFIED
Isabel B RoysterUnited KingdomAnna Fali QUALIFIED
Nicolas T MorascaItalyStephen Shaw RENEWAL
Aruna P NickaArgentinaIoni Bowcher RENEWAL
Leon A WaycottGermanyXuxue Feng QUALIFIED
Wickens D StockhamItalyOnyama Limba QUALIFIED
Octavia W DilliardGermanyAmy Elsner QUALIFIED
Greenwood F VenereJapanIvan Magalhaes NEW
Cody R KolmetzIndiaAsiya Javayant NEGOTIATION
Stacey O FigeroaSpainXuxue Feng UNQUALIFIED
Munro J StockhamBrazilIoni Bowcher PROPOSAL
Leja U BriddickIndiaAnna Fali UNQUALIFIED
Nicolas S CaldareraAustraliaBernardo Dominic NEW
Greenwood M WhobreyFranceBernardo Dominic NEGOTIATION
Stacey X TollnerJapanBernardo Dominic PROPOSAL
Antonio K MacleadArgentinaAnna Fali UNQUALIFIED
Leon M PaprockiArgentinaOnyama Limba UNQUALIFIED
Smith J FigeroaAustraliaOnyama Limba QUALIFIED
Misaki H SlusarskiSpainAsiya Javayant NEGOTIATION
Murillo Q CaudyItalyIoni Bowcher NEGOTIATION
Leon J FlosiCanadaXuxue Feng NEGOTIATION
Kadeem X IturbideItalyIvan Magalhaes RENEWAL
Greenwood D StockhamArgentinaAsiya Javayant NEGOTIATION
Morrow Q OldroydFranceAsiya Javayant PROPOSAL
Misaki B ButtIndiaAnna Fali NEW
Murillo O ButtAustraliaXuxue Feng QUALIFIED
Johnson Y FollerItalyXuxue Feng QUALIFIED
Octavia T ButtJapanElwin Sharvill UNQUALIFIED
Adams R PoquetteAustraliaXuxue Feng NEGOTIATION
Ashley M GlickBrazilBernardo Dominic QUALIFIED
Costa E SergiUnited KingdomStephen Shaw NEW

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