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
Deepesh E GarufiSpainAmy Elsner NEGOTIATION
Misaki O FigeroaRussiaAnna Fali NEGOTIATION
Jones F SchemmerItalyOnyama Limba QUALIFIED
Octavia N GarufiSpainStephen Shaw UNQUALIFIED
Jones P OstroskyAustraliaAmy Elsner UNQUALIFIED
Faith M ButtArgentinaAnna Fali QUALIFIED
Morrow U NestleIndiaIoni Bowcher QUALIFIED
Costa N PaprockiBrazilBernardo Dominic PROPOSAL
Ricardo G BriddickIndiaElwin Sharvill PROPOSAL
Adams G WhobreyBrazilElwin Sharvill QUALIFIED
Johnson E RoysterGermanyAmy Elsner PROPOSAL
James D InouyeJapanAsiya Javayant PROPOSAL
Jones L DilliardArgentinaElwin Sharvill NEW
Johnson X MorascaCanadaIvan Magalhaes RENEWAL
Aika X RimUnited KingdomOnyama Limba PROPOSAL
Ricardo Q PerinBrazilStephen Shaw UNQUALIFIED
Smith Y PoquetteFranceStephen Shaw NEW
Kadeem A CampainCanadaXuxue Feng NEW
Rodrigues J CampainIndiaBernardo Dominic PROPOSAL
Jeanfrancois J RulapaughBrazilAmy Elsner QUALIFIED
Aditya G ButtAustraliaStephen Shaw NEW
Leon C BriddickGermanyAmy Elsner UNQUALIFIED
Jones K CampainJapanAnna Fali RENEWAL
Jeanfrancois S NestleCanadaElwin Sharvill PROPOSAL
Antonio V GarufiIndiaIoni Bowcher NEW
Chavez A WaycottIndiaAnna Fali UNQUALIFIED
Maria J StensethCanadaElwin Sharvill PROPOSAL
Ashley M DilliardUnited KingdomBernardo Dominic QUALIFIED
Rodrigues K AmigonGermanyIoni Bowcher PROPOSAL
Tony A RulapaughAustraliaBernardo Dominic UNQUALIFIED
Smith E OldroydAustraliaIvan Magalhaes PROPOSAL
Leon A WaycottIndiaBernardo Dominic PROPOSAL
Stacey V GarufiCanadaIvan Magalhaes UNQUALIFIED
Nicolas W MorascaItalyAsiya Javayant QUALIFIED
Leja J RimItalyIvan Magalhaes QUALIFIED
Emily I BriddickFranceIoni Bowcher NEGOTIATION
Jones C GarufiIndiaElwin Sharvill PROPOSAL
Morrow N IturbideBrazilIvan Magalhaes NEGOTIATION
Jones O IturbideCanadaIoni Bowcher UNQUALIFIED
Mayumi S StensethSpainElwin Sharvill RENEWAL
Darci Y MacleadJapanElwin Sharvill RENEWAL
Kadeem T SlusarskiFranceXuxue Feng NEGOTIATION
Sinclair K TollnerIndiaXuxue Feng NEW
Francesco G IturbideArgentinaAnna Fali UNQUALIFIED
Misaki D StockhamBrazilBernardo Dominic QUALIFIED
Ashley L TollnerGermanyXuxue Feng QUALIFIED
Mayumi C OstroskySpainAnna Fali NEW
Isabel S DilliardUnited KingdomBernardo Dominic QUALIFIED
Jones I PerinBrazilStephen Shaw NEW
David Z AlbaresAustraliaAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Arvin K MaletItalyElwin Sharvill UNQUALIFIED
James U WaycottUnited KingdomAmy Elsner QUALIFIED
Mujtaba P RulapaughArgentinaAsiya Javayant PROPOSAL
Aditya S PaprockiSpainElwin Sharvill NEW
Mayumi Q TollnerArgentinaAnna Fali NEW
Adams X KolmetzAustraliaIoni Bowcher PROPOSAL
Jennifer X OstroskyRussiaOnyama Limba UNQUALIFIED
Maisha C CaldareraRussiaXuxue Feng NEW
Juan G FigeroaAustraliaBernardo Dominic NEW
Mayumi A WaycottAustraliaElwin Sharvill NEW
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Octavia E WaycottGermany2024-06-01Rousseaux, Michael Esq QUALIFIED41Xuxue Feng
1001Mayumi K MacleadJapan2024-05-31King, Christopher A Esq QUALIFIED39Amy Elsner
1002Jones A MaletFrance2024-06-14Chemel, James L Cpa QUALIFIED73Asiya Javayant
1003Sinclair F KolmetzJapan2024-06-10Benton, John B Jr NEW19Anna Fali
1004Faith L FerenczRussia2024-06-10Truhlar And Truhlar Attys QUALIFIED47Amy Elsner
1005Greenwood A CaudyCanada2024-06-14Buckley Miller Wright PROPOSAL78Bernardo Dominic
1006Silvio G MaletBrazil2024-06-07Chanay, Jeffrey A Esq NEW78Ioni Bowcher
1007Nicolas K FlosiJapan2024-05-17Truhlar And Truhlar Attys PROPOSAL69Bernardo Dominic
1008Maisha B RulapaughGermany2024-06-06Buckley Miller Wright NEW81Ioni Bowcher
1009Munro R CaudySpain2024-06-06Rangoni Of Florence UNQUALIFIED54Onyama Limba
1010Kaitlin T MarrierIndia2024-05-29Rousseaux, Michael Esq PROPOSAL51Xuxue Feng
1011Izzy O TollnerItaly2024-05-21Printing Dimensions NEGOTIATION63Bernardo Dominic
1012Aditya F SergiJapan2024-05-29Dorl, James J Esq RENEWAL56Ioni Bowcher
1013Antonio O TollnerFrance2024-06-02Feltz Printing Service RENEWAL25Stephen Shaw
1014Claire J ButtBrazil2024-06-07Feiner Bros RENEWAL67Stephen Shaw
1015Darci I IturbideCanada2024-05-24Buckley Miller Wright UNQUALIFIED48Amy Elsner
1016Arvin O IturbideGermany2024-05-27Chanay, Jeffrey A Esq UNQUALIFIED17Stephen Shaw
1017Wickens K RoysterItaly2024-05-21Chanay, Jeffrey A Esq UNQUALIFIED96Ivan Magalhaes
1018Morrow O GlickBrazil2024-05-30Feiner Bros UNQUALIFIED5Bernardo Dominic
1019Ashley Q PerinUnited Kingdom2024-06-02Feiner Bros PROPOSAL93Ivan Magalhaes
1020Ricardo L BowleyGermany2024-06-11Buckley Miller Wright PROPOSAL57Ioni Bowcher
1021Chavez W DilliardRussia2024-05-26Feiner Bros QUALIFIED97Ioni Bowcher
1022Aruna G FigeroaFrance2024-05-22Buckley Miller Wright NEGOTIATION34Elwin Sharvill
1023Ashley V RoysterCanada2024-06-07Morlong Associates QUALIFIED96Stephen Shaw
1024Ricardo V MorascaRussia2024-05-17Buckley Miller Wright NEGOTIATION76Ivan Magalhaes
1025Wickens A PerinJapan2024-05-21Commercial Press QUALIFIED6Xuxue Feng
1026Smith V OstroskyBrazil2024-05-23Printing Dimensions RENEWAL59Elwin Sharvill
1027Ricardo O GillianSpain2024-06-15Chapman, Ross E Esq RENEWAL47Stephen Shaw
1028Ivar T InouyeItaly2024-05-18King, Christopher A Esq NEW85Ioni Bowcher
1029Clifford J KuskoBrazil2024-06-07King, Christopher A Esq UNQUALIFIED5Ioni Bowcher
1030Stacey T OstroskyItaly2024-05-20King, Christopher A Esq UNQUALIFIED52Ioni Bowcher
1031Aika K ButtBrazil2024-06-14Rousseaux, Michael Esq QUALIFIED77Anna Fali
1032Johnson W KuskoArgentina2024-06-11Feiner Bros NEW31Onyama Limba
1033Ricardo E VocelkaBrazil2024-05-28Truhlar And Truhlar Attys UNQUALIFIED6Stephen Shaw
1034Jeanfrancois J AmigonUnited Kingdom2024-06-15Rousseaux, Michael Esq PROPOSAL70Stephen Shaw
1035Izzy N VenereBrazil2024-05-30Rousseaux, Michael Esq PROPOSAL38Amy Elsner
1036Smith N ChuiArgentina2024-05-30Benton, John B Jr UNQUALIFIED63Amy Elsner
1037Adams L DilliardRussia2024-05-25Rousseaux, Michael Esq PROPOSAL43Onyama Limba
1038Leon G FollerFrance2024-05-30Chapman, Ross E Esq NEW83Amy Elsner
1039Kaitlin V WaycottAustralia2024-06-11Rousseaux, Michael Esq PROPOSAL62Asiya Javayant
1040Leon L GauchoSpain2024-06-07Buckley Miller Wright NEW68Bernardo Dominic
1041Aruna C GlickArgentina2024-05-23Morlong Associates QUALIFIED54Anna Fali
1042Tony R SlusarskiJapan2024-06-05Chapman, Ross E Esq PROPOSAL69Asiya Javayant
1043Jeanfrancois Z TollnerBrazil2024-06-03Commercial Press UNQUALIFIED0Anna Fali
1044Adams C DilliardFrance2024-05-29Chemel, James L Cpa NEW5Stephen Shaw
1045Maria L RutaUnited Kingdom2024-06-01Benton, John B Jr QUALIFIED55Asiya Javayant
1046Faith H OstroskyFrance2024-05-20Commercial Press UNQUALIFIED94Elwin Sharvill
1047Murillo S SchemmerJapan2024-05-21Chanay, Jeffrey A Esq NEW76Onyama Limba
1048Jeanfrancois Q SergiCanada2024-05-22Commercial Press NEW9Amy Elsner
1049Jeanfrancois Q TollnerSpain2024-06-08Feiner Bros UNQUALIFIED27Ioni Bowcher
Frozen Rows
NameCountryRepresentativeStatus
Deepesh D GauchoAustraliaAmy Elsner PROPOSAL
Clifford M StensethIndiaIvan Magalhaes NEW
Silvio H CampainIndiaAsiya Javayant NEW
Wickens K RimSpainStephen Shaw UNQUALIFIED
Sinclair T GlickGermanyStephen Shaw PROPOSAL
Jennifer I StockhamBrazilAnna Fali PROPOSAL
Jones N ShinkoFranceStephen Shaw NEGOTIATION
Juan W OstroskyArgentinaAmy Elsner QUALIFIED
Adams B ButtSpainOnyama Limba PROPOSAL
Ricardo R OldroydIndiaStephen Shaw RENEWAL
Jefferson A ShinkoRussiaBernardo Dominic UNQUALIFIED
Octavia R CaldareraRussiaBernardo Dominic RENEWAL
Rodrigues S DoeItalyAnna Fali PROPOSAL
Octavia O PerinGermanyAmy Elsner PROPOSAL
Julie P StockhamItalyIvan Magalhaes PROPOSAL
Juan Z GarufiFranceAmy Elsner NEW
Faith O WaycottUnited KingdomIoni Bowcher NEGOTIATION
Mayumi Y MarrierIndiaAmy Elsner PROPOSAL
Claire V GlickJapanStephen Shaw UNQUALIFIED
Cody L MaletUnited KingdomIvan Magalhaes RENEWAL
Faith I PoquetteBrazilBernardo Dominic NEGOTIATION
Clifford E MorascaCanadaAnna Fali PROPOSAL
Mayumi K ChuiAustraliaStephen Shaw NEGOTIATION
Aruna J TollnerGermanyStephen Shaw PROPOSAL
Arvin F DarakjyIndiaAmy Elsner QUALIFIED
Ivar F MorascaIndiaAsiya Javayant RENEWAL
Deepesh R VenereFranceAsiya Javayant QUALIFIED
Kaitlin E ShinkoAustraliaElwin Sharvill UNQUALIFIED
Leja T FigeroaIndiaIoni Bowcher NEGOTIATION
Morrow C InouyeBrazilXuxue Feng QUALIFIED
James J MaletGermanyIoni Bowcher PROPOSAL
Deepesh H WieserAustraliaStephen Shaw PROPOSAL
Jeanfrancois N OstroskyArgentinaIoni Bowcher NEW
Juan U BriddickAustraliaBernardo Dominic PROPOSAL
David M StockhamCanadaAmy Elsner NEGOTIATION
Aditya O ShinkoItalyStephen Shaw NEGOTIATION
Rodrigues N FerenczGermanyStephen Shaw UNQUALIFIED
Octavia A GlickItalyIoni Bowcher QUALIFIED
Nicolas H PaprockiArgentinaAmy Elsner NEGOTIATION
Aditya Y FerenczBrazilBernardo Dominic QUALIFIED
Kadeem X GlickCanadaIoni Bowcher RENEWAL
Claire Y KolmetzBrazilXuxue Feng PROPOSAL
Aditya A MorascaArgentinaStephen Shaw UNQUALIFIED
Wickens F TollnerSpainIoni Bowcher UNQUALIFIED
Chavez L GauchoRussiaElwin Sharvill RENEWAL
Darci J CaldareraRussiaElwin Sharvill RENEWAL
Leon J SaylorsItalyAnna Fali PROPOSAL
Sinclair C MorascaRussiaIvan Magalhaes PROPOSAL
Alejandro F VenereJapanXuxue Feng PROPOSAL
Johnson T DoeGermanyAsiya Javayant RENEWAL
Frozen Columns
Name
Faith E Rim
Smith W Maclead
Cody N Malet
Morrow T Kusko
Leja G Butt
Murillo G Amigon
Julie Z Slusarski
Kadeem F Butt
Jeanfrancois U Oldroyd
Clifford V Caldarera
Tony H Gaucho
Aditya H Wieser
Chavez C Rim
Salvatore H Rulapaugh
Aruna V Dilliard
Claire S Ostrosky
Kaitlin A Gaucho
Kadeem Z Bowley
Claire V Kolmetz
Rodrigues M Royster
Faith Q Royster
Maisha S Darakjy
Jefferson Z Poquette
Juan X Nicka
Costa F Foller
Maria Y Perin
Mujtaba Y Whobrey
Darci P Nicka
Jones I Slusarski
Mujtaba F Malet
Adams J Tollner
Darci C Glick
Aika Y Shinko
Salvatore Q Sergi
Stacey F Rim
David S Venere
Munro Y Bolognia
Rodrigues A Schemmer
Francesco V Malet
Ricardo D Campain
Greenwood Y Glick
David N Ostrosky
Deepesh M Stenseth
Kadeem Q Ferencz
Munro Y Rulapaugh
Claire Z Paprocki
James P Albares
Aruna G Gaucho
Emily J Rulapaugh
Aika Z Stockham
IdCountryDate
1000Spain2024-06-08
1001Australia2024-06-15
1002Japan2024-05-17
1003Spain2024-06-12
1004United Kingdom2024-05-17
1005Spain2024-05-23
1006Australia2024-06-15
1007India2024-06-08
1008Germany2024-05-19
1009Brazil2024-06-03
1010Germany2024-05-17
1011Canada2024-06-10
1012Argentina2024-06-13
1013Spain2024-06-10
1014United Kingdom2024-06-02
1015Spain2024-06-01
1016Russia2024-05-31
1017Australia2024-05-27
1018Germany2024-06-04
1019Germany2024-05-30
1020Brazil2024-06-02
1021Italy2024-06-12
1022Australia2024-05-27
1023Germany2024-06-15
1024Germany2024-05-28
1025Canada2024-06-13
1026India2024-06-15
1027Brazil2024-06-05
1028Russia2024-06-10
1029United Kingdom2024-05-21
1030Brazil2024-06-01
1031France2024-06-12
1032Japan2024-05-19
1033Brazil2024-06-15
1034Canada2024-06-14
1035Japan2024-06-15
1036Japan2024-05-28
1037Italy2024-06-08
1038Russia2024-05-29
1039Italy2024-05-24
1040Canada2024-05-20
1041United Kingdom2024-06-06
1042Australia2024-06-01
1043Japan2024-05-17
1044Argentina2024-06-06
1045Italy2024-06-12
1046France2024-06-05
1047Argentina2024-06-10
1048Japan2024-05-23
1049Canada2024-05-19

