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
Nicolas C DoeGermanyIoni Bowcher UNQUALIFIED
Octavia Q WaycottGermanyXuxue Feng QUALIFIED
Julie F DarakjySpainXuxue Feng PROPOSAL
Octavia M VenereGermanyXuxue Feng NEW
Francesco Z MaletBrazilAsiya Javayant QUALIFIED
Isabel E KolmetzFranceXuxue Feng UNQUALIFIED
Salvatore B KuskoJapanIoni Bowcher RENEWAL
Aditya V BologniaAustraliaXuxue Feng QUALIFIED
Arvin S BologniaItalyElwin Sharvill NEGOTIATION
Mayumi L WaycottArgentinaXuxue Feng PROPOSAL
Jefferson F MaletIndiaIoni Bowcher NEW
Rodrigues G RulapaughItalyXuxue Feng PROPOSAL
Mujtaba M FlosiCanadaAmy Elsner QUALIFIED
David O FollerBrazilAsiya Javayant PROPOSAL
Nicolas I TollnerRussiaIoni Bowcher RENEWAL
Mujtaba C SergiSpainIoni Bowcher RENEWAL
Smith A ChuiBrazilStephen Shaw RENEWAL
Ivar E ShinkoItalyAnna Fali QUALIFIED
Jefferson S StensethSpainElwin Sharvill UNQUALIFIED
Darci W CaudySpainBernardo Dominic NEW
Darci H ShinkoIndiaIoni Bowcher NEGOTIATION
Leon Y DarakjyRussiaBernardo Dominic RENEWAL
Sinclair I MacleadCanadaOnyama Limba NEW
Mayumi N DoeJapanAsiya Javayant UNQUALIFIED
Nicolas C CampainIndiaElwin Sharvill PROPOSAL
Munro E PaprockiUnited KingdomOnyama Limba RENEWAL
Isabel C RutaJapanIoni Bowcher PROPOSAL
Greenwood W VenereAustraliaElwin Sharvill UNQUALIFIED
Stacey G WaycottItalyXuxue Feng QUALIFIED
Clifford A GlickIndiaAmy Elsner RENEWAL
Emily F AlbaresIndiaElwin Sharvill RENEWAL
Clifford S WhobreyIndiaElwin Sharvill NEW
Mayumi B SlusarskiArgentinaAsiya Javayant NEGOTIATION
Munro F GauchoItalyIoni Bowcher NEW
Jones O RutaRussiaIoni Bowcher NEGOTIATION
Cody I RimItalyOnyama Limba QUALIFIED
Misaki G GillianIndiaXuxue Feng PROPOSAL
Francesco P GarufiFranceAmy Elsner RENEWAL
Faith K AmigonUnited KingdomBernardo Dominic RENEWAL
Leja X MaletAustraliaAsiya Javayant QUALIFIED
Cody T SergiIndiaAmy Elsner PROPOSAL
Faith D BriddickSpainStephen Shaw RENEWAL
Alejandro Y FigeroaItalyAnna Fali UNQUALIFIED
Francesco Z TollnerGermanyAmy Elsner NEW
Leon N RimSpainAsiya Javayant UNQUALIFIED
Maisha I CaudyItalyOnyama Limba NEW
Misaki W NestleIndiaStephen Shaw NEW
Jefferson Z InouyeCanadaAsiya Javayant PROPOSAL
Sinclair L VocelkaBrazilElwin Sharvill QUALIFIED
Smith D AmigonSpainXuxue Feng RENEWAL
Horizontal
NameCountryRepresentativeStatus
Sinclair V DarakjyIndiaXuxue Feng NEGOTIATION
Maria U KolmetzArgentinaXuxue Feng PROPOSAL
Cody Z GauchoCanadaBernardo Dominic QUALIFIED
Morrow E GillianGermanyAsiya Javayant QUALIFIED
Octavia Y BowleyUnited KingdomAmy Elsner NEW
Aruna O GauchoUnited KingdomAmy Elsner UNQUALIFIED
David A RutaCanadaIoni Bowcher PROPOSAL
Darci L NickaItalyIvan Magalhaes QUALIFIED
Silvio F GillianCanadaOnyama Limba NEW
Darci K MarrierGermanyBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Ivar A OldroydJapan2024-06-11Chemel, James L Cpa NEW49Asiya Javayant
1001Francesco X NickaArgentina2024-05-25Feiner Bros QUALIFIED5Ivan Magalhaes
1002Ivar Q WaycottUnited Kingdom2024-06-10Buckley Miller Wright QUALIFIED87Anna Fali
1003Silvio F VenereRussia2024-06-03Truhlar And Truhlar Attys NEGOTIATION82Ioni Bowcher
1004Maria K NickaGermany2024-05-23Rangoni Of Florence UNQUALIFIED20Anna Fali
1005Emily X StockhamSpain2024-06-03Benton, John B Jr NEGOTIATION60Onyama Limba
1006Sinclair B KolmetzGermany2024-06-13Chanay, Jeffrey A Esq NEGOTIATION88Stephen Shaw
1007Adams D ShinkoBrazil2024-06-12Morlong Associates NEGOTIATION26Elwin Sharvill
1008Aditya T BologniaFrance2024-06-17Printing Dimensions RENEWAL68Bernardo Dominic
1009Munro F MarrierRussia2024-06-15Feltz Printing Service NEW28Ioni Bowcher
1010Mayumi L StensethIndia2024-05-20Chanay, Jeffrey A Esq NEGOTIATION2Stephen Shaw
1011Clifford E DoeIndia2024-06-17Dorl, James J Esq NEGOTIATION39Onyama Limba
1012Tony R RulapaughCanada2024-06-16Feiner Bros NEW83Stephen Shaw
1013Izzy D SchemmerItaly2024-05-28Rangoni Of Florence UNQUALIFIED43Xuxue Feng
1014Jennifer P DilliardSpain2024-05-29Benton, John B Jr NEGOTIATION16Ivan Magalhaes
1015Jeanfrancois Z MorascaCanada2024-05-28Dorl, James J Esq UNQUALIFIED9Elwin Sharvill
1016Kadeem H DoeCanada2024-06-13Feltz Printing Service PROPOSAL66Anna Fali
1017Greenwood R GauchoIndia2024-06-09Chemel, James L Cpa NEGOTIATION10Asiya Javayant
1018Greenwood Q AmigonBrazil2024-06-09Chanay, Jeffrey A Esq NEGOTIATION59Asiya Javayant
1019Mayumi B SergiJapan2024-05-26Chemel, James L Cpa NEGOTIATION39Ivan Magalhaes
1020Francesco W DilliardJapan2024-06-18Feiner Bros UNQUALIFIED30Ioni Bowcher
1021Silvio U StensethUnited Kingdom2024-06-03Rousseaux, Michael Esq PROPOSAL77Asiya Javayant
1022Misaki J RulapaughItaly2024-06-16Benton, John B Jr UNQUALIFIED81Bernardo Dominic
1023David U PerinItaly2024-05-21Printing Dimensions QUALIFIED96Ioni Bowcher
1024Deepesh L BriddickIndia2024-05-24Printing Dimensions UNQUALIFIED99Xuxue Feng
1025Darci J FerenczUnited Kingdom2024-05-22Feiner Bros NEGOTIATION20Xuxue Feng
1026Clifford F AmigonAustralia2024-05-29Chanay, Jeffrey A Esq NEW88Ioni Bowcher
1027Mayumi J BologniaAustralia2024-05-29Rousseaux, Michael Esq UNQUALIFIED85Elwin Sharvill
1028Sinclair A MacleadSpain2024-06-16Chemel, James L Cpa NEW19Ivan Magalhaes
1029Juan P RulapaughIndia2024-06-06Printing Dimensions UNQUALIFIED1Stephen Shaw
1030Jennifer O SaylorsUnited Kingdom2024-06-14King, Christopher A Esq UNQUALIFIED65Bernardo Dominic
1031Octavia O RulapaughFrance2024-06-05Buckley Miller Wright UNQUALIFIED38Xuxue Feng
1032Stacey T BowleyAustralia2024-05-30Chanay, Jeffrey A Esq PROPOSAL33Onyama Limba
1033Nicolas A GauchoFrance2024-06-16Commercial Press PROPOSAL50Elwin Sharvill
1034Jefferson A TollnerJapan2024-05-27Printing Dimensions QUALIFIED77Bernardo Dominic
1035James G BologniaBrazil2024-06-01Printing Dimensions QUALIFIED43Bernardo Dominic
1036Mayumi Y WieserGermany2024-05-21Rangoni Of Florence RENEWAL54Bernardo Dominic
1037Greenwood V DilliardRussia2024-05-30Morlong Associates PROPOSAL32Ivan Magalhaes
1038James D StockhamSpain2024-06-18Printing Dimensions QUALIFIED64Bernardo Dominic
1039Darci R VenereGermany2024-05-27Truhlar And Truhlar Attys NEGOTIATION71Onyama Limba
1040Isabel Z RulapaughRussia2024-05-25Buckley Miller Wright NEGOTIATION35Asiya Javayant
1041Wickens X KolmetzSpain2024-06-11Morlong Associates PROPOSAL86Bernardo Dominic
1042Arvin D FlosiBrazil2024-06-12Commercial Press RENEWAL15Elwin Sharvill
1043Kadeem F StensethItaly2024-05-30Chemel, James L Cpa QUALIFIED85Xuxue Feng
1044Greenwood J WieserUnited Kingdom2024-05-31Dorl, James J Esq RENEWAL41Amy Elsner
1045Morrow I GlickFrance2024-05-22Feiner Bros QUALIFIED18Stephen Shaw
1046Ashley P RulapaughArgentina2024-05-26Chapman, Ross E Esq QUALIFIED40Elwin Sharvill
1047James G DoeSpain2024-05-26Buckley Miller Wright QUALIFIED12Elwin Sharvill
1048Tony Q FollerAustralia2024-06-05Chanay, Jeffrey A Esq QUALIFIED83Ioni Bowcher
1049Tony P FerenczIndia2024-05-20Commercial Press QUALIFIED43Stephen Shaw
Frozen Rows
NameCountryRepresentativeStatus
Jefferson X InouyeIndiaBernardo Dominic NEW
Francesco V DilliardUnited KingdomElwin Sharvill NEGOTIATION
Jennifer P TollnerJapanIvan Magalhaes RENEWAL
Rodrigues Q NickaGermanyIvan Magalhaes RENEWAL
Clifford I StensethSpainElwin Sharvill NEW
Aditya W StensethGermanyAsiya Javayant UNQUALIFIED
Aditya M NestleItalyXuxue Feng NEW
Aika Z WhobreyBrazilIvan Magalhaes NEW
Greenwood Q AlbaresRussiaOnyama Limba UNQUALIFIED
Kaitlin O SaylorsGermanyStephen Shaw PROPOSAL
Claire L FigeroaRussiaXuxue Feng RENEWAL
Leon X DoeItalyOnyama Limba NEGOTIATION
Emily N StockhamCanadaIoni Bowcher RENEWAL
Claire M GillianIndiaAmy Elsner NEW
Munro C BologniaArgentinaXuxue Feng UNQUALIFIED
Sinclair O SergiSpainOnyama Limba PROPOSAL
Arvin J WhobreyArgentinaAmy Elsner QUALIFIED
Izzy K StockhamFranceIvan Magalhaes PROPOSAL
Arvin H RimRussiaAsiya Javayant UNQUALIFIED
David I RulapaughCanadaAmy Elsner UNQUALIFIED
Salvatore X TollnerSpainStephen Shaw NEGOTIATION
Wickens F StensethAustraliaOnyama Limba NEW
Maria Q TollnerBrazilXuxue Feng NEGOTIATION
David V NestleJapanXuxue Feng NEW
Morrow W GauchoAustraliaIvan Magalhaes UNQUALIFIED
Sinclair N MorascaItalyStephen Shaw RENEWAL
David L WaycottAustraliaBernardo Dominic QUALIFIED
Nicolas Y NestleItalyIoni Bowcher RENEWAL
Murillo O MaletCanadaAnna Fali PROPOSAL
Jennifer Q GauchoItalyOnyama Limba NEW
Leon B MarrierUnited KingdomAnna Fali NEGOTIATION
Salvatore D StensethFranceIoni Bowcher PROPOSAL
Leja M SaylorsRussiaXuxue Feng NEW
Francesco V WieserJapanAmy Elsner QUALIFIED
Kaitlin J SchemmerSpainIvan Magalhaes NEW
Aditya K FlosiUnited KingdomOnyama Limba NEW
Ricardo B RimBrazilXuxue Feng NEW
Kadeem F IturbideArgentinaAnna Fali UNQUALIFIED
Emily E ShinkoCanadaIvan Magalhaes RENEWAL
Adams U SlusarskiCanadaAnna Fali NEGOTIATION
Kadeem O BriddickBrazilAmy Elsner NEGOTIATION
Maria I InouyeSpainStephen Shaw NEGOTIATION
Jennifer F CampainItalyOnyama Limba QUALIFIED
Clifford O IturbideIndiaAmy Elsner NEW
Arvin C BologniaIndiaElwin Sharvill RENEWAL
Jones B SaylorsRussiaIoni Bowcher UNQUALIFIED
Antonio Z KuskoItalyElwin Sharvill NEGOTIATION
Silvio I FerenczFranceAmy Elsner RENEWAL
Adams J FlosiJapanStephen Shaw NEW
Sinclair C DoeGermanyBernardo Dominic PROPOSAL
Frozen Columns
Name
Maria H Briddick
Darci B Caldarera
Sinclair H Malet
Jefferson K Stockham
Mayumi D Doe
Aditya D Briddick
Sinclair V Figeroa
Ricardo Q Rim
Leon E Ruta
Aditya N Foller
Murillo A Waycott
Ricardo S Schemmer
Antonio O Rim
Munro G Vocelka
Julie L Briddick
Octavia N Flosi
Silvio V Wieser
Maria B Schemmer
David H Ruta
Misaki F Perin
Maria Q Flosi
Alejandro Y Waycott
Arvin L Foller
Aditya B Garufi
Aruna U Vocelka
Darci S Glick
Faith R Vocelka
Claire U Chui
Julie Q Vocelka
Ashley G Foller
Jones K Briddick
Jones Y Bowley
Arvin S Bowley
Adams C Chui
Greenwood T Amigon
Octavia T Sergi
Leon F Stenseth
Jones Y Shinko
Sinclair R Darakjy
Darci K Malet
Jones U Venere
Mujtaba O Oldroyd
Murillo R Stenseth
Claire I Iturbide
Mujtaba V Caudy
Stacey N Malet
Mayumi P Royster
Maria T Dilliard
Ricardo K Kolmetz
Antonio Y Vocelka
IdCountryDate
1000Italy2024-05-28
1001Argentina2024-05-27
1002France2024-05-28
1003Japan2024-06-13
1004France2024-05-26
1005India2024-06-17
1006France2024-05-23
1007Brazil2024-05-25
1008Australia2024-06-06
1009Italy2024-06-04
1010France2024-06-14
1011Japan2024-05-23
1012Italy2024-06-12
1013United Kingdom2024-06-06
1014India2024-05-24
1015Italy2024-06-02
1016Italy2024-05-29
1017Italy2024-05-20
1018Spain2024-06-09
1019Australia2024-05-25
1020Japan2024-06-03
1021Spain2024-05-27
1022France2024-05-29
1023Australia2024-06-05
1024Australia2024-05-21
1025Australia2024-06-09
1026Spain2024-06-17
1027Germany2024-06-02
1028Canada2024-05-22
1029France2024-06-12
1030India2024-06-05
1031Australia2024-06-15
1032Brazil2024-06-17
1033India2024-06-10
1034Argentina2024-06-04
1035Russia2024-06-04
1036India2024-05-30
1037India2024-06-02
1038Japan2024-06-14
1039Germany2024-06-15
1040Argentina2024-06-05
1041France2024-06-10
1042Germany2024-06-12
1043Canada2024-06-07
1044Brazil2024-06-07
1045Argentina2024-06-06
1046Argentina2024-05-26
1047United Kingdom2024-06-07
1048Argentina2024-05-27
1049Italy2024-06-17

