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
Aika J NestleBrazilIoni Bowcher NEGOTIATION
Isabel N WieserJapanBernardo Dominic UNQUALIFIED
Adams A WhobreyGermanyOnyama Limba PROPOSAL
Cody K OstroskyItalyAsiya Javayant PROPOSAL
Greenwood D FerenczJapanBernardo Dominic NEGOTIATION
Cody G DilliardUnited KingdomAnna Fali PROPOSAL
Alejandro H BowleyRussiaAsiya Javayant NEW
Octavia L BriddickAustraliaStephen Shaw UNQUALIFIED
Claire K BologniaRussiaBernardo Dominic PROPOSAL
Aditya Y SaylorsUnited KingdomAnna Fali NEGOTIATION
Adams E FerenczJapanAmy Elsner RENEWAL
Silvio H RimGermanyBernardo Dominic PROPOSAL
Smith F SergiArgentinaAsiya Javayant NEW
Juan M NestleItalyStephen Shaw UNQUALIFIED
Maria H ShinkoArgentinaXuxue Feng NEW
Francesco C IturbideItalyAnna Fali UNQUALIFIED
Antonio Y DoeCanadaElwin Sharvill QUALIFIED
Claire I ButtAustraliaAsiya Javayant RENEWAL
Juan S WaycottRussiaAmy Elsner PROPOSAL
Munro O AmigonIndiaStephen Shaw NEGOTIATION
Kaitlin P WieserCanadaElwin Sharvill UNQUALIFIED
Silvio U DarakjySpainAnna Fali UNQUALIFIED
Aika P DarakjyJapanAnna Fali PROPOSAL
Maria D DoeAustraliaAmy Elsner UNQUALIFIED
Faith I BriddickIndiaAsiya Javayant QUALIFIED
Salvatore P MaletArgentinaBernardo Dominic QUALIFIED
Izzy S OstroskyAustraliaElwin Sharvill RENEWAL
Arvin C ButtUnited KingdomAsiya Javayant NEGOTIATION
Maria Z RulapaughFranceOnyama Limba NEW
Clifford E DarakjyItalyBernardo Dominic NEGOTIATION
Mujtaba Y SergiRussiaAmy Elsner NEGOTIATION
Morrow R PerinUnited KingdomOnyama Limba UNQUALIFIED
Nicolas T RoysterAustraliaIvan Magalhaes PROPOSAL
Aruna P MaletCanadaElwin Sharvill NEW
Ashley K WieserSpainAsiya Javayant QUALIFIED
Nicolas R BriddickIndiaAsiya Javayant QUALIFIED
Julie M SergiIndiaAnna Fali UNQUALIFIED
Kadeem D KolmetzGermanyStephen Shaw QUALIFIED
Mujtaba J RoysterAustraliaBernardo Dominic UNQUALIFIED
Darci J CaldareraFranceStephen Shaw NEW
Jennifer T KuskoRussiaIvan Magalhaes RENEWAL
Jones R AlbaresAustraliaIvan Magalhaes UNQUALIFIED
Clifford N MaletAustraliaAmy Elsner PROPOSAL
Adams Z DilliardBrazilIvan Magalhaes NEGOTIATION
Munro K BologniaUnited KingdomXuxue Feng QUALIFIED
Jones L VenereJapanOnyama Limba QUALIFIED
Claire Z MaletCanadaBernardo Dominic PROPOSAL
David F CaudyIndiaIvan Magalhaes QUALIFIED
Rodrigues P InouyeItalyAmy Elsner PROPOSAL
Arvin H OstroskyAustraliaElwin Sharvill RENEWAL
Horizontal
NameCountryRepresentativeStatus
Morrow U MorascaUnited KingdomOnyama Limba NEW
Aruna T RulapaughCanadaBernardo Dominic NEW
Jennifer V WaycottIndiaOnyama Limba NEW
Costa D FigeroaFranceStephen Shaw QUALIFIED
Aruna F InouyeBrazilStephen Shaw UNQUALIFIED
Adams N PerinJapanBernardo Dominic UNQUALIFIED
Nicolas J MorascaUnited KingdomBernardo Dominic QUALIFIED
Munro L DoeUnited KingdomXuxue Feng RENEWAL
Aditya Y VocelkaBrazilXuxue Feng NEW
Mujtaba S KuskoUnited KingdomIvan Magalhaes NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Aruna W CaudyUnited Kingdom2024-05-25Dorl, James J Esq UNQUALIFIED76Ioni Bowcher
1001Sinclair C DilliardUnited Kingdom2024-06-18Commercial Press NEW55Anna Fali
1002Jefferson W RimAustralia2024-06-11Feiner Bros RENEWAL59Onyama Limba
1003Jefferson G GauchoFrance2024-06-19Chapman, Ross E Esq QUALIFIED5Stephen Shaw
1004Jeanfrancois W DoeAustralia2024-05-24Printing Dimensions UNQUALIFIED70Bernardo Dominic
1005Rodrigues S BologniaCanada2024-06-21Chanay, Jeffrey A Esq PROPOSAL38Asiya Javayant
1006Darci K BowleyIndia2024-06-02King, Christopher A Esq RENEWAL19Xuxue Feng
1007Sinclair Q FlosiCanada2024-06-13Commercial Press NEGOTIATION13Anna Fali
1008Murillo I GlickArgentina2024-05-30King, Christopher A Esq PROPOSAL53Elwin Sharvill
1009Aruna A CaldareraUnited Kingdom2024-05-23Chemel, James L Cpa NEW30Anna Fali
1010Antonio X GauchoArgentina2024-05-31Chanay, Jeffrey A Esq NEW10Amy Elsner
1011Cody G FlosiUnited Kingdom2024-06-14Chapman, Ross E Esq NEW79Bernardo Dominic
1012Salvatore D ButtRussia2024-05-26Chemel, James L Cpa UNQUALIFIED10Anna Fali
1013Arvin W MarrierAustralia2024-06-02Rousseaux, Michael Esq NEW21Asiya Javayant
1014Ricardo H ShinkoItaly2024-06-01Commercial Press NEGOTIATION10Elwin Sharvill
1015Silvio O FerenczItaly2024-05-26Printing Dimensions UNQUALIFIED29Onyama Limba
1016Greenwood U MaletFrance2024-06-05King, Christopher A Esq RENEWAL10Onyama Limba
1017Aditya K WieserIndia2024-05-25Benton, John B Jr NEGOTIATION25Ioni Bowcher
1018Murillo V FigeroaIndia2024-06-04Commercial Press RENEWAL39Stephen Shaw
1019Morrow H NickaFrance2024-05-23Chanay, Jeffrey A Esq QUALIFIED51Onyama Limba
1020Francesco L ButtArgentina2024-06-05Benton, John B Jr UNQUALIFIED83Ivan Magalhaes
1021Antonio A MarrierBrazil2024-06-01Rousseaux, Michael Esq NEGOTIATION12Anna Fali
1022Misaki V RimFrance2024-05-25Feiner Bros PROPOSAL33Ivan Magalhaes
1023Greenwood P ButtGermany2024-06-10Benton, John B Jr NEW95Elwin Sharvill
1024Deepesh S VenereJapan2024-06-17Dorl, James J Esq NEW98Ivan Magalhaes
1025Leja L GauchoUnited Kingdom2024-06-08Feltz Printing Service NEGOTIATION25Ioni Bowcher
1026Mayumi N MacleadJapan2024-06-20Chanay, Jeffrey A Esq RENEWAL32Bernardo Dominic
1027Kaitlin S OstroskyFrance2024-05-29Buckley Miller Wright RENEWAL56Stephen Shaw
1028Claire G ChuiSpain2024-05-30Chanay, Jeffrey A Esq PROPOSAL28Stephen Shaw
1029Kaitlin T SergiFrance2024-06-18Morlong Associates QUALIFIED37Elwin Sharvill
1030Jennifer L ButtUnited Kingdom2024-06-07Truhlar And Truhlar Attys RENEWAL54Ivan Magalhaes
1031Jennifer L MorascaJapan2024-06-21Benton, John B Jr NEW84Ivan Magalhaes
1032Sinclair X FollerSpain2024-05-31Feiner Bros RENEWAL33Asiya Javayant
1033Isabel Y SaylorsUnited Kingdom2024-06-19Dorl, James J Esq RENEWAL59Xuxue Feng
1034Mayumi G GlickRussia2024-05-28Feiner Bros RENEWAL46Asiya Javayant
1035Salvatore Z DarakjyCanada2024-06-10Chapman, Ross E Esq UNQUALIFIED78Onyama Limba
1036Stacey K OstroskyFrance2024-05-24Rousseaux, Michael Esq QUALIFIED36Amy Elsner
1037Claire F AmigonSpain2024-06-19Morlong Associates QUALIFIED13Anna Fali
1038Emily D GarufiRussia2024-06-18Rousseaux, Michael Esq RENEWAL35Stephen Shaw
1039Munro E ChuiArgentina2024-05-26Chapman, Ross E Esq NEGOTIATION48Ioni Bowcher
1040Johnson I GlickJapan2024-05-24Dorl, James J Esq PROPOSAL27Stephen Shaw
1041Octavia W SlusarskiCanada2024-06-17Chemel, James L Cpa RENEWAL2Stephen Shaw
1042Mujtaba D MaletAustralia2024-06-04King, Christopher A Esq RENEWAL25Amy Elsner
1043Aika L CaudyFrance2024-05-27King, Christopher A Esq PROPOSAL27Bernardo Dominic
1044Aika A KuskoIndia2024-06-05Dorl, James J Esq UNQUALIFIED17Stephen Shaw
1045Sinclair C CaldareraCanada2024-06-14Benton, John B Jr QUALIFIED84Amy Elsner
1046Morrow U IturbideCanada2024-06-09Feiner Bros NEW28Amy Elsner
1047Cody C StensethArgentina2024-06-16Chanay, Jeffrey A Esq NEW88Amy Elsner
1048Stacey W FollerArgentina2024-06-01Morlong Associates UNQUALIFIED8Anna Fali
1049Isabel K GarufiJapan2024-05-28Truhlar And Truhlar Attys NEW3Anna Fali
Frozen Rows
NameCountryRepresentativeStatus
Mayumi E DoeFranceAmy Elsner UNQUALIFIED
James U MaletRussiaXuxue Feng PROPOSAL
Emily K AmigonRussiaBernardo Dominic QUALIFIED
Tony B TollnerBrazilAnna Fali UNQUALIFIED
Murillo B ShinkoFranceAnna Fali QUALIFIED
Adams H AlbaresItalyAsiya Javayant NEW
Kaitlin E NickaItalyOnyama Limba UNQUALIFIED
Jefferson E InouyeCanadaAnna Fali RENEWAL
Mayumi S StockhamFranceStephen Shaw PROPOSAL
Costa Y FerenczIndiaIoni Bowcher UNQUALIFIED
Deepesh I DoeRussiaAsiya Javayant UNQUALIFIED
Julie N CaudySpainIoni Bowcher PROPOSAL
Misaki F DarakjyUnited KingdomAmy Elsner NEGOTIATION
Adams Y WaycottGermanyStephen Shaw PROPOSAL
Jennifer T CampainUnited KingdomStephen Shaw PROPOSAL
David K VocelkaFranceAnna Fali PROPOSAL
Claire H IturbideSpainElwin Sharvill QUALIFIED
Izzy F AmigonUnited KingdomElwin Sharvill RENEWAL
Silvio L SaylorsItalyAsiya Javayant NEW
Claire P MaletAustraliaAsiya Javayant UNQUALIFIED
Sinclair Z FigeroaCanadaAsiya Javayant QUALIFIED
Misaki E KuskoUnited KingdomElwin Sharvill NEGOTIATION
Emily L CaudyIndiaElwin Sharvill UNQUALIFIED
James O IturbideRussiaAsiya Javayant QUALIFIED
Cody X PoquetteRussiaXuxue Feng NEW
Mayumi L CaudyItalyIoni Bowcher UNQUALIFIED
Isabel L MaletSpainAmy Elsner QUALIFIED
Emily P BologniaArgentinaAsiya Javayant NEW
Salvatore L RimBrazilXuxue Feng NEGOTIATION
Costa J GillianUnited KingdomStephen Shaw PROPOSAL
Silvio U AlbaresCanadaOnyama Limba QUALIFIED
Juan C GillianSpainIvan Magalhaes QUALIFIED
Salvatore X GarufiArgentinaIoni Bowcher PROPOSAL
Julie H BowleyRussiaXuxue Feng NEW
Johnson E TollnerArgentinaAnna Fali RENEWAL
James Q RulapaughAustraliaAsiya Javayant NEW
Chavez N BologniaGermanyAsiya Javayant NEGOTIATION
Isabel S DilliardBrazilElwin Sharvill QUALIFIED
Izzy A BriddickUnited KingdomIvan Magalhaes UNQUALIFIED
Claire D CaldareraJapanElwin Sharvill PROPOSAL
Jeanfrancois P VenereUnited KingdomAnna Fali QUALIFIED
Leja X PoquetteSpainXuxue Feng RENEWAL
Sinclair W PoquetteAustraliaAmy Elsner UNQUALIFIED
Aditya O StockhamUnited KingdomAsiya Javayant NEW
Silvio O TollnerJapanIvan Magalhaes PROPOSAL
Chavez R NickaAustraliaOnyama Limba RENEWAL
Leja D MorascaRussiaIvan Magalhaes QUALIFIED
Juan D IturbideIndiaAsiya Javayant PROPOSAL
Izzy S TollnerCanadaBernardo Dominic UNQUALIFIED
Claire C WieserCanadaIvan Magalhaes NEGOTIATION
Frozen Columns
Name
Faith Z Venere
Aditya B Stenseth
Jones P Sergi
Leja W Maclead
Maisha F Vocelka
Izzy M Doe
Darci S Stenseth
Aditya T Nestle
Mayumi L Malet
Deepesh P Malet
Aruna C Saylors
Misaki K Saylors
Aditya X Stockham
Chavez L Stockham
Alejandro L Poquette
Smith I Shinko
Darci I Maclead
Morrow P Briddick
Rodrigues S Slusarski
Maria B Gillian
Aruna B Schemmer
Munro U Malet
Leon B Inouye
Claire F Ostrosky
Costa B Saylors
Leja Q Garufi
Greenwood R Poquette
Tony M Malet
Stacey L Malet
Antonio X Paprocki
Salvatore Q Venere
Tony P Flosi
Emily M Albares
Silvio A Inouye
Jefferson J Campain
Misaki Z Saylors
Wickens Q Bolognia
Arvin N Whobrey
Nicolas P Marrier
Jennifer B Iturbide
Ricardo N Glick
Kadeem H Venere
Ashley L Rulapaugh
Munro I Dilliard
Chavez O Stockham
Octavia P Schemmer
Aruna N Perin
Smith H Bowley
Kaitlin E Stockham
Stacey T Nicka
IdCountryDate
1000Canada2024-06-14
1001Australia2024-05-31
1002Italy2024-05-26
1003Russia2024-06-02
1004Japan2024-05-25
1005Russia2024-05-26
1006Brazil2024-06-11
1007Australia2024-06-03
1008India2024-05-28
1009Canada2024-05-31
1010Argentina2024-05-31
1011Germany2024-05-25
1012Australia2024-06-09
1013Brazil2024-06-19
1014United Kingdom2024-06-11
1015Argentina2024-06-12
1016Canada2024-06-19
1017Italy2024-06-19
1018United Kingdom2024-05-25
1019Canada2024-06-20
1020Spain2024-06-02
1021Australia2024-05-23
1022Brazil2024-06-15
1023Germany2024-06-10
1024India2024-05-24
1025Japan2024-06-19
1026Australia2024-05-31
1027Germany2024-06-10
1028Australia2024-05-30
1029France2024-05-27
1030Japan2024-05-31
1031Argentina2024-06-18
1032Spain2024-05-28
1033Brazil2024-06-06
1034Spain2024-05-31
1035Brazil2024-05-28
1036Japan2024-06-18
1037India2024-06-16
1038Japan2024-06-18
1039France2024-06-13
1040Spain2024-06-20
1041Germany2024-05-25
1042Japan2024-06-17
1043Australia2024-05-24
1044Russia2024-06-10
1045Japan2024-06-07
1046Australia2024-06-14
1047France2024-06-20
1048Canada2024-05-26
1049Italy2024-06-04

