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
Chavez M RoysterBrazilXuxue Feng QUALIFIED
James B PerinRussiaStephen Shaw RENEWAL
Cody W DarakjyAustraliaBernardo Dominic RENEWAL
Nicolas C SergiUnited KingdomAnna Fali NEW
Johnson B OldroydUnited KingdomElwin Sharvill QUALIFIED
Mayumi Q CaudyCanadaStephen Shaw NEGOTIATION
Jeanfrancois I OldroydUnited KingdomAmy Elsner NEGOTIATION
Wickens S RulapaughSpainBernardo Dominic QUALIFIED
Jefferson O GlickAustraliaIvan Magalhaes NEW
Claire J RulapaughBrazilAsiya Javayant NEW
Darci K GlickBrazilAsiya Javayant UNQUALIFIED
Maria V OldroydArgentinaAsiya Javayant NEGOTIATION
Adams J ButtCanadaElwin Sharvill UNQUALIFIED
Jennifer H PerinCanadaStephen Shaw QUALIFIED
Adams G NestleFranceIoni Bowcher RENEWAL
Emily H OldroydSpainIvan Magalhaes NEW
Costa V CaldareraAustraliaAnna Fali QUALIFIED
Johnson L GillianItalyElwin Sharvill RENEWAL
Juan S GarufiBrazilAmy Elsner UNQUALIFIED
Tony Z SaylorsRussiaOnyama Limba UNQUALIFIED
Salvatore L MaletFranceElwin Sharvill NEGOTIATION
Jones I MaletIndiaXuxue Feng NEGOTIATION
Jeanfrancois P SchemmerCanadaIoni Bowcher NEGOTIATION
Misaki E SchemmerUnited KingdomXuxue Feng NEGOTIATION
Kaitlin G AmigonFranceElwin Sharvill NEW
Jeanfrancois C BriddickCanadaAsiya Javayant RENEWAL
Julie S NickaAustraliaStephen Shaw PROPOSAL
Mayumi X ShinkoAustraliaXuxue Feng PROPOSAL
Francesco B FlosiBrazilXuxue Feng PROPOSAL
Leon M MacleadRussiaStephen Shaw NEGOTIATION
Juan X MorascaUnited KingdomXuxue Feng PROPOSAL
Maisha Q NickaCanadaAsiya Javayant PROPOSAL
Misaki R FerenczJapanElwin Sharvill QUALIFIED
Tony X MarrierAustraliaAmy Elsner QUALIFIED
Arvin S FlosiRussiaIvan Magalhaes RENEWAL
Juan K GauchoGermanyXuxue Feng UNQUALIFIED
Tony V GlickFranceAsiya Javayant RENEWAL
Kaitlin T TollnerIndiaXuxue Feng UNQUALIFIED
Adams T MorascaFranceAmy Elsner NEW
Claire F RoysterBrazilBernardo Dominic NEW
Deepesh J NestleGermanyAnna Fali NEGOTIATION
Jones X FerenczRussiaAnna Fali NEGOTIATION
Arvin D DoeUnited KingdomIvan Magalhaes NEW
Clifford C KuskoUnited KingdomAnna Fali NEW
Adams T FigeroaRussiaXuxue Feng RENEWAL
Jones R FerenczRussiaStephen Shaw NEW
Jones Z GlickRussiaBernardo Dominic NEGOTIATION
Murillo S PaprockiGermanyAnna Fali QUALIFIED
Juan K GarufiCanadaAnna Fali QUALIFIED
Rodrigues B VenereCanadaElwin Sharvill NEW
Horizontal
NameCountryRepresentativeStatus
David L MorascaItalyOnyama Limba RENEWAL
Deepesh O SergiArgentinaOnyama Limba UNQUALIFIED
Ricardo B PerinAustraliaBernardo Dominic NEGOTIATION
Maria M WhobreyIndiaAnna Fali QUALIFIED
Jones Q VenereFranceAnna Fali NEGOTIATION
Ivar R SchemmerFranceElwin Sharvill NEGOTIATION
Kadeem K GauchoSpainIvan Magalhaes QUALIFIED
Morrow E CaudyRussiaBernardo Dominic UNQUALIFIED
Adams P SergiJapanAsiya Javayant NEW
Faith S RoysterJapanElwin Sharvill QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Nicolas T MarrierJapan2024-06-12Feiner Bros RENEWAL54Xuxue Feng
1001Misaki H RutaUnited Kingdom2024-06-07Feiner Bros RENEWAL56Xuxue Feng
1002Ashley U MacleadFrance2024-06-18Rousseaux, Michael Esq NEGOTIATION33Ioni Bowcher
1003Johnson K RimArgentina2024-06-09Morlong Associates PROPOSAL58Anna Fali
1004Leja P MaletIndia2024-06-03King, Christopher A Esq RENEWAL21Amy Elsner
1005Stacey T RoysterUnited Kingdom2024-06-18Rousseaux, Michael Esq QUALIFIED93Ioni Bowcher
1006Misaki M StockhamIndia2024-05-26Feiner Bros PROPOSAL11Stephen Shaw
1007Maria Q WieserGermany2024-06-06Morlong Associates PROPOSAL92Anna Fali
1008Izzy O CaudyBrazil2024-06-05Rangoni Of Florence QUALIFIED3Anna Fali
1009Ivar A GarufiSpain2024-06-01Truhlar And Truhlar Attys NEW54Bernardo Dominic
1010Clifford O AmigonItaly2024-06-02Morlong Associates PROPOSAL36Bernardo Dominic
1011Kaitlin M ShinkoCanada2024-06-08Morlong Associates RENEWAL96Ivan Magalhaes
1012Antonio F FollerArgentina2024-06-09Chemel, James L Cpa UNQUALIFIED12Amy Elsner
1013Misaki T KuskoAustralia2024-06-06Truhlar And Truhlar Attys PROPOSAL13Amy Elsner
1014Claire L SchemmerArgentina2024-06-09Truhlar And Truhlar Attys UNQUALIFIED70Bernardo Dominic
1015Octavia A BowleyArgentina2024-06-21Rousseaux, Michael Esq QUALIFIED60Onyama Limba
1016Rodrigues L TollnerUnited Kingdom2024-06-10Morlong Associates RENEWAL60Stephen Shaw
1017Costa V CaldareraFrance2024-06-04Chemel, James L Cpa PROPOSAL34Ivan Magalhaes
1018Antonio N OldroydCanada2024-06-20Chapman, Ross E Esq UNQUALIFIED84Bernardo Dominic
1019Francesco K DarakjyUnited Kingdom2024-06-21Chemel, James L Cpa RENEWAL66Bernardo Dominic
1020Julie G FlosiRussia2024-06-20Truhlar And Truhlar Attys UNQUALIFIED44Asiya Javayant
1021Ricardo A PaprockiCanada2024-06-21Commercial Press NEW80Anna Fali
1022Jefferson A MaletGermany2024-06-12Feiner Bros QUALIFIED90Anna Fali
1023Jeanfrancois Y MacleadJapan2024-06-22Chapman, Ross E Esq RENEWAL4Bernardo Dominic
1024Juan G ChuiGermany2024-06-15Truhlar And Truhlar Attys PROPOSAL94Bernardo Dominic
1025Faith A ShinkoItaly2024-06-05Commercial Press NEW69Bernardo Dominic
1026Wickens E MarrierBrazil2024-05-28Morlong Associates UNQUALIFIED57Onyama Limba
1027Alejandro W MacleadArgentina2024-05-26Chemel, James L Cpa NEGOTIATION89Ioni Bowcher
1028Faith V RimFrance2024-06-04Feltz Printing Service RENEWAL27Ivan Magalhaes
1029Silvio B ButtCanada2024-06-11Buckley Miller Wright NEGOTIATION53Onyama Limba
1030Jones K ChuiJapan2024-06-13Dorl, James J Esq RENEWAL34Ioni Bowcher
1031Stacey L KuskoBrazil2024-06-17Dorl, James J Esq NEW40Amy Elsner
1032Morrow H CampainItaly2024-06-19Printing Dimensions UNQUALIFIED28Ivan Magalhaes
1033Jones E MorascaUnited Kingdom2024-06-10Chanay, Jeffrey A Esq UNQUALIFIED41Asiya Javayant
1034Jeanfrancois F CaudyBrazil2024-05-30Truhlar And Truhlar Attys RENEWAL36Asiya Javayant
1035Francesco S KuskoUnited Kingdom2024-06-05Chemel, James L Cpa QUALIFIED23Ioni Bowcher
1036Ashley K MorascaIndia2024-06-20Buckley Miller Wright NEW78Xuxue Feng
1037Rodrigues F SaylorsBrazil2024-05-25King, Christopher A Esq NEGOTIATION94Asiya Javayant
1038Octavia B GlickGermany2024-06-10Dorl, James J Esq QUALIFIED94Asiya Javayant
1039Jefferson D GlickGermany2024-06-01Chapman, Ross E Esq QUALIFIED30Stephen Shaw
1040Julie Z SchemmerItaly2024-06-04Truhlar And Truhlar Attys UNQUALIFIED74Asiya Javayant
1041Aika X SchemmerJapan2024-05-26King, Christopher A Esq PROPOSAL89Xuxue Feng
1042Arvin Z SaylorsGermany2024-06-14Feiner Bros UNQUALIFIED96Amy Elsner
1043Clifford U VocelkaRussia2024-06-19Feltz Printing Service RENEWAL49Asiya Javayant
1044Francesco K FerenczBrazil2024-06-22Feiner Bros PROPOSAL39Stephen Shaw
1045Antonio K PoquetteArgentina2024-05-28Commercial Press NEGOTIATION10Anna Fali
1046Julie T NickaGermany2024-06-15Chanay, Jeffrey A Esq RENEWAL41Onyama Limba
1047Greenwood A CaldareraBrazil2024-06-16Chanay, Jeffrey A Esq QUALIFIED81Anna Fali
1048Murillo J PoquetteIndia2024-06-05King, Christopher A Esq UNQUALIFIED97Stephen Shaw
1049Deepesh X StensethJapan2024-05-27King, Christopher A Esq NEGOTIATION35Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Faith W StensethRussiaAsiya Javayant UNQUALIFIED
Leja L InouyeArgentinaIoni Bowcher QUALIFIED
Murillo Y WhobreyFranceIvan Magalhaes UNQUALIFIED
Jones Q DoeUnited KingdomStephen Shaw NEGOTIATION
Ivar T VenereFranceStephen Shaw UNQUALIFIED
James A CaldareraCanadaXuxue Feng QUALIFIED
Alejandro C MarrierItalyXuxue Feng QUALIFIED
Maria Y OstroskySpainAsiya Javayant NEGOTIATION
Aika M GillianGermanyOnyama Limba QUALIFIED
Wickens M VenereIndiaAmy Elsner NEW
Maisha J SergiCanadaElwin Sharvill RENEWAL
Ashley J GillianGermanyIoni Bowcher NEGOTIATION
Jones Y CampainCanadaAnna Fali NEGOTIATION
Maisha S MaletIndiaBernardo Dominic QUALIFIED
Smith V SergiSpainAsiya Javayant NEGOTIATION
Maisha D RimIndiaIvan Magalhaes QUALIFIED
Kadeem X InouyeJapanBernardo Dominic NEGOTIATION
Salvatore Q CaldareraSpainIvan Magalhaes UNQUALIFIED
Mayumi V BologniaAustraliaAmy Elsner UNQUALIFIED
Cody J NickaJapanIoni Bowcher QUALIFIED
Jefferson V FlosiSpainIvan Magalhaes PROPOSAL
Silvio F OstroskyFranceIoni Bowcher UNQUALIFIED
Leja E NestleGermanyAnna Fali PROPOSAL
Johnson I MacleadUnited KingdomXuxue Feng RENEWAL
Aditya J DilliardFranceXuxue Feng NEGOTIATION
Octavia K StockhamJapanAsiya Javayant NEW
Izzy X FollerAustraliaBernardo Dominic RENEWAL
Nicolas H FerenczBrazilAmy Elsner UNQUALIFIED
Claire T DarakjyCanadaElwin Sharvill NEGOTIATION
Isabel O OldroydBrazilBernardo Dominic NEW
David U BowleyCanadaIoni Bowcher UNQUALIFIED
Isabel B GillianArgentinaXuxue Feng NEW
Salvatore Z ChuiSpainElwin Sharvill NEGOTIATION
Izzy D RoysterCanadaAsiya Javayant NEGOTIATION
Clifford Y ChuiUnited KingdomOnyama Limba RENEWAL
James G BriddickItalyAmy Elsner NEGOTIATION
Jeanfrancois Q SergiSpainOnyama Limba NEGOTIATION
Ashley X OldroydJapanAnna Fali PROPOSAL
Aditya B FigeroaUnited KingdomAsiya Javayant QUALIFIED
Ashley V VenereCanadaElwin Sharvill UNQUALIFIED
Darci A BologniaUnited KingdomElwin Sharvill NEGOTIATION
Cody O InouyeSpainIoni Bowcher QUALIFIED
James M AlbaresSpainElwin Sharvill PROPOSAL
Darci E PoquetteAustraliaAmy Elsner QUALIFIED
James Y RulapaughBrazilStephen Shaw PROPOSAL
Arvin L SchemmerIndiaStephen Shaw QUALIFIED
Jeanfrancois B SchemmerIndiaAsiya Javayant RENEWAL
Smith G BowleyFranceIvan Magalhaes UNQUALIFIED
Silvio M AmigonItalyXuxue Feng UNQUALIFIED
Costa G CampainGermanyOnyama Limba RENEWAL
Frozen Columns
Name
Faith O Morasca
Smith W Flosi
Munro F Kolmetz
Maisha G Figeroa
Smith D Nestle
Sinclair V Waycott
Antonio E Oldroyd
Antonio L Venere
Murillo B Whobrey
Deepesh L Morasca
Isabel Q Gaucho
Alejandro W Paprocki
Faith M Glick
Munro C Nicka
Silvio Z Royster
Juan N Stockham
Francesco V Paprocki
Ricardo B Iturbide
Adams A Caldarera
Misaki J Oldroyd
David J Whobrey
Ricardo O Ferencz
Mujtaba L Ferencz
Antonio N Bowley
Costa P Chui
Jefferson P Malet
Smith M Caldarera
Nicolas T Kolmetz
Izzy P Gillian
Deepesh V Venere
Murillo L Vocelka
Octavia P Morasca
Tony T Foller
Arvin R Albares
Mayumi P Bolognia
Octavia U Bowley
Misaki N Whobrey
Cody I Maclead
Johnson O Marrier
Juan W Waycott
Jones H Caldarera
Aika E Caudy
Izzy W Ferencz
Stacey O Darakjy
Isabel K Paprocki
Leja K Rim
Maisha W Royster
Leon L Darakjy
Claire P Maclead
Johnson C Gillian
IdCountryDate
1000Canada2024-06-20
1001Germany2024-06-10
1002France2024-06-02
1003Germany2024-06-09
1004United Kingdom2024-06-16
1005Germany2024-06-18
1006Germany2024-06-21
1007United Kingdom2024-06-02
1008India2024-05-26
1009Canada2024-05-27
1010Argentina2024-06-16
1011Spain2024-05-29
1012United Kingdom2024-06-17
1013Italy2024-06-15
1014Argentina2024-06-07
1015Germany2024-05-28
1016India2024-06-22
1017Japan2024-06-03
1018United Kingdom2024-06-07
1019Russia2024-06-22
1020India2024-06-22
1021Germany2024-05-31
1022Russia2024-06-20
1023Australia2024-06-12
1024Germany2024-05-31
1025Russia2024-06-09
1026Argentina2024-06-23
1027Italy2024-06-13
1028Canada2024-06-06
1029Argentina2024-06-01
1030Australia2024-06-21
1031France2024-06-10
1032Brazil2024-06-11
1033United Kingdom2024-05-30
1034India2024-05-31
1035Australia2024-05-28
1036India2024-06-09
1037Brazil2024-05-25
1038Japan2024-06-12
1039Argentina2024-06-20
1040India2024-06-14
1041France2024-06-12
1042Russia2024-05-27
1043India2024-06-04
1044Germany2024-06-05
1045Spain2024-05-31
1046Argentina2024-06-09
1047Australia2024-05-30
1048Spain2024-06-17
1049Brazil2024-06-22

