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
Smith L AmigonJapanElwin Sharvill UNQUALIFIED
Kadeem V FlosiSpainXuxue Feng NEGOTIATION
Adams X DarakjyFranceIvan Magalhaes RENEWAL
Morrow W WaycottSpainOnyama Limba UNQUALIFIED
Mayumi L OstroskyJapanAmy Elsner NEW
James J StockhamSpainElwin Sharvill NEW
Ricardo N RimItalyStephen Shaw UNQUALIFIED
Ashley W RimArgentinaAmy Elsner NEGOTIATION
Emily F OstroskyBrazilOnyama Limba RENEWAL
Kadeem H GillianSpainBernardo Dominic QUALIFIED
Kaitlin N NickaItalyAmy Elsner NEW
Francesco S MaletSpainElwin Sharvill NEGOTIATION
Chavez U VenereSpainStephen Shaw RENEWAL
Aika O NickaBrazilXuxue Feng QUALIFIED
Costa R MorascaAustraliaAnna Fali NEGOTIATION
Costa O SchemmerBrazilAsiya Javayant QUALIFIED
James B MaletBrazilXuxue Feng UNQUALIFIED
Murillo C OldroydIndiaAsiya Javayant PROPOSAL
Faith F WhobreyItalyBernardo Dominic PROPOSAL
Salvatore L FollerRussiaElwin Sharvill QUALIFIED
Izzy A VocelkaJapanAnna Fali NEGOTIATION
James Q FlosiJapanAmy Elsner PROPOSAL
Stacey G CaldareraItalyStephen Shaw RENEWAL
Julie O BriddickGermanyAmy Elsner QUALIFIED
Antonio F DilliardJapanAsiya Javayant NEGOTIATION
James G NestleBrazilElwin Sharvill UNQUALIFIED
Maria O MaletCanadaStephen Shaw NEW
Aditya L WieserUnited KingdomIvan Magalhaes PROPOSAL
Ivar X RutaCanadaAsiya Javayant QUALIFIED
James G KolmetzCanadaElwin Sharvill UNQUALIFIED
Mayumi C BriddickAustraliaIoni Bowcher PROPOSAL
Faith G VocelkaRussiaAmy Elsner NEW
Aditya S KolmetzItalyBernardo Dominic NEGOTIATION
Juan T ButtSpainOnyama Limba UNQUALIFIED
Salvatore R SergiFranceElwin Sharvill NEW
Sinclair S AmigonArgentinaIvan Magalhaes RENEWAL
Jennifer V DilliardJapanBernardo Dominic RENEWAL
Leon J CaudyBrazilStephen Shaw RENEWAL
Leon W MaletRussiaXuxue Feng UNQUALIFIED
Jefferson E DilliardIndiaElwin Sharvill NEGOTIATION
Sinclair Y AlbaresItalyStephen Shaw RENEWAL
Greenwood A FigeroaArgentinaAnna Fali PROPOSAL
Octavia N WaycottIndiaXuxue Feng RENEWAL
Izzy D GillianJapanAmy Elsner NEW
Claire Z VenereItalyElwin Sharvill PROPOSAL
Juan Y ButtIndiaXuxue Feng NEW
Izzy O NestleCanadaBernardo Dominic PROPOSAL
James P RutaRussiaXuxue Feng PROPOSAL
Leja R RoysterGermanyAmy Elsner PROPOSAL
Aditya M ButtAustraliaAsiya Javayant PROPOSAL
Horizontal
NameCountryRepresentativeStatus
Murillo V ChuiCanadaAsiya Javayant RENEWAL
Salvatore S DilliardJapanOnyama Limba RENEWAL
Silvio C VenereIndiaAsiya Javayant RENEWAL
Maria G DilliardUnited KingdomStephen Shaw UNQUALIFIED
Leon I AmigonFranceBernardo Dominic QUALIFIED
Johnson A MaletItalyXuxue Feng NEW
Jennifer K WhobreyGermanyIvan Magalhaes NEGOTIATION
Smith N RoysterIndiaIoni Bowcher RENEWAL
Tony B OldroydItalyXuxue Feng QUALIFIED
Sinclair K FerenczBrazilIvan Magalhaes RENEWAL
Horizontal and Vertical
IdNameCountryDateCompanyStatusActivityRepresentative
1000Antonio W TollnerArgentina2024-06-17Printing Dimensions PROPOSAL12Elwin Sharvill
1001Alejandro R KuskoArgentina2024-06-15Feiner Bros NEW64Onyama Limba
1002Kadeem U DoeRussia2024-05-27Feltz Printing Service NEW13Amy Elsner
1003Aditya V ButtBrazil2024-06-06Dorl, James J Esq PROPOSAL97Onyama Limba
1004Faith Z FollerBrazil2024-06-20Printing Dimensions PROPOSAL6Elwin Sharvill
1005Julie U ShinkoArgentina2024-06-17Commercial Press RENEWAL78Ivan Magalhaes
1006Jones Y KolmetzGermany2024-06-19Printing Dimensions UNQUALIFIED62Asiya Javayant
1007Maria B FollerCanada2024-05-30Feltz Printing Service PROPOSAL7Elwin Sharvill
1008Ivar I OldroydRussia2024-06-18Chapman, Ross E Esq NEW77Asiya Javayant
1009Izzy I RimFrance2024-06-13Benton, John B Jr NEGOTIATION79Elwin Sharvill
1010Greenwood Y RutaBrazil2024-06-12Chemel, James L Cpa QUALIFIED84Stephen Shaw
1011Clifford E SlusarskiIndia2024-05-31King, Christopher A Esq UNQUALIFIED60Anna Fali
1012Munro Q WaycottArgentina2024-06-21Rangoni Of Florence UNQUALIFIED36Anna Fali
1013Faith P ChuiGermany2024-05-24Chanay, Jeffrey A Esq RENEWAL35Onyama Limba
1014Claire M NestleSpain2024-05-28Commercial Press QUALIFIED86Xuxue Feng
1015Nicolas C PoquetteSpain2024-05-24Feiner Bros QUALIFIED40Ivan Magalhaes
1016Mayumi Q ChuiUnited Kingdom2024-05-25Morlong Associates NEGOTIATION4Amy Elsner
1017Aika S BriddickUnited Kingdom2024-06-01Feiner Bros QUALIFIED96Onyama Limba
1018Stacey C DoeGermany2024-06-19Chanay, Jeffrey A Esq NEW12Ioni Bowcher
1019Juan P VocelkaArgentina2024-06-05Dorl, James J Esq NEW5Onyama Limba
1020Leon N MarrierCanada2024-06-11Benton, John B Jr RENEWAL21Stephen Shaw
1021Jones G TollnerUnited Kingdom2024-05-28Dorl, James J Esq QUALIFIED60Ioni Bowcher
1022Alejandro T SaylorsGermany2024-06-20Chanay, Jeffrey A Esq NEGOTIATION63Amy Elsner
1023Adams T BologniaJapan2024-06-01Dorl, James J Esq NEGOTIATION94Stephen Shaw
1024Stacey F SaylorsGermany2024-05-23Commercial Press RENEWAL84Elwin Sharvill
1025Jennifer A MaletSpain2024-06-12Feiner Bros NEW22Onyama Limba
1026Stacey T VenereArgentina2024-06-03Chanay, Jeffrey A Esq PROPOSAL13Onyama Limba
1027Claire D MarrierSpain2024-06-17Feiner Bros UNQUALIFIED12Anna Fali
1028Isabel P VocelkaIndia2024-06-05Rangoni Of Florence RENEWAL93Amy Elsner
1029Aditya Y IturbideGermany2024-06-05Rangoni Of Florence UNQUALIFIED84Xuxue Feng
1030Claire M RoysterFrance2024-05-24Printing Dimensions UNQUALIFIED77Amy Elsner
1031Jeanfrancois N OldroydBrazil2024-06-12Benton, John B Jr NEW42Anna Fali
1032Murillo H SergiGermany2024-06-10Feiner Bros QUALIFIED54Ioni Bowcher
1033Aika O MaletBrazil2024-05-24King, Christopher A Esq QUALIFIED10Bernardo Dominic
1034Stacey G FollerFrance2024-06-17Chanay, Jeffrey A Esq PROPOSAL73Elwin Sharvill
1035Greenwood K BriddickItaly2024-06-21Dorl, James J Esq PROPOSAL46Onyama Limba
1036Maisha C FigeroaArgentina2024-05-30Benton, John B Jr NEGOTIATION61Anna Fali
1037Salvatore F RutaAustralia2024-05-29Buckley Miller Wright UNQUALIFIED92Bernardo Dominic
1038Leja D KolmetzSpain2024-06-08Benton, John B Jr NEGOTIATION95Stephen Shaw
1039Smith Y TollnerGermany2024-06-13Rousseaux, Michael Esq RENEWAL51Ivan Magalhaes
1040Rodrigues B WieserSpain2024-06-03Rangoni Of Florence NEW37Asiya Javayant
1041Wickens M GillianUnited Kingdom2024-05-26Chapman, Ross E Esq RENEWAL26Ivan Magalhaes
1042Juan B CaldareraGermany2024-06-05Buckley Miller Wright RENEWAL12Asiya Javayant
1043Greenwood B GarufiSpain2024-05-26Rangoni Of Florence PROPOSAL40Asiya Javayant
1044James G MorascaIndia2024-06-04Truhlar And Truhlar Attys QUALIFIED13Xuxue Feng
1045Leja D ChuiGermany2024-06-09Commercial Press NEGOTIATION95Amy Elsner
1046Maria C AmigonGermany2024-06-10Feiner Bros RENEWAL78Elwin Sharvill
1047Emily E BriddickBrazil2024-06-20Chapman, Ross E Esq NEW60Ivan Magalhaes
1048Wickens X MacleadGermany2024-06-01Rangoni Of Florence NEW59Xuxue Feng
1049Greenwood M ChuiItaly2024-06-12Rousseaux, Michael Esq NEW14Amy Elsner
Frozen Rows
NameCountryRepresentativeStatus
Wickens H FigeroaCanadaIvan Magalhaes NEW
Maisha C ChuiRussiaIoni Bowcher PROPOSAL
Arvin W BowleyArgentinaAmy Elsner NEW
Juan E GillianCanadaOnyama Limba NEW
Sinclair E PoquetteFranceAsiya Javayant RENEWAL
Aruna J RimIndiaBernardo Dominic NEW
Misaki I BowleyBrazilAsiya Javayant NEW
Costa N PoquetteSpainIoni Bowcher PROPOSAL
Ricardo C DarakjyIndiaXuxue Feng RENEWAL
Aruna I NestleCanadaOnyama Limba NEGOTIATION
Wickens L SchemmerItalyOnyama Limba QUALIFIED
Leon N KuskoArgentinaAmy Elsner NEW
Jennifer P RulapaughAustraliaAsiya Javayant QUALIFIED
Aika G GlickGermanyAmy Elsner NEW
Aika J ChuiGermanyAnna Fali QUALIFIED
Stacey J BowleyRussiaElwin Sharvill NEGOTIATION
Izzy I GillianJapanAmy Elsner NEGOTIATION
Murillo O MorascaItalyStephen Shaw NEW
Mujtaba R KuskoUnited KingdomIvan Magalhaes RENEWAL
Julie Q RutaUnited KingdomIvan Magalhaes UNQUALIFIED
Alejandro O ChuiItalyBernardo Dominic PROPOSAL
Clifford J ButtUnited KingdomIvan Magalhaes NEW
Kadeem J TollnerItalyOnyama Limba NEW
Clifford N GauchoItalyOnyama Limba NEW
Isabel L StensethJapanOnyama Limba NEGOTIATION
Cody S OstroskyFranceStephen Shaw PROPOSAL
Jeanfrancois D GarufiArgentinaXuxue Feng RENEWAL
Chavez A MorascaGermanyAnna Fali QUALIFIED
Clifford Y VenereRussiaIoni Bowcher RENEWAL
Kadeem L CaldareraRussiaAmy Elsner PROPOSAL
Octavia I WieserUnited KingdomIvan Magalhaes NEW
Mayumi W ButtItalyIvan Magalhaes RENEWAL
Costa S MaletRussiaAmy Elsner PROPOSAL
Stacey Z OstroskyUnited KingdomAmy Elsner NEGOTIATION
Jeanfrancois Z MaletUnited KingdomElwin Sharvill NEW
Aditya B StockhamArgentinaOnyama Limba NEW
Mujtaba W BowleyGermanyAmy Elsner NEW
Jennifer U GauchoItalyElwin Sharvill NEGOTIATION
Leja R MacleadFranceIvan Magalhaes UNQUALIFIED
Chavez V InouyeGermanyXuxue Feng PROPOSAL
Rodrigues R ChuiSpainXuxue Feng RENEWAL
Munro S VocelkaArgentinaStephen Shaw RENEWAL
Julie Z CampainCanadaIvan Magalhaes UNQUALIFIED
Sinclair W MacleadCanadaIvan Magalhaes PROPOSAL
Aditya S SaylorsUnited KingdomXuxue Feng NEW
Maisha F CampainGermanyStephen Shaw UNQUALIFIED
Maisha C MarrierIndiaBernardo Dominic PROPOSAL
Rodrigues H StensethRussiaXuxue Feng QUALIFIED
Kaitlin V RutaItalyStephen Shaw QUALIFIED
Ashley I GillianGermanyAsiya Javayant RENEWAL
Frozen Columns
Name
David B Saylors
Johnson K Stockham
Chavez L Foller
Nicolas U Ruta
David R Malet
Wickens C Flosi
James V Albares
Murillo T Paprocki
Chavez A Shinko
Rodrigues R Chui
Mujtaba A Caldarera
Arvin E Butt
Murillo X Stockham
Murillo T Campain
Morrow H Whobrey
Emily Y Caldarera
Jefferson B Amigon
Maisha F Maclead
Aditya Z Royster
Maisha U Rim
Leon A Schemmer
Kadeem U Stenseth
Stacey W Briddick
Mujtaba Z Wieser
Silvio S Glick
Greenwood M Vocelka
Murillo F Slusarski
Stacey O Doe
Izzy Q Albares
Salvatore I Slusarski
Claire V Shinko
Antonio C Darakjy
Deepesh M Paprocki
Cody P Iturbide
Cody E Iturbide
Kaitlin F Stockham
Stacey W Dilliard
Jeanfrancois B Foller
Clifford U Doe
Costa O Venere
Salvatore S Butt
Aruna O Garufi
Emily E Ruta
Kadeem M Dilliard
Maria G Venere
Octavia K Nestle
Jeanfrancois R Iturbide
Antonio C Saylors
Aika H Poquette
Rodrigues Y Chui
IdCountryDate
1000Brazil2024-05-25
1001Argentina2024-06-07
1002United Kingdom2024-06-11
1003United Kingdom2024-05-25
1004Brazil2024-05-31
1005Spain2024-06-07
1006Italy2024-06-11
1007Germany2024-06-07
1008Brazil2024-06-05
1009Japan2024-06-12
1010Canada2024-06-11
1011Brazil2024-06-05
1012Spain2024-05-26
1013Russia2024-06-05
1014Japan2024-06-07
1015Argentina2024-05-29
1016Japan2024-06-07
1017Argentina2024-06-11
1018Japan2024-06-08
1019Japan2024-06-11
1020United Kingdom2024-06-10
1021Italy2024-05-29
1022Australia2024-06-12
1023Japan2024-05-31
1024India2024-06-17
1025Canada2024-06-06
1026Brazil2024-06-08
1027Italy2024-06-03
1028Brazil2024-06-04
1029Canada2024-06-13
1030Australia2024-06-12
1031Argentina2024-06-20
1032Germany2024-05-30
1033Brazil2024-06-06
1034Australia2024-06-09
1035Argentina2024-05-26
1036France2024-06-10
1037Japan2024-06-21
1038Japan2024-05-29
1039India2024-06-06
1040Italy2024-06-08
1041Argentina2024-06-13
1042Russia2024-05-26
1043United Kingdom2024-05-31
1044Italy2024-05-26
1045Japan2024-06-17
1046Brazil2024-06-08
1047Australia2024-05-27
1048Italy2024-06-15
1049Australia2024-05-26

