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
Ivar S SergiItalyStephen Shaw NEGOTIATION
David E StockhamAustraliaXuxue Feng RENEWAL
Morrow F CaldareraArgentinaAsiya Javayant QUALIFIED
Leja P BologniaSpainStephen Shaw UNQUALIFIED
Julie X ShinkoAustraliaElwin Sharvill NEW
Misaki C DoeRussiaIvan Magalhaes NEGOTIATION
Smith C SlusarskiRussiaXuxue Feng PROPOSAL
Antonio T FigeroaFranceOnyama Limba RENEWAL
Rodrigues Q SchemmerCanadaAnna Fali NEW
Aika O RutaJapanAmy Elsner PROPOSAL
Faith K GillianUnited KingdomOnyama Limba NEW
Costa P CaldareraJapanAsiya Javayant NEGOTIATION
Wickens N NestleFranceAnna Fali PROPOSAL
Octavia S WhobreyArgentinaBernardo Dominic QUALIFIED
Leon Z SergiItalyXuxue Feng PROPOSAL
Kaitlin F FigeroaCanadaXuxue Feng QUALIFIED
Aika R GarufiAustraliaIoni Bowcher NEGOTIATION
Ashley N OstroskyGermanyAsiya Javayant NEGOTIATION
Cody W ShinkoBrazilElwin Sharvill NEGOTIATION
Johnson A OstroskyCanadaIvan Magalhaes QUALIFIED
Ricardo R StensethIndiaAsiya Javayant NEGOTIATION
Smith E CaudyBrazilAnna Fali PROPOSAL
Alejandro X OldroydGermanyXuxue Feng UNQUALIFIED
Darci C TollnerIndiaAnna Fali PROPOSAL
Chavez M CampainCanadaStephen Shaw NEW
Chavez W RutaArgentinaAnna Fali NEGOTIATION
Antonio M CaldareraBrazilElwin Sharvill UNQUALIFIED
Arvin Z StockhamJapanXuxue Feng NEW
Sinclair H GillianItalyAsiya Javayant NEGOTIATION
Ivar I PoquetteSpainAnna Fali QUALIFIED
Ashley O StensethJapanBernardo Dominic NEW
Salvatore K VenereCanadaIvan Magalhaes NEW
Salvatore J RoysterJapanStephen Shaw NEW
Smith X CaldareraCanadaIoni Bowcher NEW
Greenwood L AmigonArgentinaIvan Magalhaes PROPOSAL
Jennifer Q ButtGermanyAmy Elsner PROPOSAL
Ricardo Q SchemmerFranceXuxue Feng QUALIFIED
Emily X AmigonArgentinaAmy Elsner NEGOTIATION
Alejandro E RoysterArgentinaAmy Elsner NEGOTIATION
Ivar J CaudyGermanyOnyama Limba NEW
Costa M TollnerAustraliaIvan Magalhaes RENEWAL
Smith A MorascaFranceIoni Bowcher NEGOTIATION
Silvio D MorascaGermanyXuxue Feng QUALIFIED
Adams X CaldareraRussiaIvan Magalhaes NEW
Antonio G RoysterIndiaIoni Bowcher UNQUALIFIED
Mayumi K GauchoFranceXuxue Feng RENEWAL
Wickens B StockhamBrazilAsiya Javayant PROPOSAL
Leja O StensethAustraliaIoni Bowcher PROPOSAL
Adams L SlusarskiAustraliaOnyama Limba NEGOTIATION
Smith Y VocelkaUnited KingdomIvan Magalhaes RENEWAL
Horizontal
NameCountryRepresentativeStatus
Maria T GauchoCanadaAsiya Javayant NEW
Aditya X RimSpainElwin Sharvill RENEWAL
Darci O WieserAustraliaIoni Bowcher QUALIFIED
Deepesh M TollnerItalyIvan Magalhaes PROPOSAL
Chavez V GarufiFranceAmy Elsner UNQUALIFIED
Antonio G MaletJapanAmy Elsner QUALIFIED
Alejandro Z CaudyBrazilAsiya Javayant QUALIFIED
Juan O FollerIndiaStephen Shaw NEW
Chavez H BriddickSpainAmy Elsner RENEWAL
James W MaletBrazilStephen Shaw QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aika V MaletSpain2024-06-15Rangoni Of Florence NEGOTIATION69Anna Fali
1001Murillo D IturbideJapan2024-05-23Printing Dimensions UNQUALIFIED32Anna Fali
1002Ricardo N KuskoCanada2024-05-19Feltz Printing Service NEGOTIATION36Elwin Sharvill
1003Morrow Q VocelkaBrazil2024-06-11Printing Dimensions QUALIFIED11Ivan Magalhaes
1004Rodrigues E ButtCanada2024-06-15Chanay, Jeffrey A Esq NEGOTIATION59Anna Fali
1005Juan T DilliardRussia2024-06-02King, Christopher A Esq PROPOSAL46Anna Fali
1006Antonio O PaprockiIndia2024-06-06Feltz Printing Service UNQUALIFIED20Ioni Bowcher
1007Julie W SlusarskiBrazil2024-05-19Morlong Associates RENEWAL65Ioni Bowcher
1008Darci K MarrierFrance2024-06-06Truhlar And Truhlar Attys UNQUALIFIED99Elwin Sharvill
1009Arvin L PerinArgentina2024-06-11Dorl, James J Esq NEGOTIATION41Onyama Limba
1010Maisha K TollnerJapan2024-06-08Rangoni Of Florence UNQUALIFIED43Stephen Shaw
1011Jefferson M BowleyFrance2024-05-18Commercial Press RENEWAL44Asiya Javayant
1012Alejandro Z AlbaresRussia2024-06-06Chemel, James L Cpa UNQUALIFIED38Ioni Bowcher
1013Tony U StockhamArgentina2024-05-17Rangoni Of Florence NEGOTIATION54Elwin Sharvill
1014James T CampainBrazil2024-06-15Dorl, James J Esq QUALIFIED9Stephen Shaw
1015Deepesh L RutaJapan2024-06-07Rousseaux, Michael Esq PROPOSAL16Stephen Shaw
1016Sinclair K DarakjyItaly2024-05-28King, Christopher A Esq QUALIFIED29Amy Elsner
1017Morrow R FollerUnited Kingdom2024-05-26Rangoni Of Florence PROPOSAL88Amy Elsner
1018Ivar R FollerJapan2024-05-29Benton, John B Jr UNQUALIFIED5Amy Elsner
1019Francesco Q OldroydArgentina2024-06-01Rousseaux, Michael Esq NEGOTIATION16Xuxue Feng
1020Sinclair P StockhamRussia2024-05-26Feiner Bros NEGOTIATION13Stephen Shaw
1021Darci X WaycottIndia2024-06-05Benton, John B Jr RENEWAL13Stephen Shaw
1022Arvin X GarufiIndia2024-05-21Dorl, James J Esq NEW61Ioni Bowcher
1023Julie A WieserIndia2024-05-19Benton, John B Jr RENEWAL43Bernardo Dominic
1024Ivar O OstroskyCanada2024-05-22Chapman, Ross E Esq QUALIFIED36Amy Elsner
1025Juan G RoysterFrance2024-05-27Rousseaux, Michael Esq QUALIFIED38Anna Fali
1026Kaitlin A AlbaresJapan2024-06-13Chapman, Ross E Esq NEGOTIATION99Asiya Javayant
1027Aruna W FerenczCanada2024-05-29Morlong Associates RENEWAL76Anna Fali
1028Greenwood N CaudyUnited Kingdom2024-05-24Rousseaux, Michael Esq QUALIFIED32Ioni Bowcher
1029Smith Z RoysterJapan2024-05-20Feltz Printing Service QUALIFIED90Xuxue Feng
1030Izzy U WaycottRussia2024-05-28Printing Dimensions RENEWAL44Onyama Limba
1031Cody U BriddickIndia2024-06-07Commercial Press PROPOSAL71Onyama Limba
1032Isabel Z PoquetteCanada2024-05-22Buckley Miller Wright NEW21Asiya Javayant
1033Nicolas K IturbideItaly2024-06-14Truhlar And Truhlar Attys NEW7Xuxue Feng
1034Darci R VenereItaly2024-05-17Chanay, Jeffrey A Esq RENEWAL10Ioni Bowcher
1035Francesco H CampainIndia2024-05-31Chapman, Ross E Esq UNQUALIFIED66Amy Elsner
1036Maisha C IturbideSpain2024-05-28Commercial Press NEGOTIATION28Ivan Magalhaes
1037Chavez Q TollnerUnited Kingdom2024-05-30Dorl, James J Esq QUALIFIED29Amy Elsner
1038Maria X RoysterFrance2024-06-13King, Christopher A Esq NEW69Elwin Sharvill
1039Jennifer K BriddickCanada2024-05-18Chanay, Jeffrey A Esq NEGOTIATION34Xuxue Feng
1040Adams Z PerinArgentina2024-05-26Rangoni Of Florence PROPOSAL93Ioni Bowcher
1041Costa C SlusarskiJapan2024-06-05Rousseaux, Michael Esq RENEWAL74Ioni Bowcher
1042Jones G DarakjyItaly2024-06-14Morlong Associates QUALIFIED69Bernardo Dominic
1043Morrow Y GillianCanada2024-06-08Commercial Press RENEWAL4Xuxue Feng
1044Murillo M RulapaughGermany2024-06-14Buckley Miller Wright NEW70Xuxue Feng
1045Cody F DarakjyGermany2024-05-27Printing Dimensions RENEWAL50Amy Elsner
1046Misaki F RimBrazil2024-05-29Dorl, James J Esq NEW34Amy Elsner
1047Mayumi Y OstroskyArgentina2024-06-14Morlong Associates PROPOSAL91Ivan Magalhaes
1048Arvin A VocelkaCanada2024-06-14Buckley Miller Wright NEW52Ioni Bowcher
1049Greenwood O AlbaresFrance2024-05-20Truhlar And Truhlar Attys NEGOTIATION62Onyama Limba
Frozen Rows
NameCountryRepresentativeStatus
Octavia G VocelkaItalyBernardo Dominic NEGOTIATION
Chavez C FigeroaItalyStephen Shaw UNQUALIFIED
Ivar C MaletItalyAnna Fali NEW
David V MorascaIndiaAsiya Javayant NEGOTIATION
Silvio Y MaletJapanBernardo Dominic NEW
Maria R SaylorsIndiaStephen Shaw QUALIFIED
Munro M SaylorsCanadaIoni Bowcher UNQUALIFIED
Smith W MorascaAustraliaAsiya Javayant PROPOSAL
Darci F FollerBrazilAsiya Javayant NEW
Smith U VocelkaArgentinaAnna Fali QUALIFIED
Wickens V SergiAustraliaIoni Bowcher NEGOTIATION
Leja V TollnerFranceAmy Elsner NEW
Arvin H FollerCanadaElwin Sharvill UNQUALIFIED
Cody X RutaSpainIoni Bowcher RENEWAL
Greenwood B PoquetteBrazilAmy Elsner NEW
Claire Y PaprockiFranceElwin Sharvill QUALIFIED
Kaitlin L RimRussiaAnna Fali UNQUALIFIED
Darci J RoysterFranceAmy Elsner RENEWAL
Deepesh P StockhamJapanElwin Sharvill UNQUALIFIED
Rodrigues V StensethRussiaBernardo Dominic QUALIFIED
Jefferson K GarufiBrazilXuxue Feng QUALIFIED
Octavia S BologniaJapanBernardo Dominic PROPOSAL
Alejandro B IturbideSpainIvan Magalhaes UNQUALIFIED
Julie H RutaAustraliaAsiya Javayant RENEWAL
Darci U WieserFranceBernardo Dominic UNQUALIFIED
Aika A WaycottRussiaAmy Elsner RENEWAL
Isabel E AmigonFranceIvan Magalhaes NEW
Cody N NickaArgentinaAmy Elsner NEGOTIATION
Smith T BriddickBrazilAmy Elsner PROPOSAL
Octavia S MarrierItalyIvan Magalhaes UNQUALIFIED
Jeanfrancois D PaprockiAustraliaAmy Elsner NEW
Octavia P MaletSpainAmy Elsner NEW
Ashley F NickaArgentinaOnyama Limba NEW
Darci L RutaGermanyAsiya Javayant NEW
Costa D WhobreyRussiaAsiya Javayant UNQUALIFIED
Stacey B TollnerIndiaIoni Bowcher RENEWAL
Deepesh D RoysterJapanOnyama Limba UNQUALIFIED
Rodrigues G GauchoArgentinaAmy Elsner PROPOSAL
Kadeem R AmigonJapanXuxue Feng PROPOSAL
Jennifer I OldroydRussiaOnyama Limba NEW
Aika S SaylorsBrazilOnyama Limba NEW
Leja W SchemmerArgentinaBernardo Dominic PROPOSAL
Salvatore H GarufiGermanyIvan Magalhaes PROPOSAL
Darci M ChuiCanadaAmy Elsner UNQUALIFIED
Ashley T RulapaughJapanIvan Magalhaes NEGOTIATION
Silvio A GlickBrazilStephen Shaw NEGOTIATION
Juan J PoquetteArgentinaXuxue Feng UNQUALIFIED
Morrow U ButtCanadaXuxue Feng UNQUALIFIED
Julie U MarrierCanadaStephen Shaw NEW
Faith F MorascaItalyStephen Shaw RENEWAL
Frozen Columns
Name
Emily G Inouye
Salvatore H Paprocki
Rodrigues A Gillian
Aditya O Flosi
Adams C Kolmetz
Jeanfrancois D Morasca
Deepesh W Gaucho
Wickens R Nestle
Juan C Rulapaugh
Jennifer B Wieser
Antonio V Briddick
Nicolas Y Butt
Leja D Garufi
Ivar E Chui
Jefferson A Perin
Arvin E Kusko
Kadeem O Royster
Emily U Malet
Darci S Briddick
Jeanfrancois T Figeroa
Julie R Whobrey
Ivar C Tollner
Murillo X Rim
Tony D Tollner
Aika Q Inouye
Antonio P Oldroyd
Maria R Butt
Tony E Nicka
Maisha R Malet
Isabel Q Albares
Smith P Ostrosky
Costa B Wieser
Silvio C Wieser
Adams H Foller
Mayumi A Chui
Morrow O Whobrey
Ivar B Nicka
Munro D Inouye
Sinclair I Doe
Faith T Caudy
Adams I Sergi
Misaki S Bolognia
Leja G Shinko
Maria A Gillian
Darci J Stenseth
Misaki Z Garufi
Chavez L Foller
Juan T Schemmer
Adams N Stenseth
Rodrigues X Tollner
IdCountryDate
1000Italy2024-05-24
1001Italy2024-05-31
1002Canada2024-06-07
1003Australia2024-05-20
1004Japan2024-06-10
1005United Kingdom2024-06-02
1006Australia2024-06-14
1007Japan2024-05-29
1008Australia2024-06-15
1009France2024-06-05
1010Brazil2024-06-06
1011Brazil2024-05-25
1012Argentina2024-06-07
1013Brazil2024-05-25
1014United Kingdom2024-05-25
1015Germany2024-06-01
1016Canada2024-06-06
1017Canada2024-06-08
1018Australia2024-05-25
1019Japan2024-05-27
1020Canada2024-06-04
1021Canada2024-05-27
1022Italy2024-05-20
1023Australia2024-05-25
1024Canada2024-05-24
1025United Kingdom2024-06-01
1026Germany2024-06-10
1027Brazil2024-06-08
1028France2024-06-13
1029Brazil2024-05-29
1030Italy2024-06-03
1031Canada2024-06-08
1032France2024-05-22
1033Argentina2024-05-17
1034France2024-05-29
1035Argentina2024-06-07
1036Japan2024-05-17
1037Germany2024-05-22
1038Germany2024-05-25
1039Argentina2024-05-30
1040India2024-06-15
1041India2024-05-25
1042Japan2024-05-29
1043Japan2024-05-28
1044India2024-05-18
1045France2024-06-07
1046Canada2024-05-29
1047Japan2024-06-02
1048Germany2024-05-20
1049Spain2024-06-09

