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
Adams Y BriddickBrazilIvan Magalhaes NEW
Greenwood X FigeroaBrazilIvan Magalhaes NEW
Adams S FlosiUnited KingdomElwin Sharvill RENEWAL
Jefferson I GillianJapanAnna Fali NEW
Tony B DilliardUnited KingdomAsiya Javayant UNQUALIFIED
Faith W SchemmerBrazilIoni Bowcher NEGOTIATION
Morrow B DoeArgentinaAnna Fali QUALIFIED
Rodrigues D StockhamGermanyIvan Magalhaes RENEWAL
Darci K NickaFranceIvan Magalhaes NEW
Emily G DarakjyArgentinaOnyama Limba PROPOSAL
Aruna R RimJapanIoni Bowcher QUALIFIED
Maisha N ChuiGermanyIoni Bowcher NEGOTIATION
Murillo K InouyeCanadaBernardo Dominic QUALIFIED
Jennifer R PerinUnited KingdomBernardo Dominic QUALIFIED
Izzy J CampainAustraliaAnna Fali NEW
Kadeem D SchemmerItalyXuxue Feng PROPOSAL
Wickens O WieserFranceIvan Magalhaes RENEWAL
Jeanfrancois L FlosiRussiaOnyama Limba RENEWAL
Murillo P GillianJapanXuxue Feng QUALIFIED
Stacey M SergiSpainIvan Magalhaes NEGOTIATION
Silvio S GauchoArgentinaStephen Shaw RENEWAL
Aruna U GlickItalyAnna Fali NEW
Aruna W DilliardItalyIoni Bowcher QUALIFIED
Stacey S MarrierIndiaOnyama Limba UNQUALIFIED
Arvin T DilliardGermanyIvan Magalhaes NEGOTIATION
Jennifer L RulapaughRussiaAmy Elsner NEW
Antonio G RoysterSpainAsiya Javayant RENEWAL
Ricardo R FigeroaIndiaIoni Bowcher RENEWAL
Murillo W DilliardUnited KingdomXuxue Feng QUALIFIED
Emily N RimGermanyXuxue Feng RENEWAL
Francesco X FerenczIndiaStephen Shaw NEW
Sinclair I GarufiSpainElwin Sharvill PROPOSAL
Rodrigues Z KuskoCanadaIoni Bowcher NEW
Clifford Y IturbideRussiaAnna Fali PROPOSAL
Julie N GillianSpainElwin Sharvill UNQUALIFIED
Isabel F VocelkaSpainXuxue Feng NEW
Sinclair N WaycottAustraliaAsiya Javayant QUALIFIED
Stacey U DilliardIndiaIvan Magalhaes NEGOTIATION
Kadeem U RulapaughSpainAmy Elsner PROPOSAL
Darci Y GauchoUnited KingdomOnyama Limba RENEWAL
Alejandro A RimGermanyXuxue Feng PROPOSAL
Chavez A SergiBrazilXuxue Feng NEGOTIATION
Aika P GarufiItalyElwin Sharvill QUALIFIED
Mayumi L ChuiCanadaElwin Sharvill UNQUALIFIED
Aditya T SergiUnited KingdomElwin Sharvill NEGOTIATION
Smith E AmigonArgentinaIvan Magalhaes NEW
Greenwood T OstroskyIndiaOnyama Limba RENEWAL
Johnson W DarakjyJapanXuxue Feng QUALIFIED
Smith A VocelkaGermanyAmy Elsner NEW
Cody D ShinkoSpainIvan Magalhaes PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Nicolas F ShinkoJapanIoni Bowcher NEW
Juan G BologniaAustraliaXuxue Feng PROPOSAL
Johnson L IturbideFranceStephen Shaw PROPOSAL
David N MorascaAustraliaBernardo Dominic QUALIFIED
Adams T ChuiSpainXuxue Feng NEGOTIATION
James K GlickCanadaBernardo Dominic NEW
Silvio E MorascaGermanyXuxue Feng QUALIFIED
Nicolas P WieserItalyAmy Elsner RENEWAL
Mayumi M CaudyAustraliaBernardo Dominic UNQUALIFIED
Mayumi D CampainSpainIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford C SlusarskiBrazil2024-06-21Benton, John B Jr RENEWAL77Xuxue Feng
1001Izzy P GauchoArgentina2024-06-17Printing Dimensions NEGOTIATION19Asiya Javayant
1002Cody W OldroydItaly2024-06-20Feltz Printing Service PROPOSAL1Xuxue Feng
1003Jefferson C CaudySpain2024-06-05Commercial Press UNQUALIFIED2Anna Fali
1004Tony A MorascaCanada2024-06-14Rousseaux, Michael Esq QUALIFIED12Xuxue Feng
1005Jones X FollerGermany2024-06-02Chanay, Jeffrey A Esq RENEWAL64Ivan Magalhaes
1006Ivar C GauchoCanada2024-05-31Rangoni Of Florence UNQUALIFIED94Amy Elsner
1007Juan Z CaldareraRussia2024-06-06Feltz Printing Service NEW2Anna Fali
1008Wickens L PerinSpain2024-06-10Buckley Miller Wright PROPOSAL87Bernardo Dominic
1009Izzy U FigeroaArgentina2024-06-07Feiner Bros QUALIFIED65Ioni Bowcher
1010Deepesh L GillianIndia2024-05-30Commercial Press NEGOTIATION85Stephen Shaw
1011Ricardo X TollnerUnited Kingdom2024-06-04Feltz Printing Service NEGOTIATION61Anna Fali
1012Jefferson G WieserJapan2024-05-27Feltz Printing Service NEW0Amy Elsner
1013Misaki A InouyeFrance2024-06-23Printing Dimensions QUALIFIED66Asiya Javayant
1014Darci B FollerIndia2024-06-08Feiner Bros RENEWAL41Elwin Sharvill
1015Stacey D FerenczCanada2024-06-02Chanay, Jeffrey A Esq NEGOTIATION52Ivan Magalhaes
1016Francesco K FlosiIndia2024-06-20Rousseaux, Michael Esq NEW22Elwin Sharvill
1017James C WieserJapan2024-06-22Benton, John B Jr RENEWAL60Amy Elsner
1018Cody L PoquetteJapan2024-06-11Buckley Miller Wright NEGOTIATION57Amy Elsner
1019Johnson Z PerinArgentina2024-06-08Chemel, James L Cpa PROPOSAL72Bernardo Dominic
1020Octavia C WhobreyItaly2024-06-13Benton, John B Jr RENEWAL57Ivan Magalhaes
1021Kaitlin S OstroskyArgentina2024-06-11Buckley Miller Wright PROPOSAL82Asiya Javayant
1022Emily P PoquetteBrazil2024-05-30Rousseaux, Michael Esq QUALIFIED32Amy Elsner
1023Morrow S AlbaresIndia2024-05-30King, Christopher A Esq NEGOTIATION65Stephen Shaw
1024Alejandro F FerenczUnited Kingdom2024-06-23Buckley Miller Wright NEGOTIATION86Asiya Javayant
1025Kaitlin G SchemmerRussia2024-05-30Dorl, James J Esq QUALIFIED19Elwin Sharvill
1026Rodrigues J StensethSpain2024-06-03Printing Dimensions PROPOSAL16Ioni Bowcher
1027Julie R RoysterIndia2024-06-14King, Christopher A Esq NEW61Bernardo Dominic
1028Jefferson C CaudyUnited Kingdom2024-06-15Chemel, James L Cpa UNQUALIFIED91Stephen Shaw
1029Jones U StockhamGermany2024-06-13Printing Dimensions QUALIFIED87Asiya Javayant
1030Silvio D OldroydSpain2024-06-14Buckley Miller Wright NEGOTIATION12Ioni Bowcher
1031Stacey X OstroskyBrazil2024-06-16Truhlar And Truhlar Attys NEGOTIATION19Ivan Magalhaes
1032Silvio L AlbaresBrazil2024-06-01Morlong Associates RENEWAL39Onyama Limba
1033Aruna V MaletUnited Kingdom2024-06-04Rangoni Of Florence PROPOSAL7Bernardo Dominic
1034Antonio P MaletAustralia2024-06-01Commercial Press PROPOSAL41Amy Elsner
1035Misaki E ButtBrazil2024-06-04Rousseaux, Michael Esq UNQUALIFIED80Ioni Bowcher
1036Jefferson X WaycottSpain2024-06-15Morlong Associates PROPOSAL33Amy Elsner
1037Faith D DarakjyUnited Kingdom2024-06-06Chapman, Ross E Esq PROPOSAL18Onyama Limba
1038Jeanfrancois O WieserBrazil2024-06-07Feltz Printing Service QUALIFIED33Asiya Javayant
1039Sinclair T WieserAustralia2024-06-16Chapman, Ross E Esq RENEWAL0Ioni Bowcher
1040Antonio J InouyeFrance2024-05-26Commercial Press UNQUALIFIED88Amy Elsner
1041Greenwood K PaprockiArgentina2024-06-19Dorl, James J Esq NEGOTIATION96Onyama Limba
1042Sinclair Y BriddickUnited Kingdom2024-06-07Truhlar And Truhlar Attys NEGOTIATION15Asiya Javayant
1043Alejandro F SchemmerArgentina2024-06-19Feltz Printing Service NEGOTIATION2Ioni Bowcher
1044Wickens J OstroskyIndia2024-06-20Chanay, Jeffrey A Esq PROPOSAL2Amy Elsner
1045Greenwood Z PerinUnited Kingdom2024-06-21Rangoni Of Florence QUALIFIED38Elwin Sharvill
1046Arvin V ButtCanada2024-06-16Rousseaux, Michael Esq QUALIFIED65Bernardo Dominic
1047Julie Y ShinkoJapan2024-05-30King, Christopher A Esq PROPOSAL71Ioni Bowcher
1048Salvatore S StockhamJapan2024-05-29Chemel, James L Cpa NEW55Ioni Bowcher
1049Ivar Y ShinkoSpain2024-05-26Feltz Printing Service NEGOTIATION33Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Adams Y MacleadGermanyStephen Shaw NEGOTIATION
Adams F InouyeIndiaAnna Fali RENEWAL
Jeanfrancois R CampainAustraliaOnyama Limba PROPOSAL
Misaki Z BowleyArgentinaElwin Sharvill PROPOSAL
Ashley Z SlusarskiUnited KingdomOnyama Limba PROPOSAL
Misaki W CaldareraRussiaAmy Elsner NEW
Francesco H PoquetteCanadaAsiya Javayant QUALIFIED
Aruna Y StockhamSpainAmy Elsner PROPOSAL
Munro B FerenczSpainElwin Sharvill RENEWAL
Jennifer Q OldroydRussiaOnyama Limba UNQUALIFIED
Salvatore P PaprockiAustraliaXuxue Feng UNQUALIFIED
Jones S PaprockiUnited KingdomOnyama Limba PROPOSAL
Aditya T FigeroaIndiaAnna Fali NEGOTIATION
Mujtaba J StensethItalyOnyama Limba RENEWAL
James I FerenczArgentinaIoni Bowcher NEGOTIATION
Darci H IturbideRussiaAmy Elsner UNQUALIFIED
Maria B PerinGermanyStephen Shaw RENEWAL
Jones Z GauchoFranceIvan Magalhaes PROPOSAL
Arvin V KolmetzGermanyElwin Sharvill UNQUALIFIED
Octavia L VenereItalyAnna Fali NEGOTIATION
Salvatore S GauchoItalyElwin Sharvill NEGOTIATION
Emily Z RimItalyXuxue Feng QUALIFIED
Leja U MaletUnited KingdomAsiya Javayant RENEWAL
Isabel V GillianJapanElwin Sharvill QUALIFIED
Morrow B MaletCanadaIoni Bowcher RENEWAL
Ricardo X GauchoArgentinaElwin Sharvill NEGOTIATION
Salvatore U FollerBrazilXuxue Feng PROPOSAL
Francesco O BriddickIndiaIoni Bowcher PROPOSAL
Francesco U NestleAustraliaAsiya Javayant PROPOSAL
Smith A BriddickArgentinaIoni Bowcher NEW
Faith I PoquetteAustraliaAmy Elsner UNQUALIFIED
Maria V CampainRussiaAnna Fali QUALIFIED
Jennifer H DoeJapanAmy Elsner QUALIFIED
Alejandro I MaletArgentinaIvan Magalhaes QUALIFIED
Johnson F OldroydAustraliaAsiya Javayant NEGOTIATION
Julie A PerinArgentinaXuxue Feng UNQUALIFIED
Murillo H CampainJapanAnna Fali UNQUALIFIED
Smith H CampainBrazilAnna Fali NEGOTIATION
Murillo F WaycottSpainXuxue Feng PROPOSAL
Tony S SaylorsGermanyIvan Magalhaes NEGOTIATION
Wickens S VenereAustraliaXuxue Feng NEGOTIATION
Octavia O StensethBrazilIvan Magalhaes NEGOTIATION
Francesco V IturbideGermanyElwin Sharvill UNQUALIFIED
Greenwood F CaldareraGermanyAsiya Javayant QUALIFIED
Emily I SergiJapanAsiya Javayant RENEWAL
Mujtaba H FollerCanadaBernardo Dominic RENEWAL
Misaki L GillianFranceXuxue Feng NEGOTIATION
Maisha R WaycottSpainElwin Sharvill PROPOSAL
Jefferson L SaylorsItalyIvan Magalhaes QUALIFIED
Smith L GillianJapanIoni Bowcher NEW
Frozen Columns
Name
Mujtaba O Figeroa
Juan U Butt
Maisha I Iturbide
Misaki G Stenseth
Francesco C Nestle
Faith R Whobrey
Izzy L Saylors
Mayumi D Foller
Smith O Dilliard
Claire Q Iturbide
Misaki Y Oldroyd
Adams R Perin
Munro H Perin
Nicolas M Albares
David I Whobrey
Jeanfrancois F Figeroa
Mujtaba X Morasca
Ivar Y Stenseth
Arvin P Schemmer
Claire B Campain
Ivar I Flosi
Isabel L Chui
Morrow A Dilliard
Ashley E Gaucho
Claire B Sergi
Juan K Whobrey
Rodrigues V Waycott
Greenwood O Malet
Kadeem O Paprocki
Julie V Chui
Jennifer E Campain
Claire U Malet
Misaki B Amigon
Octavia B Inouye
Alejandro B Garufi
Mayumi S Stockham
Mujtaba P Albares
Faith R Wieser
Adams N Royster
Isabel R Waycott
Darci B Flosi
Nicolas C Kolmetz
Smith L Dilliard
Smith K Caudy
Salvatore H Nicka
Johnson G Doe
Emily V Venere
Francesco L Caldarera
Darci D Schemmer
Leja F Albares
IdCountryDate
1000India2024-06-01
1001France2024-05-26
1002Argentina2024-06-14
1003Canada2024-06-11
1004Australia2024-06-17
1005Japan2024-06-20
1006United Kingdom2024-05-29
1007France2024-06-24
1008Brazil2024-06-14
1009Germany2024-06-15
1010India2024-06-23
1011Australia2024-06-19
1012United Kingdom2024-05-28
1013Germany2024-06-15
1014Russia2024-06-04
1015France2024-06-22
1016France2024-06-03
1017Spain2024-05-30
1018Italy2024-06-13
1019France2024-06-03
1020France2024-05-27
1021India2024-06-22
1022Australia2024-06-11
1023Argentina2024-06-03
1024France2024-06-15
1025France2024-06-21
1026Australia2024-06-12
1027Italy2024-06-15
1028Germany2024-06-06
1029Argentina2024-05-26
1030Japan2024-06-23
1031Australia2024-06-22
1032Italy2024-06-05
1033Japan2024-06-21
1034France2024-06-21
1035Argentina2024-06-15
1036Brazil2024-06-03
1037France2024-06-07
1038Germany2024-05-31
1039Russia2024-06-22
1040Italy2024-06-19
1041Japan2024-05-30
1042Italy2024-06-08
1043United Kingdom2024-06-18
1044United Kingdom2024-06-06
1045Argentina2024-06-24
1046Italy2024-05-31
1047Argentina2024-05-28
1048Australia2024-06-03
1049Germany2024-06-05

