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
Adams F GarufiFranceElwin Sharvill NEGOTIATION
Cody Y PoquetteRussiaAsiya Javayant RENEWAL
Nicolas T MarrierSpainAnna Fali PROPOSAL
Izzy E FlosiSpainAsiya Javayant PROPOSAL
Jefferson C GillianRussiaAnna Fali QUALIFIED
Claire T BriddickFranceXuxue Feng PROPOSAL
Izzy J AlbaresArgentinaElwin Sharvill UNQUALIFIED
Munro R BologniaItalyAmy Elsner PROPOSAL
Darci A FollerItalyXuxue Feng UNQUALIFIED
Johnson W BologniaCanadaIvan Magalhaes QUALIFIED
Nicolas Y CampainGermanyElwin Sharvill PROPOSAL
James K MaletAustraliaAmy Elsner NEGOTIATION
Juan I SergiRussiaIvan Magalhaes QUALIFIED
Francesco O AlbaresJapanElwin Sharvill PROPOSAL
Tony A SergiArgentinaIoni Bowcher PROPOSAL
Ashley W PoquetteArgentinaAnna Fali NEGOTIATION
Jefferson S VenereJapanAsiya Javayant QUALIFIED
Arvin K IturbideUnited KingdomAnna Fali UNQUALIFIED
Kadeem G DilliardArgentinaStephen Shaw UNQUALIFIED
James N RutaItalyElwin Sharvill PROPOSAL
Leja A WaycottRussiaAnna Fali QUALIFIED
Kaitlin I GlickSpainStephen Shaw QUALIFIED
Maisha B WhobreyGermanyStephen Shaw NEGOTIATION
Juan M MacleadUnited KingdomAnna Fali QUALIFIED
Jennifer M FlosiIndiaStephen Shaw QUALIFIED
Ivar E InouyeAustraliaOnyama Limba NEGOTIATION
Leja I FerenczUnited KingdomBernardo Dominic RENEWAL
Morrow X PerinSpainXuxue Feng QUALIFIED
Chavez X SergiCanadaIvan Magalhaes UNQUALIFIED
Murillo O GauchoUnited KingdomIvan Magalhaes QUALIFIED
Maria O PerinUnited KingdomOnyama Limba NEGOTIATION
Jones F SlusarskiUnited KingdomElwin Sharvill NEGOTIATION
Leon C SlusarskiBrazilAsiya Javayant NEGOTIATION
Mayumi A MacleadItalyXuxue Feng NEGOTIATION
Jeanfrancois Q RutaUnited KingdomIoni Bowcher PROPOSAL
Ashley V ChuiArgentinaXuxue Feng UNQUALIFIED
Nicolas Q ShinkoBrazilAnna Fali QUALIFIED
Leja X WaycottFranceAmy Elsner UNQUALIFIED
Izzy D OstroskyJapanAnna Fali NEGOTIATION
Murillo S RimArgentinaElwin Sharvill PROPOSAL
Cody U RoysterBrazilBernardo Dominic RENEWAL
Murillo D SlusarskiRussiaStephen Shaw PROPOSAL
Isabel B ButtJapanAnna Fali QUALIFIED
Smith C DoeCanadaXuxue Feng PROPOSAL
Francesco P FollerUnited KingdomAnna Fali RENEWAL
Sinclair K ButtAustraliaAmy Elsner PROPOSAL
Smith Z TollnerJapanBernardo Dominic NEGOTIATION
James S PaprockiBrazilAnna Fali UNQUALIFIED
Clifford U MacleadJapanIoni Bowcher UNQUALIFIED
Darci L RulapaughArgentinaIoni Bowcher RENEWAL
Horizontal
NameCountryRepresentativeStatus
James M VenereUnited KingdomAsiya Javayant NEW
Antonio O SlusarskiJapanElwin Sharvill QUALIFIED
Ricardo J AmigonItalyOnyama Limba NEW
Arvin B OstroskyGermanyElwin Sharvill UNQUALIFIED
Wickens P ShinkoSpainIvan Magalhaes QUALIFIED
Antonio E MacleadAustraliaBernardo Dominic QUALIFIED
Ricardo P FollerArgentinaIoni Bowcher RENEWAL
Ivar D DarakjyBrazilAnna Fali PROPOSAL
Tony J RutaSpainStephen Shaw UNQUALIFIED
Chavez U KolmetzArgentinaStephen Shaw NEGOTIATION
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Adams Q GauchoArgentina2024-06-07Benton, John B Jr NEW50Anna Fali
1001Deepesh J DarakjyUnited Kingdom2024-06-02Buckley Miller Wright NEW68Elwin Sharvill
1002Francesco B VocelkaArgentina2024-06-17Truhlar And Truhlar Attys QUALIFIED77Asiya Javayant
1003Nicolas N OldroydArgentina2024-06-13Feltz Printing Service PROPOSAL35Xuxue Feng
1004David T BowleyIndia2024-05-29King, Christopher A Esq NEGOTIATION28Ivan Magalhaes
1005Munro X BriddickAustralia2024-06-02Morlong Associates PROPOSAL58Ivan Magalhaes
1006Salvatore U RimFrance2024-05-25Chapman, Ross E Esq PROPOSAL70Asiya Javayant
1007Tony C SchemmerRussia2024-05-28Feltz Printing Service NEGOTIATION51Amy Elsner
1008Ashley O RutaBrazil2024-05-27Printing Dimensions PROPOSAL38Asiya Javayant
1009Sinclair G RutaUnited Kingdom2024-06-02Feiner Bros RENEWAL46Asiya Javayant
1010Morrow W AlbaresArgentina2024-05-30Printing Dimensions RENEWAL79Amy Elsner
1011Izzy K WaycottRussia2024-06-12King, Christopher A Esq UNQUALIFIED37Bernardo Dominic
1012Kadeem N GarufiIndia2024-06-14Feltz Printing Service PROPOSAL25Onyama Limba
1013Nicolas Y FollerGermany2024-05-28Chanay, Jeffrey A Esq PROPOSAL80Ivan Magalhaes
1014Kaitlin G VocelkaSpain2024-06-13Chapman, Ross E Esq QUALIFIED59Elwin Sharvill
1015Rodrigues W MaletCanada2024-05-25Rousseaux, Michael Esq NEGOTIATION82Ioni Bowcher
1016Kadeem V VocelkaFrance2024-06-17Feiner Bros PROPOSAL79Amy Elsner
1017Jefferson H NestleJapan2024-05-19Benton, John B Jr NEW22Ioni Bowcher
1018Stacey X WhobreyBrazil2024-06-05Truhlar And Truhlar Attys RENEWAL98Onyama Limba
1019Jennifer K FerenczSpain2024-05-26Truhlar And Truhlar Attys UNQUALIFIED68Elwin Sharvill
1020Mujtaba Y RutaAustralia2024-06-10Feiner Bros PROPOSAL53Asiya Javayant
1021Alejandro B WaycottIndia2024-05-31Rousseaux, Michael Esq QUALIFIED0Asiya Javayant
1022Morrow N GlickSpain2024-05-30Printing Dimensions PROPOSAL59Amy Elsner
1023Mayumi F PaprockiRussia2024-06-13Chapman, Ross E Esq NEW43Amy Elsner
1024Darci Y OldroydIndia2024-05-29Morlong Associates NEW21Bernardo Dominic
1025James D SlusarskiItaly2024-06-10Commercial Press RENEWAL36Elwin Sharvill
1026Ricardo X WhobreyJapan2024-05-22Rousseaux, Michael Esq PROPOSAL14Asiya Javayant
1027Nicolas G SchemmerSpain2024-06-10Rangoni Of Florence NEGOTIATION68Asiya Javayant
1028Silvio F OstroskyIndia2024-06-12Chemel, James L Cpa NEGOTIATION46Asiya Javayant
1029Alejandro J SergiUnited Kingdom2024-06-16Rousseaux, Michael Esq UNQUALIFIED92Elwin Sharvill
1030Claire Y BriddickBrazil2024-06-12Rangoni Of Florence PROPOSAL61Ioni Bowcher
1031Mayumi W OstroskySpain2024-06-11Chapman, Ross E Esq QUALIFIED79Asiya Javayant
1032Izzy U WieserJapan2024-06-08Dorl, James J Esq RENEWAL53Amy Elsner
1033Costa M SchemmerSpain2024-05-27Chapman, Ross E Esq NEW4Xuxue Feng
1034Darci Z SaylorsJapan2024-06-01Rousseaux, Michael Esq RENEWAL83Stephen Shaw
1035Ricardo L BriddickBrazil2024-05-30Feltz Printing Service NEGOTIATION1Asiya Javayant
1036Juan P OstroskyFrance2024-06-01Buckley Miller Wright QUALIFIED68Amy Elsner
1037Stacey F CaldareraSpain2024-06-12Printing Dimensions UNQUALIFIED2Asiya Javayant
1038Misaki W CaldareraGermany2024-06-04Dorl, James J Esq PROPOSAL75Stephen Shaw
1039Rodrigues X FollerIndia2024-06-15Truhlar And Truhlar Attys NEW47Ivan Magalhaes
1040Kadeem D PoquetteUnited Kingdom2024-06-02Rousseaux, Michael Esq NEW57Ioni Bowcher
1041Julie Q RutaCanada2024-05-28Chanay, Jeffrey A Esq RENEWAL3Anna Fali
1042Mujtaba X VenereFrance2024-06-17Feiner Bros RENEWAL82Anna Fali
1043Kaitlin L KolmetzItaly2024-06-03Rousseaux, Michael Esq PROPOSAL53Ivan Magalhaes
1044Misaki G FigeroaCanada2024-06-11Chapman, Ross E Esq QUALIFIED51Xuxue Feng
1045Mayumi G VocelkaUnited Kingdom2024-06-09Feltz Printing Service NEW31Amy Elsner
1046Cody N SlusarskiGermany2024-05-29Commercial Press UNQUALIFIED2Asiya Javayant
1047Juan V StockhamFrance2024-05-20Rangoni Of Florence RENEWAL56Asiya Javayant
1048Morrow Q BologniaJapan2024-05-23Morlong Associates QUALIFIED89Ivan Magalhaes
1049Sinclair O KolmetzIndia2024-06-11Commercial Press QUALIFIED20Bernardo Dominic
Frozen Rows
NameCountryRepresentativeStatus
Misaki A StockhamArgentinaAnna Fali QUALIFIED
Maisha F FlosiFranceAmy Elsner UNQUALIFIED
Morrow A VocelkaArgentinaAnna Fali NEGOTIATION
Tony Z GarufiJapanOnyama Limba QUALIFIED
Chavez R PoquetteJapanStephen Shaw RENEWAL
Deepesh F CaudyJapanElwin Sharvill PROPOSAL
Misaki M GillianItalyAnna Fali NEGOTIATION
Faith C PerinFranceIoni Bowcher PROPOSAL
Silvio F DarakjyAustraliaIvan Magalhaes UNQUALIFIED
Morrow G OldroydItalyIvan Magalhaes NEW
Antonio D VenereCanadaStephen Shaw UNQUALIFIED
Greenwood F TollnerIndiaElwin Sharvill QUALIFIED
Clifford V RulapaughFranceAsiya Javayant RENEWAL
Morrow F RoysterIndiaStephen Shaw PROPOSAL
Deepesh L GlickBrazilIoni Bowcher NEGOTIATION
Murillo Q VenereBrazilAmy Elsner NEGOTIATION
Clifford Z SlusarskiSpainIvan Magalhaes QUALIFIED
Antonio T NestleGermanyBernardo Dominic RENEWAL
Greenwood P CaudyBrazilElwin Sharvill PROPOSAL
Isabel H OldroydFranceIoni Bowcher UNQUALIFIED
Kaitlin H StensethJapanIvan Magalhaes UNQUALIFIED
Mayumi P DoeIndiaAnna Fali NEW
Mayumi H RulapaughItalyAsiya Javayant PROPOSAL
Chavez F GauchoArgentinaOnyama Limba NEW
Faith P RutaAustraliaElwin Sharvill RENEWAL
Morrow Y CaldareraAustraliaOnyama Limba QUALIFIED
Misaki T GauchoRussiaAmy Elsner NEW
Stacey O StensethSpainOnyama Limba RENEWAL
Misaki O DarakjyArgentinaIoni Bowcher UNQUALIFIED
Francesco T FerenczItalyXuxue Feng QUALIFIED
Smith O ShinkoUnited KingdomIoni Bowcher QUALIFIED
Costa R PaprockiFranceElwin Sharvill RENEWAL
Chavez L ShinkoSpainAsiya Javayant UNQUALIFIED
David V AlbaresGermanyBernardo Dominic PROPOSAL
Arvin T GarufiAustraliaElwin Sharvill UNQUALIFIED
Faith K IturbideIndiaAsiya Javayant QUALIFIED
Smith L MorascaArgentinaBernardo Dominic PROPOSAL
Chavez S SaylorsJapanOnyama Limba NEW
Smith A KuskoAustraliaXuxue Feng NEGOTIATION
Emily Z FlosiGermanyXuxue Feng PROPOSAL
Sinclair R WieserGermanyStephen Shaw UNQUALIFIED
Maisha V GillianFranceElwin Sharvill NEGOTIATION
Aika E SchemmerBrazilStephen Shaw PROPOSAL
Tony X GillianItalyAnna Fali NEW
David A SlusarskiCanadaXuxue Feng RENEWAL
Antonio R KuskoUnited KingdomAnna Fali NEW
Mujtaba D AmigonArgentinaXuxue Feng PROPOSAL
Sinclair M RimIndiaElwin Sharvill UNQUALIFIED
Mayumi M FollerCanadaIoni Bowcher NEW
Maria A DarakjyCanadaElwin Sharvill NEW
Frozen Columns
Name
Arvin Z Tollner
Adams D Ostrosky
Kadeem N Albares
Adams N Wieser
Aruna A Saylors
Aika J Marrier
Mayumi F Kolmetz
Munro U Tollner
Faith A Gillian
Rodrigues A Briddick
Leon K Malet
Salvatore U Shinko
Julie K Glick
Johnson Y Waycott
Aika G Dilliard
Morrow W Ferencz
Izzy W Nestle
Aditya G Schemmer
Rodrigues N Figeroa
Darci B Ferencz
Nicolas D Chui
Wickens B Saylors
Juan R Nestle
Salvatore S Stenseth
Claire O Malet
Tony Z Foller
Munro T Nestle
Arvin F Butt
Clifford I Doe
Morrow T Stenseth
Alejandro G Maclead
Octavia T Stenseth
Jennifer G Wieser
Leon X Kolmetz
Chavez L Nestle
Jennifer Z Schemmer
Mayumi L Morasca
Juan K Ferencz
Leon H Slusarski
Octavia G Sergi
Jefferson X Saylors
Johnson C Campain
James Z Chui
Isabel K Iturbide
Ashley E Caudy
Deepesh U Kusko
Arvin P Saylors
Rodrigues A Oldroyd
Kaitlin A Oldroyd
Silvio F Inouye
IdCountryDate
1000Italy2024-06-08
1001Italy2024-06-14
1002India2024-05-26
1003Spain2024-06-05
1004Italy2024-06-10
1005Australia2024-06-07
1006Argentina2024-06-06
1007United Kingdom2024-06-07
1008Japan2024-05-24
1009Canada2024-05-24
1010Brazil2024-05-29
1011Australia2024-05-21
1012Russia2024-06-13
1013Japan2024-05-26
1014Japan2024-06-16
1015Italy2024-06-15
1016United Kingdom2024-06-14
1017India2024-05-19
1018France2024-06-14
1019Spain2024-05-24
1020Brazil2024-06-07
1021Canada2024-06-07
1022Brazil2024-06-01
1023Brazil2024-06-02
1024Canada2024-05-31
1025Canada2024-06-17
1026Canada2024-05-19
1027Canada2024-06-04
1028France2024-06-07
1029Italy2024-05-23
1030India2024-06-12
1031United Kingdom2024-06-11
1032Argentina2024-05-29
1033Italy2024-06-17
1034France2024-05-19
1035United Kingdom2024-05-26
1036Australia2024-06-06
1037Spain2024-05-24
1038France2024-05-29
1039Germany2024-05-31
1040India2024-05-22
1041Brazil2024-06-08
1042Australia2024-05-23
1043Canada2024-06-04
1044Spain2024-05-27
1045Italy2024-05-22
1046India2024-05-29
1047Germany2024-06-03
1048India2024-06-09
1049Japan2024-06-17

