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
Arvin G GarufiUnited KingdomBernardo Dominic NEW
Ricardo G StockhamArgentinaElwin Sharvill QUALIFIED
Mujtaba E FerenczAustraliaElwin Sharvill QUALIFIED
Antonio Z FigeroaRussiaElwin Sharvill NEW
Arvin U TollnerFranceAnna Fali UNQUALIFIED
Costa Z KuskoArgentinaAmy Elsner NEGOTIATION
Jefferson X StockhamFranceXuxue Feng UNQUALIFIED
Ivar Z CampainIndiaOnyama Limba NEW
Jones V NickaArgentinaBernardo Dominic UNQUALIFIED
Clifford D GlickGermanyAsiya Javayant UNQUALIFIED
Aruna Z RutaCanadaElwin Sharvill UNQUALIFIED
Izzy W ButtSpainOnyama Limba QUALIFIED
Francesco J VenereItalyElwin Sharvill NEGOTIATION
Kadeem E DoeUnited KingdomOnyama Limba RENEWAL
Juan A MarrierArgentinaAsiya Javayant PROPOSAL
Jennifer A CaudyAustraliaBernardo Dominic QUALIFIED
Misaki G MaletBrazilIvan Magalhaes QUALIFIED
Isabel D GauchoSpainStephen Shaw RENEWAL
Misaki E AmigonJapanStephen Shaw NEW
Octavia B InouyeAustraliaXuxue Feng QUALIFIED
Jones I KuskoAustraliaAsiya Javayant PROPOSAL
Stacey L DarakjyItalyIoni Bowcher PROPOSAL
Alejandro S FollerJapanAnna Fali RENEWAL
Isabel A RutaFranceAsiya Javayant UNQUALIFIED
Claire J StensethCanadaBernardo Dominic UNQUALIFIED
Chavez J RulapaughFranceBernardo Dominic NEGOTIATION
Mayumi N WaycottIndiaElwin Sharvill RENEWAL
Ivar U PoquetteFranceAnna Fali RENEWAL
Kadeem D GlickSpainXuxue Feng UNQUALIFIED
Jennifer N RulapaughIndiaIoni Bowcher NEW
Wickens P WaycottAustraliaStephen Shaw NEW
Leja E PaprockiFranceStephen Shaw QUALIFIED
Arvin U SaylorsCanadaStephen Shaw UNQUALIFIED
Juan Y RulapaughItalyBernardo Dominic QUALIFIED
James C SchemmerGermanyElwin Sharvill UNQUALIFIED
Emily H IturbideSpainAnna Fali QUALIFIED
Cody B NickaFranceXuxue Feng PROPOSAL
Isabel M WhobreyUnited KingdomElwin Sharvill QUALIFIED
Murillo K CampainIndiaOnyama Limba QUALIFIED
Kaitlin J CaldareraJapanOnyama Limba UNQUALIFIED
Ivar B StockhamGermanyXuxue Feng NEW
Johnson C GauchoFranceAnna Fali NEW
Chavez A NestleFranceXuxue Feng NEGOTIATION
Jennifer B GarufiSpainIvan Magalhaes NEGOTIATION
Maisha M AlbaresArgentinaAmy Elsner PROPOSAL
Alejandro E NestleArgentinaIoni Bowcher RENEWAL
Tony I RoysterAustraliaElwin Sharvill PROPOSAL
Arvin J OstroskyGermanyStephen Shaw RENEWAL
Aika H BowleyUnited KingdomElwin Sharvill QUALIFIED
Stacey V PaprockiItalyAsiya Javayant NEGOTIATION
Horizontal
NameCountryRepresentativeStatus
Clifford C WieserGermanyXuxue Feng QUALIFIED
Deepesh D GillianJapanAsiya Javayant QUALIFIED
Mujtaba X PerinJapanElwin Sharvill UNQUALIFIED
Alejandro B FlosiIndiaIvan Magalhaes NEGOTIATION
Murillo W RulapaughJapanBernardo Dominic PROPOSAL
Stacey C CaudyCanadaOnyama Limba NEW
Rodrigues U RulapaughUnited KingdomStephen Shaw QUALIFIED
Kaitlin Y VocelkaJapanStephen Shaw NEGOTIATION
Smith S PerinAustraliaAnna Fali NEW
Greenwood S NestleCanadaAsiya Javayant RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000David F TollnerAustralia2025-05-20Chapman, Ross E Esq PROPOSAL70Amy Elsner
1001Deepesh W FlosiBrazil2025-06-01King, Christopher A Esq NEGOTIATION86Ivan Magalhaes
1002Emily H FlosiAustralia2025-05-31Chemel, James L Cpa RENEWAL6Onyama Limba
1003Izzy U RulapaughFrance2025-06-06Benton, John B Jr NEW44Elwin Sharvill
1004Clifford X MarrierBrazil2025-05-17Morlong Associates NEGOTIATION57Ioni Bowcher
1005Aditya Q NickaSpain2025-05-28Commercial Press PROPOSAL36Bernardo Dominic
1006Julie Z CaldareraAustralia2025-05-23Feiner Bros PROPOSAL44Elwin Sharvill
1007Deepesh R SchemmerBrazil2025-05-21Morlong Associates NEW48Ioni Bowcher
1008Salvatore X FerenczAustralia2025-05-22Chemel, James L Cpa UNQUALIFIED49Amy Elsner
1009Munro S FigeroaIndia2025-06-15Morlong Associates NEW57Ioni Bowcher
1010Emily F WaycottBrazil2025-05-20Commercial Press NEGOTIATION17Asiya Javayant
1011Ricardo J ChuiUnited Kingdom2025-05-27Morlong Associates QUALIFIED70Amy Elsner
1012Juan R MacleadFrance2025-06-03Feltz Printing Service UNQUALIFIED85Xuxue Feng
1013Julie A DilliardFrance2025-06-12Dorl, James J Esq UNQUALIFIED46Xuxue Feng
1014Sinclair F StockhamArgentina2025-05-29Commercial Press UNQUALIFIED78Bernardo Dominic
1015Misaki O ChuiUnited Kingdom2025-06-14Truhlar And Truhlar Attys NEGOTIATION28Stephen Shaw
1016Tony K RimJapan2025-06-09Morlong Associates RENEWAL62Elwin Sharvill
1017Deepesh V CaldareraArgentina2025-05-23King, Christopher A Esq QUALIFIED70Bernardo Dominic
1018Cody M WhobreyArgentina2025-05-25Feiner Bros PROPOSAL46Bernardo Dominic
1019Maria E CaldareraAustralia2025-05-20Chemel, James L Cpa QUALIFIED44Amy Elsner
1020Maria E ButtCanada2025-05-31Printing Dimensions NEGOTIATION20Asiya Javayant
1021Aditya B StensethUnited Kingdom2025-06-12Chapman, Ross E Esq PROPOSAL50Onyama Limba
1022Rodrigues U GlickItaly2025-05-29Morlong Associates RENEWAL34Anna Fali
1023Mujtaba C OldroydAustralia2025-06-03Printing Dimensions NEW60Anna Fali
1024Leon R GlickIndia2025-05-18Chanay, Jeffrey A Esq NEW9Stephen Shaw
1025Jefferson G AmigonUnited Kingdom2025-06-11Feiner Bros NEW91Elwin Sharvill
1026Nicolas A FlosiSpain2025-06-01Chapman, Ross E Esq UNQUALIFIED99Ivan Magalhaes
1027Greenwood H BriddickFrance2025-06-13Benton, John B Jr UNQUALIFIED20Ioni Bowcher
1028Arvin M WaycottArgentina2025-06-13Chanay, Jeffrey A Esq UNQUALIFIED16Ivan Magalhaes
1029Darci U AlbaresItaly2025-05-24Feiner Bros PROPOSAL46Ivan Magalhaes
1030Jeanfrancois X FollerCanada2025-06-15Dorl, James J Esq PROPOSAL48Ioni Bowcher
1031Clifford F OstroskyItaly2025-05-21Chanay, Jeffrey A Esq UNQUALIFIED40Stephen Shaw
1032Jones R BologniaFrance2025-06-04Commercial Press RENEWAL0Xuxue Feng
1033Arvin O MarrierJapan2025-06-13King, Christopher A Esq NEW68Elwin Sharvill
1034Cody M BowleyBrazil2025-06-12Morlong Associates PROPOSAL52Amy Elsner
1035Claire H InouyeGermany2025-05-31Truhlar And Truhlar Attys NEW19Amy Elsner
1036Misaki S SaylorsRussia2025-06-04Benton, John B Jr QUALIFIED23Anna Fali
1037Darci S ButtFrance2025-05-26Feiner Bros UNQUALIFIED54Amy Elsner
1038Mujtaba W FerenczGermany2025-05-27Chanay, Jeffrey A Esq RENEWAL59Bernardo Dominic
1039James W NickaSpain2025-06-05Chapman, Ross E Esq PROPOSAL7Amy Elsner
1040Julie C RutaIndia2025-05-31Feiner Bros RENEWAL23Xuxue Feng
1041Leon D DilliardGermany2025-05-19Chemel, James L Cpa UNQUALIFIED23Amy Elsner
1042Julie B InouyeIndia2025-05-24Morlong Associates PROPOSAL60Bernardo Dominic
1043Costa R MarrierItaly2025-06-06Dorl, James J Esq RENEWAL76Elwin Sharvill
1044Julie R GillianJapan2025-06-02Benton, John B Jr PROPOSAL48Xuxue Feng
1045Ricardo S DilliardBrazil2025-06-02Benton, John B Jr PROPOSAL47Stephen Shaw
1046Ricardo W AlbaresSpain2025-06-09Morlong Associates RENEWAL81Onyama Limba
1047Antonio A AmigonFrance2025-06-11Buckley Miller Wright PROPOSAL36Stephen Shaw
1048Maria L NestleJapan2025-06-14Dorl, James J Esq NEGOTIATION98Onyama Limba
1049Aditya Z TollnerCanada2025-05-17Truhlar And Truhlar Attys NEW71Ivan Magalhaes
Frozen Rows
NameCountryRepresentativeStatus
Jeanfrancois O WaycottBrazilStephen Shaw UNQUALIFIED
Stacey J WaycottGermanyIoni Bowcher RENEWAL
Smith P MaletUnited KingdomAmy Elsner QUALIFIED
Wickens K FerenczArgentinaAsiya Javayant UNQUALIFIED
Darci R MorascaArgentinaAmy Elsner QUALIFIED
Aditya P InouyeIndiaElwin Sharvill UNQUALIFIED
Ricardo M ChuiRussiaBernardo Dominic RENEWAL
Ricardo B PoquetteIndiaStephen Shaw RENEWAL
Maria M RoysterAustraliaAsiya Javayant QUALIFIED
Rodrigues D TollnerAustraliaOnyama Limba UNQUALIFIED
Chavez Z StockhamJapanStephen Shaw NEGOTIATION
Morrow F KuskoCanadaIvan Magalhaes NEGOTIATION
Emily F RulapaughFranceBernardo Dominic UNQUALIFIED
Ashley Z AmigonAustraliaElwin Sharvill PROPOSAL
Faith T RutaJapanAnna Fali QUALIFIED
Johnson T StensethBrazilStephen Shaw NEW
Ricardo N TollnerCanadaElwin Sharvill UNQUALIFIED
Claire C FlosiJapanXuxue Feng UNQUALIFIED
Tony Q GarufiUnited KingdomIvan Magalhaes UNQUALIFIED
Johnson P BowleyCanadaAsiya Javayant PROPOSAL
Juan E DoeGermanyXuxue Feng NEW
Kaitlin C VocelkaGermanyBernardo Dominic RENEWAL
Maisha I DilliardCanadaAmy Elsner NEGOTIATION
David P WieserJapanXuxue Feng PROPOSAL
Murillo V StensethGermanyAmy Elsner UNQUALIFIED
Alejandro B DilliardArgentinaBernardo Dominic RENEWAL
Jennifer U NickaRussiaOnyama Limba UNQUALIFIED
Aditya N GarufiSpainIvan Magalhaes PROPOSAL
Costa J DoeIndiaAnna Fali PROPOSAL
Julie M ButtSpainAnna Fali QUALIFIED
Mujtaba C RutaArgentinaIoni Bowcher NEGOTIATION
Aruna M NickaRussiaIoni Bowcher NEGOTIATION
Jennifer R WieserArgentinaXuxue Feng QUALIFIED
Chavez A KuskoUnited KingdomBernardo Dominic NEGOTIATION
Jeanfrancois H NestleCanadaIvan Magalhaes UNQUALIFIED
Ashley T MacleadUnited KingdomIvan Magalhaes QUALIFIED
Ivar A SergiCanadaIvan Magalhaes PROPOSAL
Izzy P GarufiRussiaIvan Magalhaes UNQUALIFIED
Murillo G BriddickJapanElwin Sharvill RENEWAL
Nicolas A GauchoIndiaBernardo Dominic RENEWAL
Izzy G ChuiSpainBernardo Dominic NEGOTIATION
Leja F SchemmerItalyIvan Magalhaes RENEWAL
Faith N DoeJapanXuxue Feng UNQUALIFIED
Arvin V GauchoCanadaXuxue Feng QUALIFIED
Kadeem B FlosiIndiaStephen Shaw NEW
Misaki E FollerArgentinaIvan Magalhaes PROPOSAL
Morrow S MaletRussiaAmy Elsner UNQUALIFIED
Greenwood Q RoysterIndiaElwin Sharvill NEGOTIATION
Greenwood F MaletJapanElwin Sharvill NEW
James P RimSpainXuxue Feng UNQUALIFIED
Frozen Columns
Name
Munro X Malet
Alejandro M Malet
Misaki Q Gaucho
Izzy G Kolmetz
Isabel T Saylors
Antonio F Paprocki
Leon U Vocelka
Maria V Briddick
Greenwood S Saylors
Juan C Gaucho
Ashley J Slusarski
Mujtaba E Campain
Jeanfrancois T Gillian
Deepesh S Doe
Deepesh E Gillian
Misaki O Morasca
Arvin N Malet
Maisha F Briddick
Chavez O Saylors
Adams P Figeroa
Octavia Q Saylors
Greenwood W Vocelka
Francesco J Ferencz
Maisha H Amigon
Munro G Ruta
Leon T Sergi
Johnson U Caldarera
Costa E Stockham
Chavez Z Marrier
Ashley G Perin
Smith K Morasca
Mujtaba Z Butt
Chavez Y Kolmetz
Darci V Gaucho
Mujtaba M Gaucho
Isabel U Nicka
Jones P Marrier
Antonio C Sergi
Leja D Waycott
Sinclair Z Paprocki
Morrow G Bowley
Jones A Caudy
Maisha P Rim
Jeanfrancois M Nestle
Salvatore Y Bolognia
Munro A Rulapaugh
Jefferson D Royster
Emily C Rim
Jones V Glick
Adams J Marrier
IdCountryDate
1000Russia2025-06-15
1001Germany2025-05-26
1002Spain2025-06-12
1003France2025-05-26
1004France2025-06-04
1005Germany2025-05-30
1006Japan2025-05-19
1007Spain2025-05-23
1008Japan2025-06-03
1009Canada2025-06-08
1010Spain2025-05-22
1011India2025-05-25
1012Australia2025-06-07
1013Italy2025-06-12
1014Canada2025-06-02
1015Spain2025-06-01
1016United Kingdom2025-05-23
1017Italy2025-05-26
1018Argentina2025-05-21
1019Argentina2025-06-03
1020Japan2025-05-22
1021Japan2025-05-27
1022Australia2025-06-07
1023Russia2025-06-10
1024India2025-05-22
1025Japan2025-05-27
1026India2025-06-08
1027Canada2025-05-18
1028Italy2025-05-25
1029Italy2025-05-29
1030Germany2025-05-20
1031Brazil2025-05-31
1032Brazil2025-05-24
1033Japan2025-06-09
1034Brazil2025-05-30
1035Brazil2025-05-18
1036India2025-06-13
1037Argentina2025-06-09
1038Germany2025-05-17
1039United Kingdom2025-06-13
1040Brazil2025-06-09
1041Canada2025-06-09
1042Germany2025-05-21
1043France2025-06-07
1044Italy2025-06-14
1045Spain2025-06-15
1046Canada2025-06-08
1047Argentina2025-06-06
1048Canada2025-05-17
1049Italy2025-05-24