On-Demand Data

NameIdCountryDate
Stacey L Ostrosky1000Argentina2024-06-03
Salvatore K Maclead1001Spain2024-06-13
Nicolas G Shinko1002India2024-06-19
Aruna X Kusko1003Russia2024-06-06
Chavez N Amigon1004Argentina2024-06-10
Isabel S Waycott1005Spain2024-06-20
Mujtaba Y Venere1006Argentina2024-05-27
Munro Z Briddick1007Japan2024-06-04
Nicolas T Figeroa1008Brazil2024-06-14
Emily C Waycott1009Japan2024-05-31
Jones R Waycott1010Germany2024-06-21
Ricardo E Figeroa1011Germany2024-06-07
Emily L Stockham1012India2024-06-23
Francesco N Caldarera1013Brazil2024-06-03
Jeanfrancois H Marrier1014Italy2024-06-16
Tony C Morasca1015Italy2024-06-15
Smith X Maclead1016India2024-06-20
Jones U Slusarski1017France2024-05-29
Jones V Kusko1018Russia2024-06-15
Alejandro V Albares1019India2024-06-14
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Greenwood S SchemmerFranceXuxue Feng NEGOTIATION
Maria M SaylorsArgentinaIoni Bowcher NEGOTIATION
Kadeem Z RimArgentinaAmy Elsner QUALIFIED
Sinclair U NickaFranceIoni Bowcher QUALIFIED
Aditya P AlbaresSpainXuxue Feng QUALIFIED
Jefferson S IturbideAustraliaOnyama Limba PROPOSAL
Francesco P VocelkaBrazilOnyama Limba NEGOTIATION
Munro N DoeCanadaXuxue Feng NEW
Juan D GlickItalyXuxue Feng UNQUALIFIED
Darci M KolmetzJapanIvan Magalhaes RENEWAL
Faith E RulapaughUnited KingdomStephen Shaw NEGOTIATION
Costa O WaycottGermanyIoni Bowcher UNQUALIFIED
Deepesh R VenereBrazilIvan Magalhaes UNQUALIFIED
Darci C OstroskyRussiaStephen Shaw PROPOSAL
Maisha Q OstroskyJapanAmy Elsner UNQUALIFIED
David M InouyeArgentinaXuxue Feng PROPOSAL
David Z AmigonBrazilAmy Elsner NEW
Octavia D FigeroaUnited KingdomOnyama Limba RENEWAL
Juan M BowleySpainBernardo Dominic UNQUALIFIED
Silvio E AmigonRussiaXuxue Feng NEGOTIATION
Isabel E DoeCanadaAsiya Javayant NEW
Maisha I IturbideRussiaAsiya Javayant RENEWAL
Jennifer J OstroskyRussiaAmy Elsner RENEWAL
Jeanfrancois Q OldroydIndiaAmy Elsner NEGOTIATION
Sinclair I RutaBrazilBernardo Dominic RENEWAL
Aruna E MacleadBrazilAmy Elsner NEW
Ivar N DoeItalyElwin Sharvill PROPOSAL
Ashley S CaudyRussiaXuxue Feng QUALIFIED
Deepesh Y IturbideSpainIoni Bowcher RENEWAL
Jefferson O WhobreySpainBernardo Dominic NEW
Ashley T PerinCanadaIoni Bowcher RENEWAL
Aika K CaudyItalyXuxue Feng RENEWAL
Faith M FlosiJapanAsiya Javayant RENEWAL
Jefferson B MacleadUnited KingdomOnyama Limba QUALIFIED
Costa C NickaGermanyBernardo Dominic NEW
Juan H WhobreyRussiaAmy Elsner NEGOTIATION
Mayumi R SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Ricardo R AmigonArgentinaXuxue Feng UNQUALIFIED
Jones B MaletFranceOnyama Limba NEW
Greenwood X DarakjyBrazilIvan Magalhaes 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>