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
Kaitlin X WieserBrazilIoni Bowcher NEW
Arvin E CaudyRussiaStephen Shaw UNQUALIFIED
Mayumi I MacleadAustraliaBernardo Dominic QUALIFIED
Morrow I SchemmerItalyBernardo Dominic QUALIFIED
Clifford N VenereSpainIoni Bowcher PROPOSAL
Kaitlin O IturbideIndiaBernardo Dominic NEGOTIATION
Chavez A BowleyAustraliaAmy Elsner RENEWAL
Emily G AlbaresBrazilStephen Shaw QUALIFIED
Clifford B VocelkaRussiaBernardo Dominic PROPOSAL
Greenwood I GlickIndiaStephen Shaw UNQUALIFIED
Alejandro Q RoysterUnited KingdomElwin Sharvill UNQUALIFIED
Arvin L GillianGermanyBernardo Dominic QUALIFIED
Rodrigues H BologniaRussiaElwin Sharvill PROPOSAL
David H VenereFranceBernardo Dominic UNQUALIFIED
Jeanfrancois Q MaletArgentinaElwin Sharvill QUALIFIED
Alejandro W InouyeUnited KingdomElwin Sharvill PROPOSAL
Sinclair N MaletFranceAnna Fali UNQUALIFIED
David L DilliardItalyIoni Bowcher PROPOSAL
Kadeem I StensethBrazilBernardo Dominic NEGOTIATION
Kaitlin E StockhamAustraliaAmy Elsner PROPOSAL
Kaitlin H WhobreyIndiaIvan Magalhaes PROPOSAL
Arvin Z FollerRussiaOnyama Limba NEW
Ricardo G MorascaRussiaBernardo Dominic RENEWAL
Kadeem F SchemmerGermanyIoni Bowcher QUALIFIED
Stacey Z NestleCanadaIvan Magalhaes QUALIFIED
Murillo Z StensethAustraliaElwin Sharvill NEGOTIATION
Cody Y VocelkaArgentinaOnyama Limba UNQUALIFIED
Adams S RimSpainXuxue Feng RENEWAL
Leja C StensethArgentinaElwin Sharvill QUALIFIED
Julie H GillianAustraliaXuxue Feng RENEWAL
Nicolas P InouyeSpainElwin Sharvill QUALIFIED
Darci A ButtFranceAnna Fali UNQUALIFIED
Costa I PaprockiSpainStephen Shaw QUALIFIED
Kadeem Y CampainArgentinaOnyama Limba RENEWAL
Emily C PoquetteArgentinaAmy Elsner NEW
James I RulapaughAustraliaAsiya Javayant PROPOSAL
Izzy Y InouyeGermanyXuxue Feng NEGOTIATION
Tony F OldroydIndiaAmy Elsner UNQUALIFIED
Rodrigues L KolmetzArgentinaStephen Shaw UNQUALIFIED
Costa G DoeJapanAmy Elsner UNQUALIFIED
Mujtaba O SchemmerBrazilOnyama Limba QUALIFIED
Murillo S DoeFranceAmy Elsner QUALIFIED
Leja I NestleSpainXuxue Feng RENEWAL
Kadeem H RoysterCanadaAsiya Javayant QUALIFIED
Deepesh W VocelkaSpainElwin Sharvill QUALIFIED
Faith I StensethCanadaAsiya Javayant NEW
Juan H KolmetzIndiaAnna Fali QUALIFIED
Mayumi L GarufiSpainIvan Magalhaes QUALIFIED
Jennifer I GarufiRussiaElwin Sharvill NEGOTIATION
Antonio P MorascaItalyAnna Fali QUALIFIED
Horizontal
NameCountryRepresentativeStatus
Stacey C SaylorsJapanStephen Shaw NEW
Wickens O RimCanadaBernardo Dominic RENEWAL
Jones P ButtUnited KingdomElwin Sharvill PROPOSAL
Maisha P KolmetzCanadaAnna Fali NEW
Tony Y RutaArgentinaXuxue Feng NEW
Smith O RutaUnited KingdomElwin Sharvill NEGOTIATION
Francesco U OldroydArgentinaStephen Shaw RENEWAL
Arvin G IturbideArgentinaIvan Magalhaes NEGOTIATION
David F MarrierCanadaOnyama Limba UNQUALIFIED
Salvatore L FollerBrazilBernardo Dominic RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Julie R ChuiItaly2024-06-09Morlong Associates PROPOSAL60Stephen Shaw
1001Mayumi Y CampainCanada2024-06-14Chanay, Jeffrey A Esq QUALIFIED6Onyama Limba
1002Julie B SaylorsCanada2024-05-30Truhlar And Truhlar Attys UNQUALIFIED60Elwin Sharvill
1003Jennifer E GlickFrance2024-05-24Buckley Miller Wright UNQUALIFIED73Xuxue Feng
1004Clifford D InouyeSpain2024-06-14Buckley Miller Wright QUALIFIED85Elwin Sharvill
1005Wickens T SlusarskiArgentina2024-06-19Morlong Associates PROPOSAL13Asiya Javayant
1006Wickens I AmigonSpain2024-05-23Feltz Printing Service QUALIFIED9Bernardo Dominic
1007Jones W StockhamArgentina2024-06-09Rousseaux, Michael Esq NEW7Asiya Javayant
1008Izzy D OstroskyGermany2024-06-12Morlong Associates QUALIFIED17Xuxue Feng
1009Smith M CaudyArgentina2024-05-31King, Christopher A Esq NEW37Anna Fali
1010Aruna P StockhamCanada2024-05-30Chapman, Ross E Esq QUALIFIED87Xuxue Feng
1011Ivar R CampainJapan2024-05-30Chanay, Jeffrey A Esq PROPOSAL39Stephen Shaw
1012Tony Q MorascaUnited Kingdom2024-06-12Printing Dimensions NEGOTIATION27Anna Fali
1013David C SergiBrazil2024-06-17Chapman, Ross E Esq RENEWAL4Bernardo Dominic
1014Ashley C StensethFrance2024-06-15Commercial Press RENEWAL88Ivan Magalhaes
1015Francesco F FollerBrazil2024-06-09Chanay, Jeffrey A Esq QUALIFIED4Anna Fali
1016Clifford E VenereJapan2024-06-01Chemel, James L Cpa NEW80Amy Elsner
1017Octavia S PoquetteCanada2024-05-23Benton, John B Jr PROPOSAL34Xuxue Feng
1018Ashley I IturbideItaly2024-06-09Chapman, Ross E Esq UNQUALIFIED58Ioni Bowcher
1019Kadeem F MorascaItaly2024-06-18King, Christopher A Esq NEGOTIATION66Xuxue Feng
1020Munro Y KolmetzIndia2024-05-24Rangoni Of Florence NEGOTIATION49Ivan Magalhaes
1021Jennifer A MaletItaly2024-06-01Benton, John B Jr UNQUALIFIED78Xuxue Feng
1022Mayumi S BriddickBrazil2024-06-14Commercial Press RENEWAL16Ioni Bowcher
1023Isabel K SchemmerIndia2024-06-03Rangoni Of Florence NEW36Onyama Limba
1024Rodrigues A TollnerSpain2024-05-30King, Christopher A Esq RENEWAL84Ioni Bowcher
1025Jefferson U NickaArgentina2024-05-26Morlong Associates UNQUALIFIED48Bernardo Dominic
1026Adams Y ChuiFrance2024-06-10Chemel, James L Cpa PROPOSAL66Xuxue Feng
1027Greenwood W AmigonRussia2024-06-20Chemel, James L Cpa QUALIFIED22Elwin Sharvill
1028Aditya V MarrierSpain2024-06-02Feiner Bros NEGOTIATION97Bernardo Dominic
1029Cody W SchemmerIndia2024-06-13Buckley Miller Wright QUALIFIED64Anna Fali
1030Ricardo J DoeBrazil2024-06-09Chemel, James L Cpa NEW24Elwin Sharvill
1031Alejandro X FollerSpain2024-05-26Morlong Associates QUALIFIED76Ioni Bowcher
1032Sinclair C BowleyIndia2024-06-03Commercial Press PROPOSAL3Onyama Limba
1033Leja C FollerBrazil2024-06-04Rangoni Of Florence PROPOSAL93Ioni Bowcher
1034Aditya P StockhamIndia2024-06-09Chanay, Jeffrey A Esq NEW81Stephen Shaw
1035James Y GillianArgentina2024-05-25Commercial Press QUALIFIED18Bernardo Dominic
1036James T KolmetzIndia2024-06-09Feltz Printing Service QUALIFIED34Onyama Limba
1037Ashley M PoquetteRussia2024-06-01Dorl, James J Esq UNQUALIFIED79Xuxue Feng
1038Jennifer Q BologniaUnited Kingdom2024-06-08Morlong Associates NEGOTIATION31Asiya Javayant
1039Aika Y DoeGermany2024-05-25Feltz Printing Service NEGOTIATION30Amy Elsner
1040Ivar B MaletUnited Kingdom2024-05-26Feiner Bros QUALIFIED4Elwin Sharvill
1041Costa V InouyeUnited Kingdom2024-06-15Benton, John B Jr UNQUALIFIED89Anna Fali
1042Cody C FigeroaSpain2024-06-14Commercial Press NEW49Asiya Javayant
1043Smith A ChuiFrance2024-05-27Buckley Miller Wright NEW76Bernardo Dominic
1044Stacey D PoquetteItaly2024-05-29King, Christopher A Esq QUALIFIED58Bernardo Dominic
1045Stacey H PerinRussia2024-05-25King, Christopher A Esq UNQUALIFIED0Ioni Bowcher
1046Juan U NickaUnited Kingdom2024-06-04Dorl, James J Esq PROPOSAL93Elwin Sharvill
1047Ricardo H TollnerAustralia2024-06-19Chemel, James L Cpa QUALIFIED12Bernardo Dominic
1048Leja J MaletGermany2024-06-13Rousseaux, Michael Esq NEGOTIATION95Bernardo Dominic
1049Chavez Q SaylorsAustralia2024-06-08King, Christopher A Esq NEW46Asiya Javayant
Frozen Rows
NameCountryRepresentativeStatus
Antonio M InouyeItalyElwin Sharvill NEGOTIATION
Stacey O MaletAustraliaBernardo Dominic NEGOTIATION
Arvin D WaycottFranceStephen Shaw NEGOTIATION
Jeanfrancois Y RimRussiaAnna Fali QUALIFIED
Maisha P BowleyJapanXuxue Feng NEW
Emily V AmigonItalyStephen Shaw PROPOSAL
Isabel W NickaItalyIoni Bowcher NEGOTIATION
Morrow U NickaItalyAnna Fali UNQUALIFIED
Salvatore Y CaldareraBrazilIoni Bowcher QUALIFIED
Octavia Z WaycottRussiaIvan Magalhaes NEW
Rodrigues A WaycottSpainIvan Magalhaes QUALIFIED
Murillo O RoysterBrazilElwin Sharvill NEGOTIATION
Smith O AlbaresSpainAnna Fali QUALIFIED
Salvatore D FollerUnited KingdomElwin Sharvill NEGOTIATION
Izzy L OldroydAustraliaAmy Elsner PROPOSAL
Leja V StensethBrazilStephen Shaw QUALIFIED
Wickens V StensethJapanIoni Bowcher UNQUALIFIED
Stacey K RutaGermanyBernardo Dominic PROPOSAL
Adams A RimArgentinaStephen Shaw NEGOTIATION
Adams E NickaItalyAsiya Javayant PROPOSAL
Greenwood P SchemmerIndiaAsiya Javayant QUALIFIED
Ivar B WhobreyItalyIvan Magalhaes PROPOSAL
Rodrigues J AlbaresGermanyAsiya Javayant PROPOSAL
Jennifer K StensethAustraliaElwin Sharvill NEW
Ivar C PaprockiSpainIoni Bowcher UNQUALIFIED
Aditya A RulapaughIndiaAsiya Javayant NEGOTIATION
Kaitlin P GarufiFranceIoni Bowcher PROPOSAL
Costa M KuskoFranceIvan Magalhaes RENEWAL
Mayumi H SlusarskiIndiaIvan Magalhaes UNQUALIFIED
Jefferson U MacleadItalyAmy Elsner RENEWAL
Rodrigues R AlbaresBrazilOnyama Limba NEW
Nicolas R CaldareraBrazilIoni Bowcher NEGOTIATION
Arvin E MaletRussiaAmy Elsner NEGOTIATION
Misaki I FigeroaRussiaOnyama Limba UNQUALIFIED
Octavia T PaprockiRussiaStephen Shaw QUALIFIED
Ricardo F MarrierSpainAsiya Javayant UNQUALIFIED
Ivar C MacleadJapanOnyama Limba NEGOTIATION
Salvatore X PoquetteJapanAnna Fali NEGOTIATION
Ivar N AmigonAustraliaIvan Magalhaes RENEWAL
Arvin S FlosiJapanAsiya Javayant UNQUALIFIED
Ricardo X OldroydCanadaAsiya Javayant QUALIFIED
Munro C MaletUnited KingdomXuxue Feng UNQUALIFIED
Nicolas R BriddickJapanOnyama Limba NEW
Rodrigues I ChuiFranceIoni Bowcher RENEWAL
Isabel C RulapaughFranceOnyama Limba NEW
Rodrigues Z WhobreyBrazilAsiya Javayant UNQUALIFIED
Ashley Y WaycottCanadaAnna Fali QUALIFIED
Aruna Q MorascaUnited KingdomAsiya Javayant RENEWAL
Clifford R SlusarskiJapanElwin Sharvill RENEWAL
Nicolas O GillianAustraliaIoni Bowcher RENEWAL
Frozen Columns
Name
Alejandro P Darakjy
David Z Gillian
Ricardo B Butt
Juan E Amigon
Alejandro A Ostrosky
Kaitlin J Gillian
Misaki J Malet
Arvin G Paprocki
Octavia B Ostrosky
Aika Z Morasca
Clifford I Figeroa
Salvatore C Caudy
Maria A Saylors
Julie C Poquette
Aika O Morasca
Silvio M Royster
Emily M Gillian
Faith C Malet
Isabel V Royster
Jones G Oldroyd
Murillo G Vocelka
Greenwood J Saylors
Octavia L Paprocki
Leja O Doe
Ivar N Albares
Kaitlin Q Waycott
Maria L Perin
Darci J Stenseth
Alejandro V Stenseth
Kadeem A Kolmetz
Izzy X Whobrey
Emily J Bolognia
Stacey Q Malet
Darci I Maclead
Ricardo R Butt
Maisha D Saylors
Jeanfrancois A Schemmer
Isabel P Maclead
Jennifer X Chui
Sinclair A Whobrey
Faith J Doe
Wickens V Rim
Izzy P Doe
Faith M Bolognia
Wickens D Rulapaugh
Nicolas I Chui
Munro N Figeroa
Wickens Q Saylors
Maisha U Bowley
Jennifer C Garufi
IdCountryDate
1000Argentina2024-05-26
1001United Kingdom2024-05-27
1002United Kingdom2024-05-30
1003Canada2024-06-13
1004Australia2024-06-17
1005Brazil2024-05-30
1006Japan2024-05-27
1007France2024-05-30
1008Germany2024-06-21
1009Argentina2024-05-27
1010United Kingdom2024-06-17
1011Spain2024-06-14
1012Argentina2024-06-11
1013Argentina2024-06-03
1014Argentina2024-06-16
1015Australia2024-06-08
1016Argentina2024-06-21
1017Brazil2024-06-15
1018France2024-05-30
1019Italy2024-06-06
1020Brazil2024-05-27
1021Germany2024-05-26
1022Australia2024-05-24
1023Italy2024-06-11
1024Russia2024-06-13
1025Argentina2024-05-29
1026Italy2024-05-23
1027United Kingdom2024-06-04
1028Germany2024-06-19
1029France2024-06-08
1030France2024-06-16
1031Russia2024-05-24
1032Brazil2024-05-25
1033Italy2024-05-27
1034Spain2024-05-31
1035United Kingdom2024-05-29
1036Russia2024-06-13
1037Germany2024-06-21
1038Spain2024-06-12
1039France2024-05-26
1040Russia2024-06-19
1041India2024-05-24
1042Germany2024-05-24
1043Japan2024-05-23
1044Italy2024-05-24
1045Italy2024-06-17
1046Italy2024-06-08
1047Argentina2024-06-13
1048Italy2024-06-17
1049Australia2024-06-19