On-Demand Data

NameIdCountryDate
Clifford I Albares1000Russia2025-05-18
Emily C Malet1001Germany2025-05-25
Smith P Stockham1002Brazil2025-05-19
Jeanfrancois J Glick1003France2025-05-25
Claire I Waycott1004Japan2025-05-30
Nicolas G Iturbide1005Canada2025-05-20
James U Chui1006Germany2025-06-15
Aruna V Figeroa1007Canada2025-06-11
Morrow C Gillian1008Brazil2025-06-06
Antonio M Kolmetz1009Spain2025-06-07
Jones Q Gillian1010Italy2025-05-25
Wickens S Doe1011United Kingdom2025-05-20
Ashley L Wieser1012Italy2025-06-14
Jeanfrancois V Darakjy1013France2025-06-08
Mayumi W Waycott1014Australia2025-05-24
Leja W Paprocki1015Brazil2025-06-02
Smith Z Sergi1016Australia2025-05-20
David V Nestle1017Russia2025-05-27
Jeanfrancois H Vocelka1018France2025-06-06
Salvatore V Kusko1019Russia2025-06-03
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
Mujtaba G PoquetteFranceXuxue Feng NEGOTIATION
Munro B FlosiFranceStephen Shaw QUALIFIED
Maria C WieserGermanyBernardo Dominic PROPOSAL
Tony F FollerGermanyBernardo Dominic NEGOTIATION
James R WieserAustraliaAmy Elsner UNQUALIFIED
Maisha V BriddickIndiaStephen Shaw QUALIFIED
Morrow E ChuiGermanyAmy Elsner NEW
Jennifer K GauchoFranceIoni Bowcher UNQUALIFIED
Darci N SchemmerAustraliaBernardo Dominic RENEWAL
Smith K GauchoArgentinaXuxue Feng NEGOTIATION
Ivar T RulapaughIndiaBernardo Dominic UNQUALIFIED
Johnson B SlusarskiItalyOnyama Limba NEGOTIATION
Murillo Q FollerSpainOnyama Limba QUALIFIED
Mujtaba C BowleyGermanyElwin Sharvill UNQUALIFIED
Tony U GarufiRussiaAmy Elsner QUALIFIED
Aruna R MacleadCanadaStephen Shaw PROPOSAL
Clifford G SlusarskiUnited KingdomIoni Bowcher UNQUALIFIED
Salvatore Q PerinIndiaXuxue Feng QUALIFIED
James Z StockhamFranceOnyama Limba NEW
Greenwood E MaletGermanyOnyama Limba RENEWAL
Leon X BologniaItalyAnna Fali NEGOTIATION
Deepesh G GauchoGermanyIvan Magalhaes NEGOTIATION
Claire T VenereSpainAsiya Javayant RENEWAL
David K NestleRussiaAmy Elsner RENEWAL
Jefferson N SergiGermanyElwin Sharvill NEGOTIATION
Mayumi H CaudyBrazilAsiya Javayant UNQUALIFIED
Kadeem O VenereArgentinaOnyama Limba NEGOTIATION
Julie L SlusarskiSpainOnyama Limba RENEWAL
Greenwood N PaprockiJapanElwin Sharvill PROPOSAL
Tony W SlusarskiSpainIvan Magalhaes UNQUALIFIED
Silvio I CaudyCanadaAsiya Javayant UNQUALIFIED
Misaki B FerenczAustraliaIvan Magalhaes NEW
Morrow X CaldareraItalyAsiya Javayant UNQUALIFIED
Aruna Y BowleyJapanAsiya Javayant NEGOTIATION
Darci E MorascaJapanBernardo Dominic NEGOTIATION
James Z OldroydIndiaElwin Sharvill NEGOTIATION
Darci M StockhamRussiaIvan Magalhaes RENEWAL
Johnson Y GlickFranceOnyama Limba QUALIFIED
Sinclair C SergiGermanyAnna Fali RENEWAL
David F NickaArgentinaAmy Elsner 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>