On-Demand Data

NameIdCountryDate
Isabel K Venere1000United Kingdom2024-05-24
Alejandro J Tollner1001Italy2024-05-28
Arvin J Gillian1002Germany2024-05-29
Nicolas S Malet1003Canada2024-05-27
Mujtaba H Rim1004Japan2024-05-25
James V Flosi1005Russia2024-06-05
Ivar T Ostrosky1006Spain2024-05-29
Aditya B Marrier1007Russia2024-06-15
Murillo A Gaucho1008Spain2024-06-20
Aruna W Waycott1009Japan2024-05-30
Jeanfrancois A Stockham1010Germany2024-06-14
Johnson K Rulapaugh1011Canada2024-06-03
Jefferson M Shinko1012Australia2024-05-31
David Z Figeroa1013Russia2024-06-09
Nicolas N Sergi1014Germany2024-06-03
Deepesh G Saylors1015Italy2024-06-19
Deepesh D Schemmer1016Argentina2024-05-23
Jefferson L Gillian1017Japan2024-06-19
Alejandro E Vocelka1018Italy2024-06-17
Maisha T Iturbide1019Argentina2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aika B MacleadItalyAnna Fali NEGOTIATION
Jefferson I MacleadItalyOnyama Limba NEW
Greenwood M RutaBrazilAmy Elsner NEGOTIATION
Kaitlin A WaycottIndiaAsiya Javayant NEW
Morrow H AlbaresCanadaBernardo Dominic UNQUALIFIED
Leja P GillianFranceAsiya Javayant RENEWAL
Ashley G RimCanadaIvan Magalhaes NEW
Smith Q RulapaughGermanyIvan Magalhaes RENEWAL
Costa K InouyeUnited KingdomIvan Magalhaes NEGOTIATION
Wickens I RoysterGermanyOnyama Limba NEGOTIATION
Stacey G IturbideIndiaAmy Elsner QUALIFIED
James N CaldareraBrazilAnna Fali RENEWAL
Leon I PoquetteItalyXuxue Feng PROPOSAL
Ivar U ButtFranceIvan Magalhaes PROPOSAL
Darci U CampainJapanAnna Fali PROPOSAL
Rodrigues N VenereGermanyIvan Magalhaes NEW
Wickens V FollerCanadaOnyama Limba NEGOTIATION
Cody N SchemmerArgentinaIoni Bowcher QUALIFIED
Darci X MarrierFranceBernardo Dominic NEGOTIATION
Octavia L CaldareraItalyAsiya Javayant NEGOTIATION
Johnson Y FerenczItalyAmy Elsner QUALIFIED
David S OldroydFranceIvan Magalhaes PROPOSAL
Morrow S WhobreyArgentinaAsiya Javayant NEGOTIATION
Isabel G WaycottBrazilBernardo Dominic RENEWAL
Maisha Y KuskoArgentinaIvan Magalhaes UNQUALIFIED
Emily T RutaAustraliaIoni Bowcher PROPOSAL
Sinclair D GlickJapanAmy Elsner NEGOTIATION
Murillo Z InouyeBrazilElwin Sharvill UNQUALIFIED
Darci P WieserGermanyIoni Bowcher QUALIFIED
Antonio W IturbideArgentinaStephen Shaw QUALIFIED
Ricardo O TollnerIndiaElwin Sharvill QUALIFIED
Tony D SlusarskiJapanAnna Fali NEGOTIATION
Francesco E CampainIndiaOnyama Limba NEGOTIATION
Claire J GauchoJapanIvan Magalhaes UNQUALIFIED
Salvatore D RulapaughGermanyXuxue Feng UNQUALIFIED
Ashley W IturbideItalyBernardo Dominic NEGOTIATION
Tony Y ChuiItalyAsiya Javayant NEW
Wickens V DilliardJapanAsiya Javayant NEW
Cody Z RutaAustraliaIvan Magalhaes NEW
Ricardo O MorascaBrazilOnyama Limba 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>