On-Demand Data

NameIdCountryDate
Salvatore R Garufi1000Germany2024-06-19
Clifford J Slusarski1001Argentina2024-06-06
Nicolas O Kolmetz1002Australia2024-06-16
Costa H Chui1003Brazil2024-06-17
Jennifer U Iturbide1004Italy2024-06-01
Kaitlin J Perin1005United Kingdom2024-06-10
Antonio H Gillian1006Japan2024-05-27
Octavia V Glick1007Spain2024-06-02
Octavia Z Caldarera1008Spain2024-05-29
Mayumi Y Nicka1009Australia2024-05-26
Mayumi T Caldarera1010Australia2024-06-02
Adams B Paprocki1011Germany2024-06-11
Octavia F Doe1012Japan2024-05-26
Stacey R Doe1013Russia2024-06-10
Jeanfrancois O Butt1014France2024-05-31
David D Poquette1015Japan2024-06-03
Kaitlin F Kolmetz1016Canada2024-06-05
Aruna Z Slusarski1017Argentina2024-06-14
Tony R Caudy1018Argentina2024-06-20
Silvio I Caudy1019Italy2024-05-30
Virtual Scrolling - 20000 Rows
NameCountryRepresentativeStatus
James P FollerGermanyXuxue Feng UNQUALIFIED
Maria X VenereIndiaOnyama Limba UNQUALIFIED
James P WhobreyRussiaAmy Elsner NEGOTIATION
Salvatore Y PoquetteBrazilOnyama Limba NEGOTIATION
Sinclair A WhobreyGermanyAsiya Javayant PROPOSAL
Francesco T BowleyUnited KingdomXuxue Feng PROPOSAL
Juan L GillianGermanyAmy Elsner PROPOSAL
Leja M SchemmerItalyOnyama Limba UNQUALIFIED
Rodrigues S StockhamAustraliaAnna Fali QUALIFIED
Rodrigues W OstroskyArgentinaIoni Bowcher RENEWAL
Smith G OldroydAustraliaBernardo Dominic NEGOTIATION
Faith Y VenereRussiaElwin Sharvill RENEWAL
Francesco V GillianSpainIoni Bowcher RENEWAL
Munro R FerenczUnited KingdomAnna Fali NEGOTIATION
Clifford C WhobreyArgentinaIvan Magalhaes UNQUALIFIED
Aditya Q SlusarskiIndiaOnyama Limba NEGOTIATION
Claire W FigeroaAustraliaElwin Sharvill NEGOTIATION
Faith T PerinSpainXuxue Feng NEW
James U MarrierBrazilStephen Shaw PROPOSAL
Morrow X MarrierGermanyAsiya Javayant QUALIFIED
Octavia B WieserBrazilIoni Bowcher RENEWAL
Jefferson D StensethArgentinaBernardo Dominic RENEWAL
Aika M ShinkoUnited KingdomIoni Bowcher QUALIFIED
Rodrigues W InouyeSpainXuxue Feng UNQUALIFIED
Morrow O DarakjyRussiaAsiya Javayant NEGOTIATION
Ricardo V PerinCanadaIvan Magalhaes NEW
Octavia B AmigonFranceAmy Elsner PROPOSAL
Maria L MorascaUnited KingdomIvan Magalhaes NEW
Aika P NestleJapanXuxue Feng NEW
Aika B OstroskyIndiaStephen Shaw QUALIFIED
Faith U KolmetzGermanyAnna Fali NEW
Leon A RimRussiaStephen Shaw QUALIFIED
Octavia B MacleadGermanyAnna Fali UNQUALIFIED
Arvin E PoquetteItalyAnna Fali RENEWAL
Kadeem N BologniaFranceBernardo Dominic RENEWAL
Deepesh G ChuiBrazilAmy Elsner RENEWAL
Emily G InouyeAustraliaOnyama Limba NEW
Alejandro H WieserAustraliaAsiya Javayant RENEWAL
David Q PoquetteGermanyIoni Bowcher NEW
Chavez S CaudyGermanyAsiya Javayant 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>