On-Demand Data

NameIdCountryDate
Deepesh M Albares1000France2024-06-06
Francesco X Bowley1001United Kingdom2024-06-02
Francesco P Saylors1002Australia2024-05-24
Deepesh Q Stenseth1003United Kingdom2024-06-08
Antonio M Poquette1004Italy2024-05-26
Ivar D Foller1005Germany2024-06-14
David V Inouye1006Argentina2024-06-17
Wickens W Glick1007Spain2024-06-14
Clifford B Iturbide1008Canada2024-06-19
James H Stockham1009Japan2024-06-08
Munro Z Caudy1010India2024-06-14
Costa Q Waycott1011Argentina2024-06-21
Leja R Kusko1012India2024-05-27
Nicolas A Ostrosky1013Russia2024-05-23
Munro E Amigon1014United Kingdom2024-05-29
Jeanfrancois U Doe1015Japan2024-05-23
Rodrigues K Stockham1016Japan2024-06-16
Jones N Albares1017Germany2024-05-28
Darci M Kolmetz1018Japan2024-06-02
Kaitlin P Kolmetz1019France2024-05-24
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Maisha A SaylorsUnited KingdomOnyama Limba NEW
Deepesh H OstroskyGermanyElwin Sharvill RENEWAL
Chavez C AmigonSpainElwin Sharvill PROPOSAL
Wickens L NickaIndiaAmy Elsner NEGOTIATION
Aruna I WaycottItalyAmy Elsner NEW
Smith F GillianUnited KingdomIoni Bowcher RENEWAL
David R DilliardArgentinaIvan Magalhaes NEGOTIATION
Sinclair B WhobreyArgentinaIoni Bowcher NEW
Izzy S GauchoGermanyBernardo Dominic NEW
Misaki N RoysterItalyBernardo Dominic RENEWAL
Mujtaba F StockhamBrazilOnyama Limba PROPOSAL
Costa C SchemmerArgentinaIoni Bowcher UNQUALIFIED
Darci U SchemmerAustraliaStephen Shaw UNQUALIFIED
Octavia Y BriddickArgentinaBernardo Dominic NEGOTIATION
David H BowleyGermanyBernardo Dominic NEGOTIATION
Munro W SergiArgentinaBernardo Dominic PROPOSAL
Salvatore X PerinUnited KingdomOnyama Limba NEGOTIATION
Tony Q CaudyIndiaXuxue Feng UNQUALIFIED
Claire U FerenczBrazilBernardo Dominic QUALIFIED
Aditya S GillianJapanAsiya Javayant UNQUALIFIED
Rodrigues W DoeItalyOnyama Limba RENEWAL
Jefferson M ShinkoSpainAsiya Javayant NEW
Clifford Y SlusarskiFranceOnyama Limba QUALIFIED
Misaki R WieserArgentinaOnyama Limba NEW
Leon X FollerArgentinaAsiya Javayant QUALIFIED
Mayumi H SergiBrazilElwin Sharvill RENEWAL
Tony C GarufiIndiaIvan Magalhaes UNQUALIFIED
Ricardo W BowleyJapanAmy Elsner RENEWAL
Alejandro J ButtUnited KingdomAsiya Javayant NEW
Julie V WhobreyRussiaXuxue Feng PROPOSAL
Antonio L NickaArgentinaElwin Sharvill UNQUALIFIED
Jones S BriddickBrazilBernardo Dominic QUALIFIED
Izzy Q RimCanadaIoni Bowcher NEGOTIATION
Emily N RoysterIndiaAsiya Javayant RENEWAL
Antonio V ButtJapanAmy Elsner RENEWAL
Rodrigues D AmigonUnited KingdomBernardo Dominic NEW
Greenwood O DilliardBrazilXuxue Feng QUALIFIED
Aruna T MaletUnited KingdomAmy Elsner QUALIFIED
Chavez H DilliardFranceAmy Elsner RENEWAL
Munro Y MorascaArgentinaIoni Bowcher 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>