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
Isabel D PaprockiCanadaStephen Shaw PROPOSAL
Mayumi V PerinIndiaBernardo Dominic NEW
Clifford A OstroskyCanadaOnyama Limba NEW
Costa E StockhamItalyAnna Fali RENEWAL
Julie R StensethFranceAmy Elsner RENEWAL
Ivar J NestleCanadaAnna Fali PROPOSAL
Aika Q WaycottAustraliaStephen Shaw RENEWAL
Francesco P ChuiFranceIoni Bowcher QUALIFIED
Emily S GauchoItalyAnna Fali QUALIFIED
Chavez D RutaUnited KingdomStephen Shaw UNQUALIFIED
Smith R GlickCanadaStephen Shaw QUALIFIED
Smith J GillianAustraliaOnyama Limba RENEWAL
Izzy X NestleBrazilBernardo Dominic PROPOSAL
Aika E ShinkoAustraliaIoni Bowcher UNQUALIFIED
Cody T BowleyJapanElwin Sharvill NEGOTIATION
Morrow G GillianRussiaElwin Sharvill RENEWAL
Faith X TollnerIndiaOnyama Limba NEW
Alejandro G MacleadRussiaOnyama Limba NEGOTIATION
Francesco S MaletRussiaBernardo Dominic NEW
Aika S MorascaArgentinaStephen Shaw QUALIFIED
Emily I RulapaughIndiaElwin Sharvill PROPOSAL
Octavia P SchemmerAustraliaAmy Elsner UNQUALIFIED
Costa K RimGermanyOnyama Limba RENEWAL
Morrow J OldroydGermanyStephen Shaw UNQUALIFIED
Clifford A KolmetzSpainElwin Sharvill QUALIFIED
Morrow D AlbaresSpainBernardo Dominic RENEWAL
Nicolas F GillianFranceXuxue Feng UNQUALIFIED
Costa A MarrierItalyElwin Sharvill RENEWAL
Octavia M GauchoJapanAnna Fali RENEWAL
Sinclair C PoquetteIndiaAnna Fali NEW
Clifford T SlusarskiCanadaIvan Magalhaes UNQUALIFIED
Aika A BriddickItalyAsiya Javayant UNQUALIFIED
Leon E MaletCanadaAnna Fali RENEWAL
Aditya R PerinIndiaElwin Sharvill NEGOTIATION
Alejandro W RoysterUnited KingdomOnyama Limba PROPOSAL
Misaki P PaprockiCanadaAmy Elsner UNQUALIFIED
Tony Q CaldareraBrazilAmy Elsner PROPOSAL
Kadeem R BologniaArgentinaXuxue Feng QUALIFIED
Jennifer R MorascaFranceElwin Sharvill UNQUALIFIED
Antonio Y SchemmerAustraliaAnna Fali QUALIFIED
Julie F NestleFranceBernardo Dominic UNQUALIFIED
Stacey U MorascaUnited KingdomIoni Bowcher PROPOSAL
Smith P SergiCanadaBernardo Dominic QUALIFIED
Izzy E DilliardAustraliaAnna Fali NEGOTIATION
Salvatore O InouyeBrazilIoni Bowcher NEW
Munro T VenereUnited KingdomIvan Magalhaes UNQUALIFIED
Maria P ShinkoCanadaStephen Shaw RENEWAL
Greenwood J CaudyBrazilXuxue Feng UNQUALIFIED
Juan U MaletIndiaStephen Shaw QUALIFIED
Arvin P RoysterAustraliaAmy Elsner QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Jennifer M FerenczBrazilAmy Elsner PROPOSAL
Aika H DilliardAustraliaOnyama Limba RENEWAL
Octavia S FerenczAustraliaElwin Sharvill RENEWAL
Ashley F WaycottArgentinaIvan Magalhaes NEW
Leon E MaletUnited KingdomXuxue Feng UNQUALIFIED
Tony C IturbideGermanyOnyama Limba QUALIFIED
Sinclair R WaycottArgentinaIvan Magalhaes QUALIFIED
Emily P AlbaresBrazilIoni Bowcher UNQUALIFIED
Cody K ShinkoUnited KingdomIvan Magalhaes NEW
Smith L WaycottArgentinaBernardo Dominic QUALIFIED
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Clifford F NestleCanada2024-06-21King, Christopher A Esq NEW1Bernardo Dominic
1001Aruna I SaylorsGermany2024-06-13Chemel, James L Cpa QUALIFIED14Stephen Shaw
1002Jefferson Y StockhamSpain2024-06-17Printing Dimensions NEW10Ioni Bowcher
1003Jeanfrancois H ShinkoArgentina2024-06-05Rangoni Of Florence QUALIFIED27Stephen Shaw
1004Maisha J ChuiJapan2024-06-18Chemel, James L Cpa UNQUALIFIED37Ivan Magalhaes
1005Morrow O GauchoSpain2024-06-10Feltz Printing Service RENEWAL24Xuxue Feng
1006Octavia Z DarakjyIndia2024-05-30Commercial Press RENEWAL54Stephen Shaw
1007Maria M GarufiFrance2024-05-28Rousseaux, Michael Esq PROPOSAL21Onyama Limba
1008Misaki U SchemmerGermany2024-05-27Commercial Press NEGOTIATION64Ivan Magalhaes
1009Stacey W OldroydSpain2024-06-02Commercial Press NEW44Onyama Limba
1010Leon R FlosiSpain2024-06-21Feiner Bros PROPOSAL78Stephen Shaw
1011David E GillianSpain2024-06-20Rousseaux, Michael Esq QUALIFIED87Onyama Limba
1012Silvio M DarakjyIndia2024-06-05Feiner Bros QUALIFIED58Stephen Shaw
1013Claire N FollerArgentina2024-06-16Feltz Printing Service RENEWAL80Elwin Sharvill
1014Jefferson G DarakjyCanada2024-06-18Dorl, James J Esq QUALIFIED15Amy Elsner
1015Adams I OldroydAustralia2024-06-02Truhlar And Truhlar Attys PROPOSAL99Stephen Shaw
1016Arvin E DilliardFrance2024-06-10Feiner Bros PROPOSAL76Onyama Limba
1017Aruna T PerinUnited Kingdom2024-05-31Feiner Bros UNQUALIFIED45Asiya Javayant
1018Leon F MaletSpain2024-06-16Chanay, Jeffrey A Esq UNQUALIFIED72Anna Fali
1019Darci O BologniaCanada2024-05-27Dorl, James J Esq UNQUALIFIED54Amy Elsner
1020Murillo N NestleBrazil2024-06-13Dorl, James J Esq NEGOTIATION59Xuxue Feng
1021Clifford B GlickJapan2024-06-15Chanay, Jeffrey A Esq NEW98Onyama Limba
1022Rodrigues C OldroydFrance2024-06-17Rousseaux, Michael Esq PROPOSAL3Xuxue Feng
1023Greenwood Y MacleadArgentina2024-05-28Truhlar And Truhlar Attys NEGOTIATION62Amy Elsner
1024Chavez C BologniaUnited Kingdom2024-06-22Feiner Bros PROPOSAL1Bernardo Dominic
1025Rodrigues N RulapaughUnited Kingdom2024-06-17Truhlar And Truhlar Attys NEGOTIATION24Onyama Limba
1026Chavez L IturbideItaly2024-06-12Commercial Press QUALIFIED59Anna Fali
1027Jefferson H BologniaGermany2024-06-02Chemel, James L Cpa RENEWAL12Bernardo Dominic
1028Arvin X ButtItaly2024-06-10Truhlar And Truhlar Attys NEGOTIATION28Bernardo Dominic
1029Mayumi F KuskoSpain2024-06-18Feltz Printing Service QUALIFIED42Ivan Magalhaes
1030Faith N ChuiIndia2024-05-29Commercial Press NEGOTIATION76Bernardo Dominic
1031Alejandro U FerenczSpain2024-06-19Rousseaux, Michael Esq UNQUALIFIED76Elwin Sharvill
1032Maisha V DilliardBrazil2024-05-31Chapman, Ross E Esq QUALIFIED12Xuxue Feng
1033Octavia K RutaIndia2024-05-26Truhlar And Truhlar Attys QUALIFIED40Ioni Bowcher
1034Morrow W GillianItaly2024-06-01King, Christopher A Esq PROPOSAL14Bernardo Dominic
1035Jefferson N FerenczRussia2024-06-05Dorl, James J Esq QUALIFIED95Amy Elsner
1036Darci P WieserItaly2024-06-09Morlong Associates UNQUALIFIED26Ivan Magalhaes
1037Arvin Y CaudyFrance2024-06-15King, Christopher A Esq NEW11Onyama Limba
1038David Z FerenczGermany2024-06-10Morlong Associates RENEWAL4Bernardo Dominic
1039Kadeem C AmigonSpain2024-06-01Feltz Printing Service UNQUALIFIED31Amy Elsner
1040Morrow X PoquetteAustralia2024-06-03Feltz Printing Service UNQUALIFIED53Stephen Shaw
1041Isabel Z DarakjyAustralia2024-06-10Dorl, James J Esq NEW29Bernardo Dominic
1042Jennifer V VenereGermany2024-05-28Chapman, Ross E Esq UNQUALIFIED29Bernardo Dominic
1043Wickens H InouyeAustralia2024-06-06Benton, John B Jr RENEWAL3Onyama Limba
1044Aditya T BriddickJapan2024-06-17Printing Dimensions NEW97Asiya Javayant
1045Murillo D FlosiBrazil2024-06-16Truhlar And Truhlar Attys NEW80Onyama Limba
1046Stacey E RulapaughItaly2024-06-13King, Christopher A Esq RENEWAL46Ivan Magalhaes
1047Sinclair Z DarakjyGermany2024-06-11Benton, John B Jr QUALIFIED70Stephen Shaw
1048Jefferson R CaudyJapan2024-06-14Rousseaux, Michael Esq UNQUALIFIED5Xuxue Feng
1049Aika W MacleadItaly2024-05-31Dorl, James J Esq NEGOTIATION26Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Claire L VenereItalyStephen Shaw PROPOSAL
Johnson X VocelkaFranceXuxue Feng NEW
Alejandro H DarakjyItalyAnna Fali QUALIFIED
Tony U NickaSpainAnna Fali NEW
Izzy R RutaRussiaXuxue Feng PROPOSAL
Isabel A RulapaughUnited KingdomOnyama Limba NEW
Silvio A KolmetzUnited KingdomOnyama Limba PROPOSAL
Darci G PaprockiCanadaIoni Bowcher QUALIFIED
Chavez Z IturbideCanadaBernardo Dominic RENEWAL
Leon K TollnerBrazilBernardo Dominic PROPOSAL
Silvio F StensethRussiaElwin Sharvill QUALIFIED
Antonio L OstroskyAustraliaStephen Shaw QUALIFIED
Leon O GlickRussiaOnyama Limba QUALIFIED
Emily Q DoeSpainIoni Bowcher PROPOSAL
James F AmigonRussiaIvan Magalhaes PROPOSAL
Aika O PerinSpainBernardo Dominic PROPOSAL
Leon J FigeroaCanadaStephen Shaw QUALIFIED
Leja T ButtFranceXuxue Feng RENEWAL
Misaki V GillianUnited KingdomOnyama Limba QUALIFIED
Salvatore I FerenczSpainAmy Elsner NEGOTIATION
Murillo D WaycottSpainElwin Sharvill RENEWAL
Chavez T AlbaresAustraliaOnyama Limba PROPOSAL
Murillo N DoeGermanyIvan Magalhaes NEGOTIATION
Mayumi P InouyeUnited KingdomAnna Fali UNQUALIFIED
Jennifer I GauchoJapanXuxue Feng UNQUALIFIED
Jennifer C GarufiUnited KingdomIoni Bowcher NEW
Leja C ShinkoFranceOnyama Limba NEW
Julie A PerinGermanyBernardo Dominic RENEWAL
Jennifer O OldroydSpainElwin Sharvill UNQUALIFIED
Costa T StockhamAustraliaXuxue Feng PROPOSAL
Clifford V AlbaresFranceIvan Magalhaes PROPOSAL
Isabel Z PoquetteArgentinaIvan Magalhaes UNQUALIFIED
Silvio R SaylorsCanadaIvan Magalhaes NEGOTIATION
Ricardo U RulapaughJapanStephen Shaw RENEWAL
Silvio P DarakjyJapanIoni Bowcher PROPOSAL
Jones P GillianCanadaElwin Sharvill QUALIFIED
Munro O MaletJapanAnna Fali PROPOSAL
David M OldroydCanadaAsiya Javayant RENEWAL
Aditya T ChuiGermanyIoni Bowcher NEGOTIATION
Aruna U MorascaAustraliaAsiya Javayant QUALIFIED
Jones J MorascaIndiaIoni Bowcher NEW
Tony X ChuiArgentinaAnna Fali PROPOSAL
Greenwood V RulapaughIndiaBernardo Dominic QUALIFIED
Costa Y DarakjyJapanIvan Magalhaes UNQUALIFIED
Octavia C MacleadArgentinaBernardo Dominic QUALIFIED
Murillo U SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Stacey O BriddickUnited KingdomStephen Shaw PROPOSAL
Silvio H SaylorsGermanyIoni Bowcher UNQUALIFIED
James F DilliardArgentinaOnyama Limba RENEWAL
Kadeem E SlusarskiUnited KingdomIoni Bowcher RENEWAL
Frozen Columns
Name
Silvio Z Ostrosky
Aika D Rim
Morrow K Briddick
Claire Y Morasca
Ivar E Glick
Misaki X Kolmetz
Aruna D Albares
Maisha H Kusko
Munro W Glick
Maria B Rim
Alejandro L Campain
Izzy P Morasca
Adams G Iturbide
Jefferson W Morasca
Jones O Sergi
Adams G Perin
Smith N Gillian
Stacey Q Royster
Jones H Doe
Octavia W Ostrosky
Francesco J Royster
James Y Paprocki
Jeanfrancois G Poquette
Leon Z Rim
Smith K Ferencz
Leon C Kusko
Claire B Marrier
Aditya C Caldarera
Murillo Y Shinko
Jeanfrancois N Schemmer
Leja C Chui
Arvin V Briddick
Deepesh E Bolognia
Isabel Y Schemmer
Aika H Garufi
Maria F Perin
Juan W Sergi
Arvin L Malet
James H Inouye
Jefferson K Slusarski
Leja J Iturbide
Jones A Inouye
Wickens P Darakjy
Costa Z Darakjy
Stacey K Wieser
Aika A Albares
Jennifer P Poquette
Kaitlin O Kolmetz
Salvatore E Oldroyd
Adams A Slusarski
IdCountryDate
1000Germany2024-05-29
1001Australia2024-06-10
1002France2024-06-02
1003Russia2024-05-31
1004Spain2024-05-25
1005Australia2024-05-31
1006Brazil2024-06-16
1007India2024-06-05
1008India2024-05-26
1009Japan2024-05-26
1010Brazil2024-06-02
1011Canada2024-06-05
1012Canada2024-06-07
1013Japan2024-05-28
1014Canada2024-06-21
1015Italy2024-05-29
1016Canada2024-06-16
1017Russia2024-06-20
1018Spain2024-06-03
1019France2024-05-28
1020Argentina2024-06-19
1021France2024-05-26
1022Canada2024-05-31
1023Italy2024-06-04
1024Germany2024-06-04
1025Spain2024-05-29
1026Spain2024-06-17
1027Australia2024-05-28
1028United Kingdom2024-05-26
1029Australia2024-05-24
1030Russia2024-06-17
1031Japan2024-06-16
1032Australia2024-06-06
1033United Kingdom2024-06-22
1034France2024-06-10
1035Italy2024-05-29
1036Italy2024-06-12
1037Brazil2024-06-14
1038Canada2024-06-12
1039Italy2024-05-25
1040Italy2024-06-15
1041Russia2024-05-29
1042Argentina2024-06-18
1043India2024-06-06
1044France2024-06-17
1045Russia2024-05-27
1046Italy2024-06-21
1047Japan2024-06-21
1048United Kingdom2024-06-01
1049Spain2024-06-01