On-Demand Data

NameIdCountryDate
Alejandro C Gaucho1000France2024-05-28
Francesco L Saylors1001United Kingdom2024-06-05
Faith O Darakjy1002Russia2024-06-03
Antonio N Perin1003India2024-05-24
Stacey O Kolmetz1004Italy2024-06-11
Faith C Gillian1005Spain2024-06-15
Deepesh V Caudy1006United Kingdom2024-06-08
Johnson E Amigon1007Germany2024-05-20
Smith O Kolmetz1008Germany2024-05-30
Smith A Ruta1009Japan2024-05-24
Silvio O Caudy1010Germany2024-05-29
Chavez W Nestle1011Argentina2024-05-25
Aditya P Gaucho1012Spain2024-06-10
Leja J Perin1013Spain2024-05-20
Aruna D Caudy1014India2024-06-09
Nicolas J Flosi1015Italy2024-05-21
Johnson R Marrier1016Australia2024-05-26
Leja Q Campain1017Australia2024-06-10
James G Gillian1018Japan2024-05-25
Ashley Y Schemmer1019India2024-05-20
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Johnson L GlickUnited KingdomOnyama Limba PROPOSAL
Morrow Y CaudyIndiaOnyama Limba UNQUALIFIED
Silvio T TollnerFranceIoni Bowcher NEW
Ricardo A BowleyJapanOnyama Limba UNQUALIFIED
Murillo K GillianArgentinaElwin Sharvill UNQUALIFIED
Aruna A CampainArgentinaAnna Fali RENEWAL
Faith P FlosiJapanElwin Sharvill UNQUALIFIED
Greenwood W DoeRussiaAsiya Javayant QUALIFIED
Leja K WhobreySpainAmy Elsner UNQUALIFIED
Aditya V RimFranceXuxue Feng UNQUALIFIED
Faith C StensethArgentinaIvan Magalhaes UNQUALIFIED
Leja S WhobreyUnited KingdomAnna Fali NEGOTIATION
Clifford S SlusarskiAustraliaAnna Fali RENEWAL
Stacey M SlusarskiFranceAsiya Javayant PROPOSAL
Juan S RutaJapanXuxue Feng NEW
Kaitlin F ButtBrazilAnna Fali NEGOTIATION
Jeanfrancois Y RulapaughCanadaStephen Shaw PROPOSAL
Darci B AmigonJapanBernardo Dominic PROPOSAL
Deepesh A StensethCanadaIoni Bowcher UNQUALIFIED
Francesco G ShinkoUnited KingdomXuxue Feng PROPOSAL
Alejandro R RimGermanyOnyama Limba PROPOSAL
Antonio B GlickItalyStephen Shaw NEGOTIATION
Ashley X SergiJapanElwin Sharvill RENEWAL
Juan D SergiFranceStephen Shaw PROPOSAL
Wickens N RoysterAustraliaOnyama Limba RENEWAL
Ashley I DilliardSpainIoni Bowcher RENEWAL
Leon B BologniaArgentinaAmy Elsner RENEWAL
Rodrigues V BowleyUnited KingdomElwin Sharvill NEW
Maisha N DoeItalyAnna Fali QUALIFIED
Mujtaba K RulapaughItalyIoni Bowcher UNQUALIFIED
Darci N DilliardSpainAmy Elsner RENEWAL
Jefferson M FlosiUnited KingdomBernardo Dominic NEW
Smith B StockhamSpainIoni Bowcher NEGOTIATION
Johnson D AmigonRussiaElwin Sharvill NEW
Arvin M FigeroaGermanyAnna Fali QUALIFIED
Darci U MaletCanadaOnyama Limba QUALIFIED
Emily U FerenczSpainIvan Magalhaes UNQUALIFIED
Sinclair S StensethAustraliaAmy Elsner NEGOTIATION
Rodrigues E StockhamUnited KingdomIoni Bowcher NEW
Jeanfrancois Q NickaAustraliaOnyama Limba 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>