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
Darci F PerinRussiaElwin Sharvill QUALIFIED
Rodrigues F MarrierCanadaIvan Magalhaes QUALIFIED
Maria H GlickCanadaXuxue Feng NEGOTIATION
Octavia F StensethItalyIoni Bowcher RENEWAL
Salvatore B FlosiUnited KingdomElwin Sharvill UNQUALIFIED
Chavez F DoeSpainAmy Elsner PROPOSAL
Izzy F RulapaughAustraliaAsiya Javayant QUALIFIED
Julie Q MarrierBrazilXuxue Feng UNQUALIFIED
Jones D ShinkoItalyAnna Fali UNQUALIFIED
Salvatore G MaletBrazilBernardo Dominic RENEWAL
Jefferson R IturbideJapanAnna Fali QUALIFIED
Salvatore O CaudyRussiaAnna Fali PROPOSAL
Kadeem C MaletArgentinaElwin Sharvill NEW
Ivar V PoquetteFranceAsiya Javayant PROPOSAL
James S GlickCanadaBernardo Dominic NEW
Mayumi M StensethItalyAmy Elsner UNQUALIFIED
Chavez P SlusarskiSpainAmy Elsner NEGOTIATION
Faith P PaprockiFranceOnyama Limba NEW
Greenwood T KolmetzFranceStephen Shaw QUALIFIED
David L ShinkoArgentinaOnyama Limba PROPOSAL
Alejandro G IturbideArgentinaXuxue Feng QUALIFIED
Greenwood W OstroskyArgentinaIoni Bowcher UNQUALIFIED
Aika V FollerArgentinaIoni Bowcher NEW
Antonio I CampainCanadaAsiya Javayant PROPOSAL
Alejandro Y CaldareraSpainStephen Shaw NEGOTIATION
Julie Y RoysterGermanyOnyama Limba QUALIFIED
Ashley E RulapaughIndiaAsiya Javayant NEW
James D BriddickFranceIvan Magalhaes NEGOTIATION
Kadeem I CaldareraUnited KingdomAmy Elsner UNQUALIFIED
Aika S WieserSpainIoni Bowcher QUALIFIED
Greenwood R SchemmerGermanyXuxue Feng NEW
Chavez M GlickBrazilIoni Bowcher PROPOSAL
Julie R GauchoGermanyElwin Sharvill UNQUALIFIED
David T KolmetzSpainAnna Fali PROPOSAL
Claire G RutaJapanStephen Shaw QUALIFIED
Rodrigues G FlosiItalyAnna Fali RENEWAL
James D KuskoCanadaBernardo Dominic PROPOSAL
Isabel E NickaUnited KingdomXuxue Feng PROPOSAL
Clifford M InouyeBrazilAsiya Javayant PROPOSAL
Salvatore V GauchoSpainOnyama Limba QUALIFIED
Jennifer B RutaGermanyStephen Shaw NEGOTIATION
Faith P AlbaresItalyOnyama Limba QUALIFIED
Aika Y PaprockiItalyStephen Shaw RENEWAL
Mujtaba N BriddickArgentinaIvan Magalhaes RENEWAL
Deepesh R NickaFranceAmy Elsner NEGOTIATION
James D ButtFranceElwin Sharvill NEW
David J CaldareraGermanyStephen Shaw QUALIFIED
Emily K DoeGermanyStephen Shaw QUALIFIED
Arvin G WhobreyArgentinaAsiya Javayant PROPOSAL
Aruna G DarakjyBrazilOnyama Limba PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Maisha C CaudyArgentinaIvan Magalhaes UNQUALIFIED
Johnson E WieserArgentinaAsiya Javayant QUALIFIED
Leon D RoysterBrazilAnna Fali NEW
Octavia V MaletGermanyAsiya Javayant NEW
Francesco Y FollerSpainAmy Elsner RENEWAL
Alejandro W DilliardJapanIvan Magalhaes NEW
Izzy C TollnerArgentinaStephen Shaw RENEWAL
Chavez T WieserJapanAsiya Javayant NEW
Chavez N CaudyIndiaStephen Shaw RENEWAL
Jefferson G KuskoCanadaIoni Bowcher UNQUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Emily J KolmetzUnited Kingdom2024-05-29Dorl, James J Esq QUALIFIED93Asiya Javayant
1001Octavia A DarakjyAustralia2024-06-05Rousseaux, Michael Esq PROPOSAL67Anna Fali
1002Ivar R FerenczFrance2024-06-21Chemel, James L Cpa NEW22Ivan Magalhaes
1003Cody P WaycottArgentina2024-06-03Rangoni Of Florence RENEWAL86Bernardo Dominic
1004Adams W StockhamFrance2024-06-09Chanay, Jeffrey A Esq NEW21Ioni Bowcher
1005Juan O DoeBrazil2024-05-25Feltz Printing Service NEGOTIATION39Xuxue Feng
1006Jeanfrancois X DarakjyCanada2024-05-26Rousseaux, Michael Esq QUALIFIED23Onyama Limba
1007Jones N PaprockiRussia2024-06-18Benton, John B Jr UNQUALIFIED12Bernardo Dominic
1008Johnson A PerinFrance2024-06-13Rangoni Of Florence UNQUALIFIED0Stephen Shaw
1009Nicolas Y GarufiUnited Kingdom2024-06-09Dorl, James J Esq RENEWAL72Elwin Sharvill
1010Francesco H CampainIndia2024-06-14King, Christopher A Esq NEGOTIATION11Asiya Javayant
1011Aruna H NickaJapan2024-06-18Truhlar And Truhlar Attys PROPOSAL3Stephen Shaw
1012Murillo I RutaIndia2024-06-05Truhlar And Truhlar Attys UNQUALIFIED95Stephen Shaw
1013Mujtaba H GlickFrance2024-05-28Morlong Associates PROPOSAL41Amy Elsner
1014Maisha E RulapaughRussia2024-06-03Rangoni Of Florence PROPOSAL54Asiya Javayant
1015Aika W WaycottJapan2024-06-17Feltz Printing Service RENEWAL33Stephen Shaw
1016Jefferson P IturbideGermany2024-05-24Commercial Press NEGOTIATION46Ivan Magalhaes
1017Misaki I PaprockiRussia2024-06-13Commercial Press NEGOTIATION44Stephen Shaw
1018Smith V RoysterSpain2024-05-31Rousseaux, Michael Esq RENEWAL34Ioni Bowcher
1019Munro Y ShinkoAustralia2024-05-31Chanay, Jeffrey A Esq QUALIFIED33Ioni Bowcher
1020Silvio W WhobreyArgentina2024-06-08Buckley Miller Wright RENEWAL54Ivan Magalhaes
1021Jefferson K BriddickBrazil2024-06-18Benton, John B Jr QUALIFIED2Asiya Javayant
1022Tony C MacleadJapan2024-05-28Rangoni Of Florence UNQUALIFIED6Elwin Sharvill
1023Ivar E TollnerAustralia2024-06-21King, Christopher A Esq NEW12Ioni Bowcher
1024Wickens N RimIndia2024-06-19Dorl, James J Esq UNQUALIFIED85Onyama Limba
1025Kadeem C ButtSpain2024-06-03Chapman, Ross E Esq RENEWAL57Onyama Limba
1026Ashley G DilliardUnited Kingdom2024-06-10Feltz Printing Service PROPOSAL46Amy Elsner
1027Ivar B SergiJapan2024-06-09Chanay, Jeffrey A Esq NEGOTIATION30Elwin Sharvill
1028Jennifer F DarakjyCanada2024-05-25Feiner Bros PROPOSAL90Ivan Magalhaes
1029Smith O VenereCanada2024-06-04Morlong Associates RENEWAL91Asiya Javayant
1030Rodrigues M WaycottFrance2024-06-11Chanay, Jeffrey A Esq NEGOTIATION39Amy Elsner
1031Jennifer D OldroydUnited Kingdom2024-06-04Dorl, James J Esq NEW32Elwin Sharvill
1032Kadeem E AlbaresJapan2024-06-21Commercial Press NEGOTIATION86Elwin Sharvill
1033Jeanfrancois C MarrierBrazil2024-06-13Chapman, Ross E Esq NEW98Asiya Javayant
1034Maisha F GarufiArgentina2024-06-05Feiner Bros RENEWAL81Elwin Sharvill
1035Francesco F GillianRussia2024-06-21Buckley Miller Wright NEW48Bernardo Dominic
1036Silvio J BologniaGermany2024-06-08Chapman, Ross E Esq PROPOSAL14Bernardo Dominic
1037James P OldroydAustralia2024-06-09Morlong Associates NEW72Ivan Magalhaes
1038Leja B GlickArgentina2024-05-27Feltz Printing Service QUALIFIED27Ivan Magalhaes
1039Salvatore T ShinkoCanada2024-05-28Buckley Miller Wright NEGOTIATION39Anna Fali
1040James S BriddickBrazil2024-06-07Truhlar And Truhlar Attys NEW33Stephen Shaw
1041Greenwood T GlickCanada2024-06-20Feltz Printing Service PROPOSAL57Xuxue Feng
1042Jennifer H PerinItaly2024-06-22Morlong Associates UNQUALIFIED41Stephen Shaw
1043Salvatore N FollerGermany2024-06-14Chanay, Jeffrey A Esq NEGOTIATION48Stephen Shaw
1044Ricardo N FlosiRussia2024-06-08Benton, John B Jr RENEWAL14Asiya Javayant
1045Kadeem Q MacleadRussia2024-06-20Benton, John B Jr QUALIFIED97Bernardo Dominic
1046Silvio I StockhamCanada2024-06-08Chapman, Ross E Esq UNQUALIFIED89Xuxue Feng
1047Leja U OldroydItaly2024-06-15Buckley Miller Wright PROPOSAL81Onyama Limba
1048Tony C ButtSpain2024-06-07Chapman, Ross E Esq RENEWAL81Bernardo Dominic
1049Ivar D KolmetzBrazil2024-06-02Benton, John B Jr UNQUALIFIED32Xuxue Feng
Frozen Rows
NameCountryRepresentativeStatus
Costa Z BowleyJapanBernardo Dominic NEGOTIATION
Juan J MaletBrazilXuxue Feng NEGOTIATION
Jefferson V OstroskyArgentinaAmy Elsner QUALIFIED
Adams Q PerinJapanAsiya Javayant NEGOTIATION
Antonio W MorascaArgentinaAnna Fali RENEWAL
Greenwood B SchemmerArgentinaAsiya Javayant QUALIFIED
Emily Q FollerIndiaBernardo Dominic QUALIFIED
Johnson D SlusarskiSpainOnyama Limba PROPOSAL
Ashley B CaldareraSpainIvan Magalhaes QUALIFIED
Johnson G InouyeSpainAnna Fali UNQUALIFIED
Francesco Y IturbideBrazilXuxue Feng QUALIFIED
Morrow J DarakjyRussiaIvan Magalhaes NEGOTIATION
Maria Y MarrierUnited KingdomAmy Elsner NEGOTIATION
Emily K IturbideJapanIoni Bowcher QUALIFIED
Clifford T CampainCanadaXuxue Feng PROPOSAL
Smith T PoquetteCanadaIvan Magalhaes UNQUALIFIED
Nicolas Q RimArgentinaBernardo Dominic QUALIFIED
Greenwood J PoquetteCanadaStephen Shaw NEW
Juan G AmigonBrazilAmy Elsner UNQUALIFIED
Clifford A MaletArgentinaAsiya Javayant NEGOTIATION
Jennifer Q KolmetzCanadaAsiya Javayant PROPOSAL
Nicolas I ChuiItalyOnyama Limba QUALIFIED
Chavez H GarufiItalyElwin Sharvill NEGOTIATION
Johnson A TollnerBrazilStephen Shaw UNQUALIFIED
Jennifer K BologniaJapanAsiya Javayant PROPOSAL
Clifford U MacleadFranceAmy Elsner QUALIFIED
Smith X FigeroaSpainStephen Shaw UNQUALIFIED
Faith D MorascaItalyAsiya Javayant NEGOTIATION
Johnson B VenereArgentinaStephen Shaw PROPOSAL
Johnson E GauchoIndiaAnna Fali UNQUALIFIED
Chavez J FerenczAustraliaOnyama Limba RENEWAL
Darci L SlusarskiAustraliaAmy Elsner UNQUALIFIED
Ashley M PaprockiGermanyAnna Fali QUALIFIED
Sinclair U MaletArgentinaOnyama Limba RENEWAL
Silvio F GauchoUnited KingdomIvan Magalhaes QUALIFIED
Costa P FlosiFranceXuxue Feng RENEWAL
Alejandro P KolmetzUnited KingdomStephen Shaw NEGOTIATION
Adams S MacleadItalyOnyama Limba QUALIFIED
Murillo Q ChuiFranceElwin Sharvill QUALIFIED
Costa I MorascaFranceXuxue Feng UNQUALIFIED
Sinclair H FigeroaFranceStephen Shaw NEW
Chavez B VenereSpainIvan Magalhaes QUALIFIED
Costa D InouyeSpainIvan Magalhaes RENEWAL
Leon S MacleadBrazilStephen Shaw NEGOTIATION
Sinclair A VocelkaItalyAsiya Javayant RENEWAL
Deepesh N SergiCanadaStephen Shaw NEW
Morrow P FlosiIndiaIvan Magalhaes QUALIFIED
Stacey W AmigonGermanyAsiya Javayant UNQUALIFIED
Francesco J StockhamArgentinaAnna Fali NEGOTIATION
Misaki O ButtSpainAmy Elsner NEGOTIATION
Frozen Columns
Name
Stacey Z Albares
Adams T Gaucho
Faith V Glick
Izzy Z Ostrosky
Deepesh D Waycott
Johnson F Kolmetz
Deepesh X Ostrosky
Ivar X Maclead
James F Kolmetz
Leja X Gillian
Leon L Malet
Maria K Waycott
Darci V Nestle
Mujtaba L Wieser
Arvin Y Bolognia
Adams A Perin
Johnson I Stenseth
Adams E Glick
Sinclair U Vocelka
David H Rim
Aditya X Stenseth
Clifford U Foller
Murillo I Ferencz
Mujtaba W Foller
James T Perin
Mayumi R Malet
Juan H Iturbide
Jennifer M Paprocki
James B Garufi
Rodrigues M Maclead
Deepesh N Dilliard
Maisha S Saylors
Izzy L Bolognia
Chavez Q Tollner
Maisha H Marrier
Mujtaba J Bolognia
Faith I Glick
Octavia H Vocelka
Ivar H Royster
Stacey Y Rim
Antonio Z Perin
Deepesh O Caldarera
Emily N Inouye
David J Doe
Chavez N Figeroa
Cody M Ostrosky
Aruna O Bolognia
Aditya Z Tollner
David W Paprocki
Chavez U Schemmer
IdCountryDate
1000Argentina2024-05-30
1001France2024-06-07
1002Canada2024-06-04
1003Australia2024-05-31
1004Brazil2024-06-17
1005India2024-06-13
1006Brazil2024-06-19
1007Australia2024-06-16
1008France2024-05-27
1009Brazil2024-06-04
1010Japan2024-06-11
1011Germany2024-06-13
1012United Kingdom2024-06-20
1013Brazil2024-06-15
1014Germany2024-06-05
1015India2024-06-01
1016Canada2024-06-17
1017Russia2024-06-06
1018Japan2024-05-28
1019Australia2024-05-31
1020India2024-05-25
1021Canada2024-06-03
1022Germany2024-06-15
1023France2024-06-21
1024Russia2024-06-09
1025Germany2024-05-31
1026Spain2024-06-02
1027Australia2024-06-05
1028Italy2024-06-22
1029Russia2024-05-25
1030Japan2024-06-18
1031India2024-06-02
1032Germany2024-05-28
1033Argentina2024-06-20
1034France2024-06-20
1035Australia2024-05-26
1036Brazil2024-06-06
1037Italy2024-06-21
1038India2024-05-27
1039Australia2024-06-20
1040India2024-06-11
1041United Kingdom2024-05-29
1042Australia2024-06-07
1043India2024-06-15
1044India2024-05-31
1045Japan2024-05-31
1046Spain2024-05-31
1047France2024-06-13
1048France2024-05-27
1049Australia2024-06-21