On-Demand Data

NameIdCountryDate
Mujtaba A Rim1000United Kingdom2024-06-11
Jennifer K Tollner1001Canada2024-05-30
Emily Z Poquette1002Germany2024-06-22
David U Kusko1003Japan2024-06-02
James K Tollner1004France2024-05-29
Greenwood K Perin1005United Kingdom2024-06-16
Claire C Perin1006Brazil2024-05-26
Chavez X Oldroyd1007India2024-06-01
Maria Y Schemmer1008United Kingdom2024-06-01
Sinclair R Vocelka1009Canada2024-05-30
Emily K Tollner1010Argentina2024-06-17
Claire C Foller1011United Kingdom2024-06-04
Kaitlin Y Saylors1012Russia2024-06-19
Murillo U Royster1013Spain2024-06-20
Ashley C Iturbide1014India2024-06-04
Francesco D Schemmer1015Japan2024-05-31
Izzy T Morasca1016Spain2024-06-11
Julie S Stenseth1017Australia2024-05-28
Chavez C Oldroyd1018Australia2024-05-29
Juan M Morasca1019Australia2024-06-22
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Munro G SaylorsArgentinaIoni Bowcher QUALIFIED
Aika W ButtFranceIvan Magalhaes PROPOSAL
Cody V MaletSpainAmy Elsner QUALIFIED
Emily P CaldareraArgentinaBernardo Dominic QUALIFIED
Izzy C DarakjySpainElwin Sharvill NEW
Darci U VocelkaRussiaElwin Sharvill PROPOSAL
Chavez C InouyeFranceAmy Elsner QUALIFIED
Arvin F SlusarskiBrazilXuxue Feng NEGOTIATION
Isabel E GauchoGermanyXuxue Feng QUALIFIED
Mayumi Q GarufiGermanyAmy Elsner UNQUALIFIED
Jeanfrancois V OldroydUnited KingdomAnna Fali UNQUALIFIED
James I DarakjyJapanAsiya Javayant RENEWAL
Emily I WieserSpainBernardo Dominic QUALIFIED
Clifford M GauchoArgentinaAnna Fali UNQUALIFIED
Juan A FigeroaAustraliaElwin Sharvill NEGOTIATION
Wickens Z VocelkaCanadaIoni Bowcher UNQUALIFIED
David K MaletSpainIoni Bowcher UNQUALIFIED
Chavez H NestleAustraliaIvan Magalhaes UNQUALIFIED
Clifford V GlickRussiaIoni Bowcher PROPOSAL
Francesco B PaprockiJapanElwin Sharvill RENEWAL
Antonio O CampainFranceOnyama Limba RENEWAL
Ashley M MaletUnited KingdomElwin Sharvill UNQUALIFIED
Salvatore C FlosiIndiaBernardo Dominic NEGOTIATION
Mujtaba T KuskoSpainOnyama Limba QUALIFIED
Ricardo E WieserRussiaElwin Sharvill RENEWAL
Isabel R VenereAustraliaElwin Sharvill NEW
Jennifer I MaletBrazilXuxue Feng NEGOTIATION
Maisha Q IturbideArgentinaIoni Bowcher NEW
Julie V VocelkaSpainAnna Fali PROPOSAL
Izzy A MacleadSpainAmy Elsner NEW
Isabel M MorascaGermanyAmy Elsner NEW
Adams R ChuiBrazilXuxue Feng UNQUALIFIED
Silvio I KolmetzItalyXuxue Feng QUALIFIED
Deepesh R NestleJapanXuxue Feng UNQUALIFIED
Isabel V GlickArgentinaAmy Elsner PROPOSAL
Izzy M BologniaAustraliaBernardo Dominic NEGOTIATION
Juan I RulapaughSpainBernardo Dominic PROPOSAL
Nicolas U BowleyJapanIvan Magalhaes UNQUALIFIED
Aika Z OldroydItalyAsiya Javayant UNQUALIFIED
Ashley Q NestleGermanyElwin Sharvill 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>