Your search did not match any results.

Use Range Selection for Calculation

Documentation

The RangeSelector component allows you to handle changes of the currently selected range. For this purpose, the callback function is specified in the onValueChanged property. Select the function’s call mode using the «Handle Range Changes» drop-down menu.

Backend API
<div id="range-selector-demo"> @(Html.DevExtreme().RangeSelector() .ID("range-selector") .Margin(m => m.Top(50)) .Scale(s => s .StartValue(new DateTime(2011, 1, 1)) .EndValue(new DateTime(2011, 12, 31)) .MinorTickInterval(VizTimeInterval.Day) .TickInterval(VizTimeInterval.Month) .MinorTick(mt => mt.Visible(false)) .Marker(m => m.Visible(false)) .Label(l => l.Format("MMM")) ) .Behavior(b => b.ValueChangeMode(SliderValueChangeMode.OnHandleMove)) .SliderMarker(sm => sm.Format("dd EEEE")) .Title("Calculate the Working Days Count in a Date Period") .OnValueChanged("rangeSelector_valueChanged")) <h2>Working days count: <span id="workingDaysCount">260</span></h2> <div class="options"> <div class="caption">Options</div> <div class="option"> <span>Handle Range Changes</span> @(Html.DevExtreme().SelectBox() .ID("handle") .InputAttr("aria-label", "Value Change Mode") .DataSource(new[] { "onHandleMove", "onHandleRelease"}) .Width(210) .Value("onHandleMove") .OnValueChanged("selectBox_valueChanged")) </div> </div> </div> <script> function rangeSelector_valueChanged(e) { var currentDate = new Date(e.value[0]), workingDaysCount = 0; while (currentDate <= e.value[1]) { if(currentDate.getDay() > 0 && currentDate.getDay() < 6) { workingDaysCount++; } currentDate.setDate(currentDate.getDate() + 1); } $("#workingDaysCount").html(workingDaysCount.toFixed()); } function selectBox_valueChanged(data) { var rangeSelector = $("#range-selector").dxRangeSelector("instance"); rangeSelector.option("behavior.valueChangeMode", data.value); } </script>
using DevExtreme.AspNet.Data; using DevExtreme.AspNet.Mvc; using DevExtreme.MVC.Demos.Models.SampleData; using System.Linq; using System.Web.Mvc; namespace DevExtreme.MVC.Demos.Controllers { public class RangeSelectorController : Controller { public ActionResult UseRangeSelectionForCalculation() { return View(); } } }
#range-selector { height: 200px; } h2 { text-align: center; } .options { padding: 20px; background-color: rgba(191, 191, 191, 0.15); position: absolute; bottom: 0; left: 0; right: 0; } .option { margin-top: 10px; } .caption { font-size: 18px; font-weight: 500; } .option > span { margin-right: 10px; } .option > .dx-widget { display: inline-block; vertical-align: middle; }