- 
                            Data Grids / Data Management- 
                Data Grid- Overview
- 
                Data Binding
- 
                Filtering
- Sorting
- 
                Editing
- 
                Grouping
- 
                Selection
- Focused Row
- Paging
- 
                Scrolling
- 
                Columns
- 
                Master-Detail
- 
                Data Summaries
- 
                Drag & Drop
- 
                Export to PDF
- 
                Export to Excel
- Appearance
- 
                Customization
- State Persistence
- 
                Adaptability
- 
                Keyboard Navigation
- Right-To-Left Support
 
- 
                Tree List- Overview
- 
                Data Binding
- 
                Filtering
- Sorting
- 
                Editing
- 
                Selection
- Focused Row
- Paging
- 
                Columns
- Drag & Drop
- State Persistence
- Adaptability
- 
                Keyboard Navigation
 
- 
                Card View
- 
                Pivot Grid- Overview
- 
                Data Binding
- 
                Field Management
- 
                Data Summaries
- Drill Down
- Filtering
- 
                Scrolling
- 
                Export to Excel
- Chart Integration
- Customization
- State Persistence
 
- 
                Filter Builder
 
- 
                
- 
                            Data Visualization- 
                Charts- Overview
- 
                Data Binding
- 
                Common Concepts- 
                Axis
- 
                Aggregation
- 
                Tooltips
- 
                Selection
- 
                Customization
- 
                Zooming
- 
                Export
 
- 
                
- 
                Area Charts
- 
                Bar Charts
- Bullet Charts
- 
                Doughnut Charts
- 
                Financial Charts
- 
                Funnel and Pyramid Charts
- 
                Line Charts
- Pareto Chart
- 
                Pie Charts
- 
                Point Charts
- 
                Polar and Radar Charts
- 
                Range Charts
- Sankey Chart
- 
                Sparkline Charts
- 
                Tree Map
 
- 
                Gauges- Overview
- 
                Runtime update
- 
                Bar Gauge
- 
                Circular Gauge
- 
                Linear Gauge
 
- 
                Diagram- Overview
- 
                Data Binding
- 
                Featured Shapes
- 
                Custom Shapes
- 
                Document Capabilities
- 
                User Interaction
- UI Customization
- Adaptability
 
 
- 
                
- 
                            Scheduling / Planning- 
                Scheduler- Overview
- 
                Data Binding
- 
                Views
- 
                Appointments
- 
                Timetable
- Editing
- 
                Grouping
- Virtual Scrolling
- Drag & Drop
- 
                Customization
- Adaptability
 
- 
                Gantt- Overview
- Data Binding
- 
                Filtering
- Sorting
- Strip Lines
- Export to PDF
- Validation
- 
                Customization
 
 
- 
                
- 
                            Reporting- 
                AI-powered Extensions
- 
                Interaction
- 
                Report Types
- 
                Data binding
- 
                Real-life Reports
- 
                Layout Features
- 
                Report Controls
- 
                Web-specific Features
 
- 
                
- 
                            Rich Text Editor- Overview
- Load/Save
- Document Protection
- 
                Templates
- Autocorrect
- 
                Customization
- Simple View
 
- 
                            Spreadsheet- Overview
- 
                Open a Document
- Export And Printing
- 
                Features
- 
                UI Customization
 
- 
                            Messaging
- 
                            WYSIWYG Editor
- 
                            Forms
- 
                            Data Editors- Overview
- 
                Common Concepts
- 
                Calendar
- Check Box
- Color Box
- Date Box
- 
                Date Range Box
- 
                Number Box
- Radio Group
- 
                Range Selector
- Range Slider
- Slider
- Speech To Text
- Switch
- Text Area
- Text Box
 
- 
                            Drop-Downs- Autocomplete
- 
                Drop Down Box
- 
                Select Box
- 
                Tag Box
- 
                Lookup
 
- 
                            Buttons
- 
                            File Upload / File Management- 
                File Manager- Overview
- 
                File System Types
- 
                Customization
 
- 
                File Uploader
 
- 
                
- 
                            Popup and Notifications
- 
                            Navigation- Overview
- Accordion
- 
                Context Menu
- 
                Menu
- Multi View
- 
                Drawer
- 
                Tab Panel
- 
                Tabs
- 
                Toolbar
- 
                Stepper
- Pagination
- 
                List
- 
                Tree View
- Right-to-Left Support
 
- 
                            Layout- 
                Tile View
- Splitter
- 
                Gallery
- Scroll View
 
- 
                
- 
                            Interactive Wrappers- 
                Sortable
- Resizable
 
- 
                
- 
                            Progress Indicators
- 
                            Maps- Overview
- 
                Map
- 
                Vector Map- 
                Data Binding
- Multiple Layers
- 
                Markers
- Legend
- 
                Zooming and Panning
- 
                Customization
 
- 
                
 
- 
                            Localization
Related Demos:
        
            Your search did not match any results.
        
    Card View - Selection
            
            Backend API
        
    @model IEnumerable<DevExtreme.NETCore.Demos.Models.CardView.Selection.Employee>
