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
Maisha N GarufiAustraliaAsiya Javayant RENEWAL
Maria T RulapaughGermanyElwin Sharvill NEW
Smith G WhobreyArgentinaOnyama Limba UNQUALIFIED
Julie W GarufiSpainBernardo Dominic NEW
Maisha E ButtCanadaXuxue Feng PROPOSAL
Jefferson R CaudyRussiaXuxue Feng NEGOTIATION
Tony C WaycottCanadaAmy Elsner UNQUALIFIED
Octavia R FerenczUnited KingdomAsiya Javayant PROPOSAL
Octavia W FigeroaIndiaOnyama Limba NEW
Smith J FerenczArgentinaIoni Bowcher PROPOSAL
Faith X IturbideJapanIvan Magalhaes NEW
Costa G SergiRussiaElwin Sharvill QUALIFIED
Aditya G WaycottGermanyAnna Fali PROPOSAL
Maisha A MorascaUnited KingdomIoni Bowcher RENEWAL
Rodrigues P DilliardBrazilBernardo Dominic RENEWAL
Misaki O NestleItalyAnna Fali NEW
Isabel B ShinkoCanadaBernardo Dominic RENEWAL
Costa G CaudyJapanElwin Sharvill NEGOTIATION
Silvio J DilliardBrazilOnyama Limba NEGOTIATION
Isabel B RoysterRussiaAsiya Javayant PROPOSAL
Jeanfrancois X FerenczCanadaAmy Elsner PROPOSAL
Kadeem O StensethFranceXuxue Feng RENEWAL
Munro S InouyeBrazilBernardo Dominic NEGOTIATION
Faith A BologniaCanadaAnna Fali QUALIFIED
James U StensethArgentinaAmy Elsner NEGOTIATION
Misaki L RimRussiaElwin Sharvill NEW
Clifford I DoeUnited KingdomIoni Bowcher PROPOSAL
Faith S GlickItalyBernardo Dominic QUALIFIED
Emily D GillianItalyIoni Bowcher NEW
Smith S RoysterGermanyAnna Fali NEW
Nicolas R ButtAustraliaXuxue Feng NEW
Claire M CampainUnited KingdomAsiya Javayant NEW
Smith S KuskoIndiaStephen Shaw NEW
Morrow D NickaAustraliaAsiya Javayant QUALIFIED
Mujtaba I SergiJapanXuxue Feng QUALIFIED
Silvio U StockhamIndiaAnna Fali QUALIFIED
Isabel W TollnerUnited KingdomIoni Bowcher PROPOSAL
Cody F IturbideAustraliaIvan Magalhaes NEGOTIATION
Darci R IturbideJapanAmy Elsner UNQUALIFIED
James P MaletGermanyAsiya Javayant NEGOTIATION
Smith S PerinRussiaIvan Magalhaes QUALIFIED
Ivar O StockhamArgentinaIoni Bowcher PROPOSAL
Maisha X DilliardItalyIvan Magalhaes QUALIFIED
Clifford H InouyeRussiaIoni Bowcher NEGOTIATION
Jones G RoysterArgentinaAmy Elsner PROPOSAL
Greenwood F SergiUnited KingdomIvan Magalhaes NEGOTIATION
Munro K CaudyAustraliaBernardo Dominic UNQUALIFIED
Nicolas V RoysterCanadaXuxue Feng NEGOTIATION
Kaitlin U MaletUnited KingdomIvan Magalhaes NEGOTIATION
Costa S VocelkaItalyAsiya Javayant UNQUALIFIED
Horizontal
NameCountryRepresentativeStatus
Mujtaba L BriddickItalyElwin Sharvill NEGOTIATION
Isabel D WaycottBrazilBernardo Dominic RENEWAL
Clifford P StockhamArgentinaOnyama Limba NEW
Johnson O CaldareraUnited KingdomIoni Bowcher RENEWAL
Maria S MaletArgentinaOnyama Limba QUALIFIED
Costa P RutaFranceBernardo Dominic PROPOSAL
Ivar C StensethAustraliaIvan Magalhaes RENEWAL
Cody B VocelkaIndiaAnna Fali NEW
Kaitlin V RulapaughCanadaOnyama Limba PROPOSAL
Stacey V GlickItalyOnyama Limba QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar E SergiBrazil2024-05-30Dorl, James J Esq NEW48Onyama Limba
1001Juan S FerenczJapan2024-06-13Chemel, James L Cpa UNQUALIFIED65Asiya Javayant
1002Adams F CaldareraCanada2024-06-21Benton, John B Jr NEGOTIATION14Amy Elsner
1003Claire I PerinGermany2024-05-26Benton, John B Jr RENEWAL74Anna Fali
1004Aditya Y RoysterBrazil2024-06-11Chemel, James L Cpa RENEWAL55Onyama Limba
1005Adams N PerinBrazil2024-05-30Dorl, James J Esq NEGOTIATION52Ioni Bowcher
1006Rodrigues V AmigonFrance2024-05-28Truhlar And Truhlar Attys RENEWAL32Stephen Shaw
1007Silvio N NestleRussia2024-05-30Rangoni Of Florence NEW41Amy Elsner
1008Kadeem U ChuiCanada2024-06-07Rousseaux, Michael Esq RENEWAL85Ivan Magalhaes
1009Aika C ShinkoRussia2024-06-16Rangoni Of Florence NEGOTIATION17Stephen Shaw
1010Faith A NestleAustralia2024-06-15Chanay, Jeffrey A Esq RENEWAL23Asiya Javayant
1011Claire T PoquetteFrance2024-06-20Rousseaux, Michael Esq NEGOTIATION24Asiya Javayant
1012Jeanfrancois T MaletAustralia2024-06-20King, Christopher A Esq RENEWAL73Asiya Javayant
1013Salvatore X NestleGermany2024-05-31Buckley Miller Wright PROPOSAL88Onyama Limba
1014Alejandro Q RoysterFrance2024-06-13Benton, John B Jr QUALIFIED44Ioni Bowcher
1015Ricardo A DoeFrance2024-06-15Rangoni Of Florence NEW99Onyama Limba
1016Deepesh L CaudyJapan2024-06-17Printing Dimensions RENEWAL76Onyama Limba
1017Morrow M SergiJapan2024-06-05Rousseaux, Michael Esq NEGOTIATION31Xuxue Feng
1018Darci G TollnerGermany2024-06-21Feiner Bros NEW45Ivan Magalhaes
1019Murillo K GlickIndia2024-06-05Dorl, James J Esq RENEWAL38Bernardo Dominic
1020Ivar B BowleyCanada2024-05-27Rousseaux, Michael Esq QUALIFIED38Elwin Sharvill
1021Ivar H GarufiSpain2024-06-01Truhlar And Truhlar Attys PROPOSAL99Ioni Bowcher
1022Maisha C BriddickGermany2024-06-13Feiner Bros NEW89Stephen Shaw
1023Darci Z IturbideCanada2024-05-28Chapman, Ross E Esq UNQUALIFIED39Ioni Bowcher
1024Salvatore N DilliardAustralia2024-06-12Printing Dimensions UNQUALIFIED86Ioni Bowcher
1025Morrow K MaletIndia2024-05-29Chapman, Ross E Esq QUALIFIED15Anna Fali
1026Greenwood T StensethBrazil2024-06-14Rousseaux, Michael Esq UNQUALIFIED9Xuxue Feng
1027Chavez G RutaAustralia2024-06-09Rousseaux, Michael Esq NEGOTIATION2Ivan Magalhaes
1028Kaitlin O IturbideSpain2024-06-18Chapman, Ross E Esq UNQUALIFIED74Anna Fali
1029Alejandro T ButtAustralia2024-06-15Feiner Bros NEW3Amy Elsner
1030Darci F IturbideSpain2024-06-09Feiner Bros PROPOSAL84Xuxue Feng
1031Costa O TollnerItaly2024-06-19Benton, John B Jr PROPOSAL25Asiya Javayant
1032Arvin I FerenczJapan2024-06-16Truhlar And Truhlar Attys PROPOSAL2Bernardo Dominic
1033Adams C BowleyAustralia2024-06-11Morlong Associates RENEWAL27Bernardo Dominic
1034Maisha C GarufiItaly2024-06-17Rangoni Of Florence QUALIFIED92Ioni Bowcher
1035Wickens G MaletBrazil2024-05-26Printing Dimensions RENEWAL70Elwin Sharvill
1036Sinclair B ChuiItaly2024-06-09Printing Dimensions RENEWAL65Asiya Javayant
1037Morrow Z MaletItaly2024-06-13Buckley Miller Wright UNQUALIFIED24Elwin Sharvill
1038Cody E MacleadIndia2024-06-20Printing Dimensions NEGOTIATION3Amy Elsner
1039Ivar D NickaGermany2024-06-23Feiner Bros QUALIFIED35Stephen Shaw
1040Silvio P MorascaGermany2024-06-20Printing Dimensions NEW57Asiya Javayant
1041Ashley W MaletCanada2024-06-19Printing Dimensions UNQUALIFIED18Xuxue Feng
1042Mayumi Y SchemmerRussia2024-06-03Commercial Press RENEWAL46Onyama Limba
1043Aruna D GauchoBrazil2024-06-10Printing Dimensions RENEWAL35Bernardo Dominic
1044David I FollerCanada2024-06-24Chapman, Ross E Esq NEGOTIATION44Onyama Limba
1045Murillo R StensethSpain2024-05-30Chemel, James L Cpa NEW42Ivan Magalhaes
1046Aruna E TollnerBrazil2024-06-11Chapman, Ross E Esq QUALIFIED45Xuxue Feng
1047Ashley W ChuiCanada2024-06-15Benton, John B Jr UNQUALIFIED87Xuxue Feng
1048Maisha J OstroskyCanada2024-06-05Feltz Printing Service NEW33Anna Fali
1049Ricardo U DoeUnited Kingdom2024-06-19Printing Dimensions NEW94Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Chavez Z PoquetteFranceAsiya Javayant PROPOSAL
Tony V NestleJapanBernardo Dominic RENEWAL
Cody B BologniaRussiaElwin Sharvill NEGOTIATION
Salvatore R CampainSpainBernardo Dominic NEGOTIATION
Jeanfrancois I BologniaFranceXuxue Feng QUALIFIED
Octavia V CaudyGermanyElwin Sharvill UNQUALIFIED
Emily K NestleUnited KingdomElwin Sharvill NEGOTIATION
Jennifer X CaldareraUnited KingdomAsiya Javayant RENEWAL
Greenwood I GarufiGermanyAsiya Javayant PROPOSAL
Mayumi V SergiIndiaAmy Elsner QUALIFIED
Leon R PoquetteGermanyIvan Magalhaes QUALIFIED
Juan U CampainRussiaAmy Elsner PROPOSAL
Aruna B MarrierRussiaOnyama Limba NEW
Antonio D DoeArgentinaBernardo Dominic UNQUALIFIED
Rodrigues M CampainBrazilXuxue Feng NEGOTIATION
Antonio X CaldareraCanadaXuxue Feng NEW
Deepesh N MaletGermanyStephen Shaw NEW
Mayumi R SergiBrazilIoni Bowcher RENEWAL
Tony B GarufiSpainStephen Shaw PROPOSAL
Leja W FigeroaFranceOnyama Limba NEGOTIATION
Greenwood T SergiSpainAsiya Javayant RENEWAL
Mujtaba O StockhamGermanyStephen Shaw NEW
Leja H SchemmerBrazilStephen Shaw QUALIFIED
Mayumi W SaylorsBrazilIoni Bowcher UNQUALIFIED
Jennifer J VocelkaIndiaBernardo Dominic NEW
Johnson U RoysterBrazilIoni Bowcher PROPOSAL
Smith Q RimGermanyXuxue Feng NEW
James I FerenczAustraliaStephen Shaw PROPOSAL
Leja P GillianIndiaAsiya Javayant UNQUALIFIED
Alejandro B CaudyArgentinaBernardo Dominic UNQUALIFIED
Antonio G StockhamSpainXuxue Feng QUALIFIED
Aruna E DoeRussiaStephen Shaw NEW
Leja D BowleyCanadaIvan Magalhaes NEGOTIATION
Jefferson H IturbideGermanyBernardo Dominic RENEWAL
Chavez Y StockhamJapanXuxue Feng UNQUALIFIED
Johnson F CaudyIndiaAmy Elsner NEGOTIATION
Chavez R GauchoJapanXuxue Feng RENEWAL
Aika W MaletRussiaAsiya Javayant PROPOSAL
Jefferson H WaycottJapanElwin Sharvill QUALIFIED
Wickens X PoquetteBrazilElwin Sharvill PROPOSAL
Cody C WhobreyRussiaAnna Fali UNQUALIFIED
Cody K AmigonItalyElwin Sharvill QUALIFIED
Stacey C TollnerCanadaStephen Shaw NEGOTIATION
Costa Q TollnerSpainIoni Bowcher QUALIFIED
Silvio V PoquetteIndiaBernardo Dominic QUALIFIED
Emily V StensethItalyBernardo Dominic NEGOTIATION
Deepesh Q NickaItalyBernardo Dominic PROPOSAL
Smith Z ShinkoCanadaIoni Bowcher UNQUALIFIED
Jones X ShinkoRussiaIoni Bowcher RENEWAL
Aruna J ButtSpainAnna Fali QUALIFIED
Frozen Columns
Name
Leja W Whobrey
Silvio T Flosi
Leon V Malet
Munro W Campain
Izzy I Saylors
Leja Z Malet
Ricardo B Amigon
Greenwood A Chui
Stacey Z Morasca
Murillo B Wieser
Johnson E Darakjy
Clifford U Malet
Leon H Bowley
Darci P Malet
Maisha E Marrier
David X Caudy
Costa M Saylors
Aditya B Rim
Jennifer G Venere
Johnson V Malet
Misaki Z Gillian
Jennifer J Poquette
Nicolas Q Butt
James H Royster
Murillo N Nicka
Munro B Oldroyd
Octavia O Paprocki
Jeanfrancois Z Marrier
Misaki A Stockham
Cody T Paprocki
Sinclair G Caldarera
Leon R Rim
Adams V Maclead
Murillo T Stockham
Julie R Ferencz
Morrow I Campain
Johnson N Nestle
Johnson T Figeroa
Francesco A Vocelka
Isabel N Figeroa
Ivar Z Waycott
Johnson A Rulapaugh
Leon I Gillian
Silvio I Vocelka
Wickens F Gillian
Claire U Foller
Claire J Dilliard
David B Kusko
Maria Y Albares
Mayumi X Briddick
IdCountryDate
1000Germany2024-06-07
1001Russia2024-06-11
1002Canada2024-06-14
1003France2024-06-12
1004France2024-06-18
1005France2024-05-28
1006Spain2024-06-01
1007Italy2024-06-24
1008Canada2024-06-22
1009India2024-06-11
1010United Kingdom2024-06-20
1011France2024-06-03
1012Brazil2024-06-19
1013Russia2024-06-18
1014Brazil2024-06-01
1015Argentina2024-06-14
1016Japan2024-06-11
1017Argentina2024-06-09
1018Italy2024-06-17
1019Russia2024-06-14
1020Argentina2024-05-30
1021Germany2024-06-23
1022United Kingdom2024-06-10
1023Germany2024-06-12
1024United Kingdom2024-06-23
1025Australia2024-06-17
1026Germany2024-05-30
1027Russia2024-06-15
1028Argentina2024-06-11
1029France2024-06-14
1030France2024-06-04
1031Canada2024-05-28
1032United Kingdom2024-06-06
1033Canada2024-05-27
1034Germany2024-06-07
1035Argentina2024-05-31
1036Brazil2024-05-27
1037Australia2024-06-23
1038Germany2024-05-31
1039Australia2024-06-16
1040Germany2024-06-23
1041Italy2024-06-09
1042Russia2024-05-26
1043United Kingdom2024-06-21
1044Italy2024-06-06
1045Russia2024-06-04
1046Germany2024-06-03
1047Australia2024-06-04
1048France2024-06-19
1049Italy2024-05-27