On-Demand Data

NameIdCountryDate
Izzy E Campain1000United Kingdom2024-06-16
Ivar O Malet1001Russia2024-06-12
Deepesh L Stockham1002Russia2024-06-12
Jefferson G Ostrosky1003Spain2024-06-17
Rodrigues U Whobrey1004Russia2024-06-18
Murillo Y Slusarski1005France2024-06-07
Smith R Briddick1006France2024-06-12
Antonio U Morasca1007Russia2024-06-12
Rodrigues P Kusko1008United Kingdom2024-06-20
Munro O Stockham1009Brazil2024-06-12
Nicolas X Butt1010France2024-06-16
David H Tollner1011Germany2024-06-10
Tony C Bowley1012Germany2024-06-08
James Z Amigon1013Argentina2024-06-13
Juan M Rim1014Italy2024-05-30
Claire U Glick1015India2024-06-12
Wickens Q Malet1016Japan2024-06-11
David Z Ostrosky1017Argentina2024-06-17
Tony Q Doe1018Germany2024-05-28
Jones X Rim1019France2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Stacey A ChuiCanadaStephen Shaw NEGOTIATION
Deepesh O WhobreyItalyStephen Shaw UNQUALIFIED
Isabel V NickaSpainBernardo Dominic PROPOSAL
Aditya S StensethRussiaElwin Sharvill NEW
Salvatore R VenereFranceXuxue Feng NEW
Francesco H InouyeArgentinaIoni Bowcher NEW
Mujtaba H StockhamAustraliaXuxue Feng RENEWAL
Misaki T AlbaresIndiaBernardo Dominic NEGOTIATION
Arvin S DilliardSpainIoni Bowcher NEGOTIATION
Kaitlin J NickaBrazilBernardo Dominic UNQUALIFIED
Aika J BowleyUnited KingdomXuxue Feng RENEWAL
Kadeem H MacleadFranceXuxue Feng QUALIFIED
Silvio M KolmetzJapanBernardo Dominic PROPOSAL
Mayumi T AmigonArgentinaIoni Bowcher QUALIFIED
Salvatore T BologniaItalyAmy Elsner QUALIFIED
Misaki U MarrierUnited KingdomBernardo Dominic UNQUALIFIED
Julie N BowleyUnited KingdomAmy Elsner RENEWAL
Smith D CaudyItalyIvan Magalhaes RENEWAL
Wickens C GlickIndiaAmy Elsner RENEWAL
Mujtaba W IturbideBrazilXuxue Feng RENEWAL
Emily B OldroydIndiaXuxue Feng UNQUALIFIED
Ricardo L GauchoAustraliaXuxue Feng RENEWAL
Tony P FigeroaCanadaIoni Bowcher NEGOTIATION
Misaki B AlbaresFranceXuxue Feng NEW
Maria V BologniaIndiaAnna Fali UNQUALIFIED
Aditya K StockhamBrazilOnyama Limba NEW
Costa Z WaycottBrazilElwin Sharvill UNQUALIFIED
Antonio I BologniaItalyAsiya Javayant UNQUALIFIED
Izzy X WhobreyCanadaIvan Magalhaes QUALIFIED
Kaitlin N DilliardSpainXuxue Feng PROPOSAL
Isabel Y OldroydItalyStephen Shaw QUALIFIED
Mayumi U MarrierAustraliaIvan Magalhaes PROPOSAL
Mayumi W MarrierSpainAsiya Javayant QUALIFIED
Aditya Y GillianFranceOnyama Limba NEW
Kadeem R StockhamSpainIvan Magalhaes UNQUALIFIED
Aditya S SlusarskiFranceBernardo Dominic RENEWAL
Jennifer Z BowleyUnited KingdomIoni Bowcher UNQUALIFIED
Johnson C ShinkoFranceStephen Shaw UNQUALIFIED
Mayumi C OstroskyJapanIvan Magalhaes RENEWAL
Alejandro Q MaletBrazilXuxue Feng 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>