On-Demand Data

NameIdCountryDate
Clifford H Tollner1000Argentina2024-06-15
Ricardo P Ostrosky1001Brazil2024-06-08
David D Gillian1002Spain2024-06-08
Murillo H Royster1003India2024-05-27
Murillo K Campain1004Australia2024-06-03
Leja D Slusarski1005Canada2024-05-25
Greenwood S Rim1006Italy2024-05-24
Darci S Schemmer1007Australia2024-06-04
Deepesh B Poquette1008Germany2024-05-30
Adams B Caldarera1009Germany2024-06-02
Arvin J Albares1010Australia2024-06-05
Misaki V Stenseth1011Spain2024-05-17
Maisha G Sergi1012Canada2024-06-01
Salvatore E Kusko1013United Kingdom2024-06-15
Smith B Morasca1014Italy2024-06-07
Jones S Briddick1015Italy2024-05-31
Ivar S Paprocki1016Spain2024-05-23
Alejandro F Malet1017Canada2024-05-25
Mujtaba Q Royster1018Russia2024-05-30
Jefferson E Figeroa1019Canada2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Ashley N StensethBrazilElwin Sharvill UNQUALIFIED
Juan R VocelkaBrazilElwin Sharvill UNQUALIFIED
Sinclair R RutaAustraliaAsiya Javayant NEW
Jefferson C WaycottSpainElwin Sharvill UNQUALIFIED
Kadeem T DilliardArgentinaOnyama Limba NEW
Greenwood F MaletSpainOnyama Limba NEGOTIATION
Julie E DarakjyCanadaIoni Bowcher RENEWAL
Francesco E InouyeJapanIvan Magalhaes PROPOSAL
Aditya D AlbaresUnited KingdomStephen Shaw PROPOSAL
Morrow E CaudyCanadaXuxue Feng NEGOTIATION
Juan T GauchoCanadaBernardo Dominic UNQUALIFIED
Costa H OstroskyUnited KingdomBernardo Dominic UNQUALIFIED
Leja D StockhamGermanyIoni Bowcher QUALIFIED
Kaitlin V RulapaughCanadaBernardo Dominic QUALIFIED
Misaki S GlickSpainStephen Shaw NEGOTIATION
Clifford U PoquetteCanadaIoni Bowcher NEW
David V TollnerItalyIoni Bowcher NEGOTIATION
Silvio P DilliardArgentinaIoni Bowcher RENEWAL
Ivar P ShinkoSpainStephen Shaw RENEWAL
Kaitlin F AmigonGermanyBernardo Dominic NEGOTIATION
James D ShinkoUnited KingdomOnyama Limba QUALIFIED
Silvio C DoeFranceAnna Fali NEW
Johnson K MorascaBrazilStephen Shaw NEGOTIATION
Leja U WieserFranceStephen Shaw RENEWAL
Antonio M AmigonSpainAmy Elsner QUALIFIED
Julie V MaletArgentinaElwin Sharvill NEW
Aika U FerenczArgentinaXuxue Feng QUALIFIED
Rodrigues D NestleIndiaAmy Elsner NEW
Kadeem J ButtCanadaElwin Sharvill RENEWAL
Aika R BologniaAustraliaXuxue Feng RENEWAL
Tony K RulapaughArgentinaAsiya Javayant PROPOSAL
Morrow B DoeIndiaAsiya Javayant PROPOSAL
Darci A SlusarskiBrazilXuxue Feng NEGOTIATION
Murillo K GauchoIndiaIoni Bowcher RENEWAL
Jones S InouyeItalyAsiya Javayant RENEWAL
Kaitlin E ChuiIndiaElwin Sharvill NEGOTIATION
Murillo Z WaycottIndiaAnna Fali NEGOTIATION
Munro R RimUnited KingdomAnna Fali QUALIFIED
Rodrigues H GillianUnited KingdomElwin Sharvill NEW
Faith D PerinSpainAsiya Javayant QUALIFIED

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