<div class="options">
    <div class="caption">Options</div>
    <div class="options-container">
        <div class="option">
            <span>Selection Mode</span>
            @(Html.DevExtreme().SelectBox()
                .ID("selection-mode")
                .DataSource(new object[] { "single", "multiple" })
                .Value("multiple")
                .InputAttr("aria-label", "Selection Mode")
                .OnValueChanged(@<text>
                    function({ value }) {
                        const cardView = $('#card-view').dxCardView('instance');
                        cardView.option('selection.mode', value);
                        cardView.clearSelection();
                        updateDisabledOptions();
                    }
                </text>)
            )
        </div>
        <div class="option">
            <span>Show Checkboxes Mode</span>
            @(Html.DevExtreme().SelectBox()
                .ID("show-checkboxes-mode")
                .DataSource(new object[] { "always", "none", "onClick", "onLongTap" })
                .Value("always")
                .InputAttr("aria-label", "Show Checkboxes Mode")
                .OnValueChanged(@<text>
                    function({ value }) {
                        const cardView = $('#card-view').dxCardView('instance');
                        cardView.option('selection.showCheckBoxesMode', value);
                        updateDisabledOptions();
                    }
                </text>)
            )
        </div>
        <div class="option">
            <span>Select All Mode</span>
            @(Html.DevExtreme().SelectBox()
                .ID("select-all-mode")
                .DataSource(new object[] { "allPages", "page" })
                .Value("allPages")
                .InputAttr("aria-label", "Select All Mode")
                .OnValueChanged(@<text>
                    function({ value }) {
                        const cardView = $('#card-view').dxCardView('instance');
                        cardView.option('selection.selectAllMode', value);
                        updateDisabledOptions();
                    }
                </text>)
            )
        </div>
        <div class="option">
            @(Html.DevExtreme().CheckBox()
                .ID("allow-select-all")
                .Text("Allow Select All")
                .Value(true)
                .OnValueChanged(@<text>
                    function({ value }) {
                        const cardView = $('#card-view').dxCardView('instance');
                        cardView.option('selection.allowSelectAll', value);
                        updateDisabledOptions();
                    }
                </text>)
            )
        </div>
    </div>
</div>
@(Html.DevExtreme().CardView()
    .ID("card-view")
    .DataSource(Model, "ID")
    .CardsPerRow(Mode.Auto)
    .CardMinWidth(300)
    .Selection(s => s.Mode(SingleMultipleOrNone.Multiple))
    .SelectedCardKeys(new object[] { 4, 6 })
    .SearchPanel(sp => sp.Visible(true))
    .CardCover(cc => {
        cc
            .ImageExpr(new JS("cardCoverImageExpr"))
            .AltExpr(new JS("cardCoverAltExpr"));
    })
    .Columns(c =>
    {            
        c.Add().DataField("FullName");
        c.Add().DataField("Position");
        c.Add().DataField("Phone");
        c.Add().DataField("Email");
    })
)
<script>
    function cardCoverImageExpr({ FullName }) {
        return `@Url.Content("~/images/employees/new")/${FullName}.jpg`;
    }
    function cardCoverAltExpr({ FullName }) {
        return `Photo of ${FullName}`;
    }
    
    function updateDisabledOptions() {
        const cardView = $('#card-view').dxCardView('instance');
        
        $("#show-checkboxes-mode").dxSelectBox('instance').option(
            'disabled',
            cardView.option('selection.mode') !== 'multiple',
        );
        $("#allow-select-all").dxCheckBox('instance').option(
            'disabled',
            cardView.option('selection.mode') !== 'multiple',
        );
        $("#select-all-mode").dxSelectBox('instance').option(
            'disabled',
            cardView.option('selection.mode') !== 'multiple' || 
            !cardView.option('selection.allowSelectAll')
        );
    }
</script>
        
        using Microsoft.AspNetCore.Mvc;
using DevExtreme.NETCore.Demos.Models.CardView.ColumnChooser;
using DevExtreme.NETCore.Demos.Models.CardView.ColumnHeaderFilter;
using DevExtreme.NETCore.Demos.Models.CardView.ColumnReordering;
using DevExtreme.NETCore.Demos.Models.CardView.DataValidation;
using DevExtreme.NETCore.Demos.Models.CardView.FilterPanel;
using DevExtreme.NETCore.Demos.Models.CardView.Overview;
using DevExtreme.NETCore.Demos.Models.CardView.PopupEditing;
using DevExtreme.NETCore.Demos.Models.CardView.SearchPanel;
using DevExtreme.NETCore.Demos.Models.CardView.Selection;
using DevExtreme.NETCore.Demos.Models.CardView.SimpleArray;
using DevExtreme.NETCore.Demos.Models.CardView.Sorting;
using DevExtreme.NETCore.Demos.Models.SampleData;
namespace DevExtreme.NETCore.Demos.Controllers {
  public class CardViewController : Controller {
    public ActionResult Selection() {
      return View(SelectionSampleData.Employees);
    }
  }
}
        
        .options {
  margin-top: 20px;
  padding: 20px;
  background-color: rgba(191, 191, 191, 0.15);
}
.options-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.caption {
  font-size: 18px;
  font-weight: 500;
}
.option {
  margin: 10px;
  width: fit-content;
}
.option > .dx-selectbox {
  width: 150px;
  display: inline-block;
  vertical-align: middle;
}
.option > span {
  margin-right: 10px;
}
        
                Use the following properties to configure CardView selection:
- allowSelectAll
 Allows users to select all or current page cards (based on selectAllMode).
- selectAllMode
 Specifies mode used to select all cards. Applies only if selection.allowSelectAll istrue.
- showCheckBoxesMode
 Specifies when to display card selection checkboxes.