On-Demand Data

NameIdCountryDate
Tony O Foller1000Russia2024-06-07
Antonio W Rulapaugh1001Italy2024-06-11
Silvio A Sergi1002United Kingdom2024-06-08
Jennifer E Nestle1003Australia2024-06-11
Smith J Schemmer1004Japan2024-05-25
Kadeem Y Foller1005Italy2024-06-12
Jefferson V Poquette1006Brazil2024-06-15
Izzy J Inouye1007Russia2024-05-28
Wickens L Doe1008United Kingdom2024-05-28
Leja O Briddick1009Italy2024-06-14
Silvio A Figeroa1010Germany2024-06-05
James I Whobrey1011United Kingdom2024-06-09
Costa O Butt1012France2024-05-31
Antonio U Stenseth1013France2024-05-17
Greenwood U Poquette1014Russia2024-05-26
Aditya N Whobrey1015Argentina2024-06-02
Clifford B Waycott1016Australia2024-06-04
Juan S Kolmetz1017Argentina2024-06-01
Ricardo X Caldarera1018Japan2024-06-15
Claire V Ostrosky1019Argentina2024-06-15
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
David Q FlosiAustraliaStephen Shaw RENEWAL
Octavia Q SergiArgentinaIvan Magalhaes UNQUALIFIED
Claire E StensethUnited KingdomOnyama Limba NEW
Rodrigues M FerenczIndiaIvan Magalhaes UNQUALIFIED
Arvin L DarakjyAustraliaStephen Shaw PROPOSAL
Isabel L GlickGermanyAmy Elsner RENEWAL
Wickens G RimUnited KingdomAnna Fali PROPOSAL
Octavia C MaletCanadaAnna Fali UNQUALIFIED
Silvio Z MacleadRussiaElwin Sharvill RENEWAL
Maria R BologniaSpainElwin Sharvill UNQUALIFIED
Francesco W DarakjyArgentinaAnna Fali UNQUALIFIED
Murillo V SergiUnited KingdomBernardo Dominic QUALIFIED
Leon C ButtAustraliaXuxue Feng QUALIFIED
Sinclair H DilliardCanadaAsiya Javayant UNQUALIFIED
Morrow Y BowleyIndiaAmy Elsner NEGOTIATION
Mayumi U PerinCanadaAsiya Javayant NEW
Ivar X MarrierGermanyAsiya Javayant NEGOTIATION
Julie P AlbaresGermanyBernardo Dominic UNQUALIFIED
Francesco R AmigonIndiaElwin Sharvill PROPOSAL
Wickens X AlbaresArgentinaXuxue Feng QUALIFIED
Silvio O TollnerBrazilAnna Fali RENEWAL
Jones D WieserItalyOnyama Limba UNQUALIFIED
Ricardo Q KuskoCanadaAsiya Javayant RENEWAL
Sinclair P GillianFranceXuxue Feng QUALIFIED
James K NickaAustraliaIoni Bowcher NEGOTIATION
Mujtaba P RutaRussiaAnna Fali NEGOTIATION
Nicolas X MaletArgentinaAsiya Javayant PROPOSAL
Silvio O GauchoCanadaIoni Bowcher QUALIFIED
Isabel E KolmetzSpainXuxue Feng NEW
Salvatore I CampainBrazilElwin Sharvill PROPOSAL
Rodrigues D WieserRussiaIvan Magalhaes UNQUALIFIED
Stacey Y MorascaUnited KingdomOnyama Limba QUALIFIED
Maisha V FigeroaFranceAmy Elsner NEW
Morrow V PoquetteUnited KingdomAsiya Javayant RENEWAL
Nicolas J ShinkoArgentinaXuxue Feng UNQUALIFIED
Ashley I FlosiUnited KingdomAsiya Javayant RENEWAL
Jefferson B FerenczAustraliaXuxue Feng PROPOSAL
Costa M GauchoIndiaBernardo Dominic NEGOTIATION
Kaitlin E GlickArgentinaAnna Fali PROPOSAL
Jeanfrancois N BriddickUnited KingdomAmy Elsner UNQUALIFIED

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