On-Demand Data

NameIdCountryDate
Aika T Sergi1000United Kingdom2024-06-01
Maria W Kolmetz1001Australia2024-06-14
Deepesh F Ruta1002Spain2024-06-20
Cody O Gaucho1003Canada2024-06-21
Chavez Z Morasca1004Italy2024-06-01
Mujtaba M Malet1005Argentina2024-06-10
Nicolas D Stenseth1006Canada2024-06-14
Izzy M Rulapaugh1007Japan2024-06-03
Jeanfrancois N Malet1008Japan2024-06-14
Juan W Gaucho1009Germany2024-06-13
Emily K Rim1010Japan2024-06-23
Leja T Saylors1011India2024-06-15
Smith K Kusko1012Spain2024-06-14
Aika X Stockham1013India2024-06-19
Smith V Poquette1014United Kingdom2024-06-20
Aika E Figeroa1015Germany2024-05-27
Greenwood Y Nestle1016France2024-06-08
Francesco I Vocelka1017Japan2024-06-15
Mujtaba D Slusarski1018Brazil2024-06-10
Jeanfrancois R Malet1019Brazil2024-06-10
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Deepesh K DarakjyArgentinaElwin Sharvill RENEWAL
Francesco J DarakjyGermanyOnyama Limba QUALIFIED
Cody H RulapaughCanadaIvan Magalhaes NEGOTIATION
Juan J BologniaAustraliaXuxue Feng UNQUALIFIED
Adams Q DarakjyFranceElwin Sharvill NEGOTIATION
Maria G SaylorsIndiaIoni Bowcher NEGOTIATION
Mujtaba H AmigonGermanyAsiya Javayant NEW
Mujtaba M KolmetzSpainStephen Shaw PROPOSAL
Clifford X DoeCanadaIvan Magalhaes QUALIFIED
Deepesh R ButtIndiaAnna Fali UNQUALIFIED
Leja Y ButtArgentinaElwin Sharvill QUALIFIED
Salvatore Z SaylorsAustraliaAsiya Javayant UNQUALIFIED
Maria D VocelkaRussiaIvan Magalhaes RENEWAL
Mujtaba S KolmetzUnited KingdomAmy Elsner UNQUALIFIED
Silvio U FerenczJapanElwin Sharvill NEGOTIATION
Alejandro Z FlosiUnited KingdomAnna Fali PROPOSAL
Jefferson U StensethArgentinaStephen Shaw RENEWAL
Wickens T FigeroaSpainStephen Shaw UNQUALIFIED
David I OldroydSpainElwin Sharvill QUALIFIED
Costa V FollerCanadaAmy Elsner PROPOSAL
Emily M PoquetteCanadaElwin Sharvill PROPOSAL
Ivar K CampainUnited KingdomElwin Sharvill QUALIFIED
Octavia I DarakjySpainElwin Sharvill RENEWAL
Jeanfrancois B GillianRussiaStephen Shaw NEW
Aruna I StockhamUnited KingdomIvan Magalhaes NEW
James K GillianFranceElwin Sharvill NEGOTIATION
Isabel C WhobreyCanadaAnna Fali RENEWAL
Izzy K GlickRussiaStephen Shaw NEW
Misaki D SaylorsFranceAnna Fali RENEWAL
Antonio Q VocelkaFranceElwin Sharvill UNQUALIFIED
Alejandro V BologniaFranceBernardo Dominic PROPOSAL
Maisha D RoysterRussiaIoni Bowcher QUALIFIED
Salvatore V AlbaresUnited KingdomOnyama Limba NEGOTIATION
Ivar J PaprockiIndiaXuxue Feng NEW
Antonio Q AlbaresCanadaAsiya Javayant UNQUALIFIED
Smith M CaldareraCanadaAmy Elsner NEGOTIATION
Mayumi A BologniaFranceStephen Shaw NEGOTIATION
Juan K DarakjyFranceElwin Sharvill QUALIFIED
Morrow F FollerFranceAsiya Javayant RENEWAL
Claire K WaycottArgentinaOnyama Limba 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>