On-Demand Data

NameIdCountryDate
Aruna B Sergi1000India2024-05-24
Jeanfrancois U Waycott1001United Kingdom2024-06-19
James D Flosi1002Japan2024-06-07
Aika V Rim1003India2024-05-25
Mayumi R Poquette1004Australia2024-06-06
Faith C Figeroa1005France2024-06-17
Rodrigues E Chui1006Brazil2024-06-18
Murillo N Inouye1007India2024-06-12
Nicolas J Albares1008Italy2024-06-15
Darci D Dilliard1009Brazil2024-06-08
Johnson C Royster1010Australia2024-06-03
Kadeem S Waycott1011Australia2024-06-01
Alejandro V Ostrosky1012Canada2024-06-12
Cody K Morasca1013Canada2024-05-30
Jefferson M Royster1014Japan2024-05-31
Claire B Caudy1015India2024-05-28
Johnson D Ferencz1016Argentina2024-06-08
Mujtaba T Schemmer1017Canada2024-05-28
Leon K Foller1018United Kingdom2024-06-16
Aditya W Campain1019Italy2024-06-04
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Aditya J BriddickRussiaAsiya Javayant RENEWAL
Kadeem V PaprockiJapanElwin Sharvill UNQUALIFIED
Mayumi B InouyeBrazilOnyama Limba NEGOTIATION
James V CaudyCanadaXuxue Feng QUALIFIED
Rodrigues V MorascaSpainAnna Fali UNQUALIFIED
Murillo F OstroskyJapanIoni Bowcher QUALIFIED
Nicolas D PaprockiUnited KingdomIvan Magalhaes NEGOTIATION
Adams K CampainRussiaXuxue Feng NEGOTIATION
Clifford F FollerRussiaAsiya Javayant UNQUALIFIED
Johnson Z DilliardSpainStephen Shaw UNQUALIFIED
Wickens X AmigonRussiaAnna Fali NEGOTIATION
Leon N TollnerIndiaAsiya Javayant QUALIFIED
David A StockhamGermanyBernardo Dominic NEGOTIATION
Aditya X VocelkaArgentinaAmy Elsner NEW
Costa E GlickCanadaAsiya Javayant RENEWAL
Kaitlin D StensethGermanyElwin Sharvill NEGOTIATION
Rodrigues W SaylorsUnited KingdomIoni Bowcher NEGOTIATION
Wickens Z FlosiIndiaOnyama Limba QUALIFIED
Nicolas S SchemmerBrazilOnyama Limba RENEWAL
Maria I MacleadSpainIoni Bowcher NEGOTIATION
Costa F DoeSpainElwin Sharvill NEGOTIATION
Sinclair M FerenczAustraliaStephen Shaw UNQUALIFIED
Ivar P BriddickRussiaIvan Magalhaes NEGOTIATION
Ivar F VocelkaArgentinaAnna Fali PROPOSAL
Costa K AlbaresIndiaAnna Fali RENEWAL
Octavia I SchemmerIndiaIoni Bowcher PROPOSAL
Stacey Q StensethArgentinaIvan Magalhaes PROPOSAL
Greenwood S FlosiFranceIoni Bowcher PROPOSAL
Ashley Q ButtIndiaAsiya Javayant UNQUALIFIED
Chavez L NickaIndiaAmy Elsner QUALIFIED
Isabel G SchemmerJapanStephen Shaw RENEWAL
Octavia L MacleadIndiaElwin Sharvill PROPOSAL
Izzy Y FigeroaGermanyStephen Shaw NEW
Maisha L StensethGermanyStephen Shaw RENEWAL
Nicolas M InouyeBrazilOnyama Limba UNQUALIFIED
Salvatore F ShinkoJapanIvan Magalhaes RENEWAL
Aditya R TollnerArgentinaAsiya Javayant RENEWAL
Murillo N MorascaCanadaStephen Shaw NEW
Ricardo V DilliardRussiaAnna Fali NEW
Johnson X RutaSpainIoni Bowcher RENEWAL

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