On-Demand Data

NameIdCountryDate
Ashley N Nicka1000Brazil2024-06-08
Octavia C Whobrey1001Canada2024-06-12
Izzy W Kusko1002United Kingdom2024-05-20
Nicolas D Stenseth1003United Kingdom2024-06-05
Silvio F Doe1004France2024-06-13
Ivar Y Oldroyd1005Canada2024-06-13
Francesco A Dilliard1006Argentina2024-06-02
Juan V Figeroa1007Australia2024-05-30
Jefferson H Butt1008Russia2024-06-03
Aika D Ostrosky1009Brazil2024-06-17
Emily B Gillian1010Russia2024-05-29
Maria D Ruta1011Germany2024-05-23
Izzy I Waycott1012Russia2024-06-01
Rodrigues L Flosi1013Canada2024-06-14
Leon P Slusarski1014France2024-06-15
Kaitlin K Caudy1015Brazil2024-06-10
Mujtaba T Vocelka1016Canada2024-06-15
Jones Q Kusko1017Australia2024-06-06
Tony N Chui1018France2024-06-17
Jefferson O Albares1019India2024-06-16
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Leon C KolmetzAustraliaAsiya Javayant UNQUALIFIED
James S PerinCanadaXuxue Feng NEGOTIATION
Ivar Q PaprockiBrazilIvan Magalhaes NEW
Smith B FlosiGermanyAmy Elsner UNQUALIFIED
Deepesh X OldroydIndiaIvan Magalhaes NEGOTIATION
Misaki A BriddickAustraliaAnna Fali NEW
Costa D ShinkoCanadaIvan Magalhaes UNQUALIFIED
Smith O CaldareraBrazilBernardo Dominic UNQUALIFIED
Julie A TollnerGermanyIoni Bowcher QUALIFIED
Silvio B SaylorsSpainAnna Fali RENEWAL
Aika M MacleadItalyAsiya Javayant RENEWAL
Aditya N StockhamUnited KingdomElwin Sharvill QUALIFIED
Julie F DarakjyIndiaBernardo Dominic PROPOSAL
Antonio Q InouyeCanadaStephen Shaw PROPOSAL
Ashley I DarakjyIndiaAnna Fali PROPOSAL
Morrow X AmigonJapanElwin Sharvill RENEWAL
Tony X WaycottSpainStephen Shaw QUALIFIED
Sinclair J WaycottItalyAnna Fali NEGOTIATION
Emily E DoeArgentinaIvan Magalhaes UNQUALIFIED
Deepesh K BologniaAustraliaAmy Elsner UNQUALIFIED
Aruna M FigeroaFranceElwin Sharvill NEW
Mayumi D AlbaresGermanyBernardo Dominic NEGOTIATION
Ashley N GlickGermanyStephen Shaw UNQUALIFIED
Silvio J PoquetteSpainXuxue Feng NEGOTIATION
Alejandro P MacleadUnited KingdomAsiya Javayant NEGOTIATION
Julie I CampainIndiaAnna Fali PROPOSAL
Misaki L MaletJapanAsiya Javayant RENEWAL
Alejandro R SergiArgentinaBernardo Dominic RENEWAL
Mayumi I CaldareraGermanyStephen Shaw NEGOTIATION
Rodrigues E MarrierAustraliaXuxue Feng NEW
Cody J MorascaFranceAnna Fali PROPOSAL
David I GlickRussiaBernardo Dominic RENEWAL
Ivar M MorascaAustraliaElwin Sharvill NEGOTIATION
Juan K OldroydFranceOnyama Limba RENEWAL
Jefferson S PerinArgentinaBernardo Dominic RENEWAL
Stacey I SergiUnited KingdomStephen Shaw NEGOTIATION
Faith V SergiCanadaStephen Shaw NEW
Octavia H DoeIndiaIvan Magalhaes PROPOSAL
Salvatore G FigeroaIndiaOnyama Limba NEW
Johnson Z MaletFranceAmy Elsner NEW

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