Your search did not match any results.
RangeSelector

Use Range Selection for Calculation

Documentation
The RangeSelector widget allows you to handle changes of the currently selected range. For this purpose, the callback function is specified in the onValueChanged option. Select the function’s call mode using the "Handle Range Changes" drop-down menu.
<div id="range-selector-demo"> @(Html.DevExtreme().RangeSelector() .ID("range") .Margin(m => m.Top(50)) .Size(s => s.Height(200)) .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.CallValueChanged(ValueChangedCallMode.OnMoving)) .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") .DataSource(new[] { "onMoving", "onMovingComplete"}) .Width(210) .Value("onMoving") .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").dxRangeSelector("instance"); rangeSelector.option("behavior.callValueChanged", data.value); } </script>
using DevExtreme.NETCore.Demos.Models.SampleData; using Microsoft.AspNetCore.Mvc; using System.Linq; namespace DevExtreme.NETCore.Demos.Controllers { public class RangeSelectorController : Controller { public ActionResult UseRangeSelectionForCalculation() { return View(); } } }
h2 { text-align: center; } .options { padding: 20px; background-color: #f5f5f5; 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; }